@artisan-commerce/analytics-rn 0.3.0-canary.7 → 0.3.0-canary.71
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/CHANGELOG.md +524 -0
- package/dist/bundle.cjs.js +13625 -0
- package/dist/bundle.cjs.js.map +1 -0
- package/dist/bundle.d.ts +5467 -0
- package/dist/bundle.esm.js +13612 -0
- package/dist/bundle.esm.js.map +1 -0
- package/package.json +29 -60
- package/build/analytics-rn/src/config/constants.d.ts +0 -2
- package/build/analytics-rn/src/index.d.ts +0 -10
- package/build/analytics-rn/src/lib/events/auth/changePasswordAttempt/changePasswordAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/auth/changePasswordAttempt/changePasswordAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/auth/changePasswordAttempt/changePasswordAttempt.types.d.ts +0 -19
- package/build/analytics-rn/src/lib/events/auth/changePasswordFail/changePasswordFail.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/auth/changePasswordFail/changePasswordFail.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/auth/changePasswordFail/changePasswordFail.types.d.ts +0 -22
- package/build/analytics-rn/src/lib/events/auth/changePasswordSuccess/changePasswordSuccess.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/auth/changePasswordSuccess/changePasswordSuccess.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/auth/changePasswordSuccess/changePasswordSuccess.types.d.ts +0 -18
- package/build/analytics-rn/src/lib/events/auth/index.d.ts +0 -10
- package/build/analytics-rn/src/lib/events/auth/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/auth/signIn/signIn.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/auth/signIn/signIn.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/auth/signIn/signIn.types.d.ts +0 -21
- package/build/analytics-rn/src/lib/events/auth/signOut/signOut.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/auth/signOut/signOut.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/auth/signOut/signOut.types.d.ts +0 -18
- package/build/analytics-rn/src/lib/events/auth/signUp/signUp.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/auth/signUp/signUp.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/auth/signUp/signUp.types.d.ts +0 -21
- package/build/analytics-rn/src/lib/events/auth/signUpAttempt/signUpAttempt.d.ts +0 -12
- package/build/analytics-rn/src/lib/events/auth/signUpAttempt/signUpAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/auth/signUpAttempt/signUpAttempt.types.d.ts +0 -21
- package/build/analytics-rn/src/lib/events/banner/bannerImpression/bannerImpression.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/banner/bannerImpression/bannerImpression.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/banner/bannerImpression/bannerImpression.types.d.ts +0 -28
- package/build/analytics-rn/src/lib/events/banner/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/events/banner/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/banner/selectBanner/selectBanner.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/banner/selectBanner/selectBanner.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/banner/selectBanner/selectBanner.types.d.ts +0 -26
- package/build/analytics-rn/src/lib/events/billing/addBillingInfo/addBillingInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/billing/addBillingInfo/addBillingInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/billing/addBillingInfo/addBillingInfo.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/billing/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/events/billing/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/billing/selectBillingInfo/selectBillingInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/billing/selectBillingInfo/selectBillingInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/billing/selectBillingInfo/selectBillingInfo.types.d.ts +0 -22
- package/build/analytics-rn/src/lib/events/billing/updateBillingInfo/updateBillingInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/billing/updateBillingInfo/updateBillingInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/billing/updateBillingInfo/updateBillingInfo.types.d.ts +0 -24
- package/build/analytics-rn/src/lib/events/booking/bookAppointment/bookAppointment.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/booking/bookAppointment/bookAppointment.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/booking/bookAppointment/bookAppointment.types.d.ts +0 -28
- package/build/analytics-rn/src/lib/events/booking/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/events/booking/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/category/categoryImpression/categoryImpression.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/category/categoryImpression/categoryImpression.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/category/categoryImpression/categoryImpression.types.d.ts +0 -27
- package/build/analytics-rn/src/lib/events/category/index.d.ts +0 -7
- package/build/analytics-rn/src/lib/events/category/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/category/searchCategoryAttempt/searchCategoryAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/category/searchCategoryAttempt/searchCategoryAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/category/searchCategoryAttempt/searchCategoryAttempt.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/category/selectCategory/selectCategory.d.ts +0 -12
- package/build/analytics-rn/src/lib/events/category/selectCategory/selectCategory.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/category/selectCategory/selectCategory.types.d.ts +0 -25
- package/build/analytics-rn/src/lib/events/category/viewCategory/viewCategory.d.ts +0 -12
- package/build/analytics-rn/src/lib/events/category/viewCategory/viewCategory.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/category/viewCategory/viewCategory.types.d.ts +0 -21
- package/build/analytics-rn/src/lib/events/checkout/checkoutAction/checkoutAction.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/checkout/checkoutAction/checkoutAction.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/checkout/checkoutAction/checkoutAction.types.d.ts +0 -22
- package/build/analytics-rn/src/lib/events/checkout/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/events/checkout/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/checkout/initiateCheckout/initiateCheckout.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/checkout/initiateCheckout/initiateCheckout.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/checkout/initiateCheckout/initiateCheckout.types.d.ts +0 -21
- package/build/analytics-rn/src/lib/events/coupon/applyBenefit/applyBenefit.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/coupon/applyBenefit/applyBenefit.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/coupon/applyBenefit/applyBenefit.types.d.ts +0 -24
- package/build/analytics-rn/src/lib/events/coupon/couponCodeError/couponCodeError.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/coupon/couponCodeError/couponCodeError.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/coupon/couponCodeError/couponCodeError.types.d.ts +0 -24
- package/build/analytics-rn/src/lib/events/coupon/index.d.ts +0 -10
- package/build/analytics-rn/src/lib/events/coupon/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/coupon/redeemCouponCode/redeemCouponCode.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/coupon/redeemCouponCode/redeemCouponCode.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/coupon/redeemCouponCode/redeemCouponCode.types.d.ts +0 -24
- package/build/analytics-rn/src/lib/events/coupon/removeBenefit/removeBenefit.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/coupon/removeBenefit/removeBenefit.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/coupon/removeBenefit/removeBenefit.types.d.ts +0 -24
- package/build/analytics-rn/src/lib/events/coupon/viewBenefitDetails/viewBenefitDetails.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/coupon/viewBenefitDetails/viewBenefitDetails.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/coupon/viewBenefitDetails/viewBenefitDetails.types.d.ts +0 -24
- package/build/analytics-rn/src/lib/events/coupon/viewBenefitsWallet/viewBenefitsWallet.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/coupon/viewBenefitsWallet/viewBenefitsWallet.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/coupon/viewBenefitsWallet/viewBenefitsWallet.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.d.ts +0 -12
- package/build/analytics-rn/src/lib/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.types.d.ts +0 -18
- package/build/analytics-rn/src/lib/events/credit/addCredits/addCredits.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/credit/addCredits/addCredits.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/credit/addCredits/addCredits.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/credit/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/events/credit/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/credit/spendCredits/spendCredits.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/credit/spendCredits/spendCredits.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/credit/spendCredits/spendCredits.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/credit/viewCredits/viewCredits.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/credit/viewCredits/viewCredits.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/credit/viewCredits/viewCredits.types.d.ts +0 -18
- package/build/analytics-rn/src/lib/events/customEvent/customEvent.d.ts +0 -12
- package/build/analytics-rn/src/lib/events/customEvent/customEvent.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/customEvent/customEvent.types.d.ts +0 -19
- package/build/analytics-rn/src/lib/events/events.d.ts +0 -136
- package/build/analytics-rn/src/lib/events/events.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/events.types.d.ts +0 -24
- package/build/analytics-rn/src/lib/events/fulfillment/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/events/fulfillment/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/fulfillment/viewTracking/viewTracking.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/fulfillment/viewTracking/viewTracking.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/fulfillment/viewTracking/viewTracking.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/geo/changeLocation/changeLocation.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/geo/changeLocation/changeLocation.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/geo/changeLocation/changeLocation.types.d.ts +0 -26
- package/build/analytics-rn/src/lib/events/geo/findLocation/findLocation.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/geo/findLocation/findLocation.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/geo/findLocation/findLocation.types.d.ts +0 -22
- package/build/analytics-rn/src/lib/events/geo/index.d.ts +0 -7
- package/build/analytics-rn/src/lib/events/geo/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/geo/outOfCoverage/outOfCoverage.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/geo/outOfCoverage/outOfCoverage.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/geo/outOfCoverage/outOfCoverage.types.d.ts +0 -22
- package/build/analytics-rn/src/lib/events/geo/setLocation/setLocation.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/geo/setLocation/setLocation.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/geo/setLocation/setLocation.types.d.ts +0 -22
- package/build/analytics-rn/src/lib/events/help/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/events/help/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/help/requestAssistance/requestAssistance.d.ts +0 -12
- package/build/analytics-rn/src/lib/events/help/requestAssistance/requestAssistance.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/help/requestAssistance/requestAssistance.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/loyalty/earnPoints/earnPoints.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/loyalty/earnPoints/earnPoints.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/loyalty/earnPoints/earnPoints.types.d.ts +0 -21
- package/build/analytics-rn/src/lib/events/loyalty/index.d.ts +0 -7
- package/build/analytics-rn/src/lib/events/loyalty/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/loyalty/sharePoints/sharePoints.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/loyalty/sharePoints/sharePoints.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/loyalty/sharePoints/sharePoints.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/loyalty/spendPoints/spendPoints.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/loyalty/spendPoints/spendPoints.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/loyalty/spendPoints/spendPoints.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/order/cancelOrder/cancelOrder.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/order/cancelOrder/cancelOrder.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/order/cancelOrder/cancelOrder.types.d.ts +0 -22
- package/build/analytics-rn/src/lib/events/order/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/events/order/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/order/rateOrder/rateOrder.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/order/rateOrder/rateOrder.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/order/rateOrder/rateOrder.types.d.ts +0 -26
- package/build/analytics-rn/src/lib/events/order/requestRefund/requestRefund.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/order/requestRefund/requestRefund.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/order/requestRefund/requestRefund.types.d.ts +0 -24
- package/build/analytics-rn/src/lib/events/other/generateLead/generateLead.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/other/generateLead/generateLead.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/other/generateLead/generateLead.types.d.ts +0 -18
- package/build/analytics-rn/src/lib/events/other/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/events/other/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/other/screenView/screenView.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/other/screenView/screenView.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/other/screenView/screenView.types.d.ts +0 -22
- package/build/analytics-rn/src/lib/events/other/searchPageContent/searchPageContent.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/other/searchPageContent/searchPageContent.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/other/searchPageContent/searchPageContent.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/payment/changePaymentType/changePaymentType.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/payment/changePaymentType/changePaymentType.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/payment/changePaymentType/changePaymentType.types.d.ts +0 -29
- package/build/analytics-rn/src/lib/events/payment/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/events/payment/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/payment/selectPaymentType/selectPaymentType.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/payment/selectPaymentType/selectPaymentType.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/payment/selectPaymentType/selectPaymentType.types.d.ts +0 -23
- package/build/analytics-rn/src/lib/events/payment/setPaymentInfo/setPaymentInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/payment/setPaymentInfo/setPaymentInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/payment/setPaymentInfo/setPaymentInfo.types.d.ts +0 -25
- package/build/analytics-rn/src/lib/events/product/customizeProduct/customizeProduct.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/product/customizeProduct/customizeProduct.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/product/customizeProduct/customizeProduct.types.d.ts +0 -21
- package/build/analytics-rn/src/lib/events/product/filterProducts/filterProducts.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/product/filterProducts/filterProducts.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/product/filterProducts/filterProducts.types.d.ts +0 -24
- package/build/analytics-rn/src/lib/events/product/index.d.ts +0 -12
- package/build/analytics-rn/src/lib/events/product/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/product/productImpression/productImpression.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/product/productImpression/productImpression.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/product/productImpression/productImpression.types.d.ts +0 -27
- package/build/analytics-rn/src/lib/events/product/searchProductAttempt/searchProductAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/product/searchProductAttempt/searchProductAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/product/searchProductAttempt/searchProductAttempt.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/product/searchProductNotFound/searchProductNotFound.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/product/searchProductNotFound/searchProductNotFound.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/product/searchProductNotFound/searchProductNotFound.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/product/searchProductSuccess/searchProductSuccess.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/product/searchProductSuccess/searchProductSuccess.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/product/searchProductSuccess/searchProductSuccess.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/product/selectProduct/selectProduct.d.ts +0 -12
- package/build/analytics-rn/src/lib/events/product/selectProduct/selectProduct.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/product/selectProduct/selectProduct.types.d.ts +0 -25
- package/build/analytics-rn/src/lib/events/product/sortProducts/sortProducts.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/product/sortProducts/sortProducts.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/product/sortProducts/sortProducts.types.d.ts +0 -26
- package/build/analytics-rn/src/lib/events/product/viewProductDetails/viewProductDetails.d.ts +0 -12
- package/build/analytics-rn/src/lib/events/product/viewProductDetails/viewProductDetails.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/product/viewProductDetails/viewProductDetails.types.d.ts +0 -23
- package/build/analytics-rn/src/lib/events/purchase/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/events/purchase/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/purchase/purchaseAttempt/purchaseAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/purchase/purchaseAttempt/purchaseAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/purchase/purchaseAttempt/purchaseAttempt.types.d.ts +0 -33
- package/build/analytics-rn/src/lib/events/purchase/purchaseFail/purchaseFail.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/purchase/purchaseFail/purchaseFail.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/purchase/purchaseFail/purchaseFail.types.d.ts +0 -37
- package/build/analytics-rn/src/lib/events/purchase/purchaseSuccess/purchaseSuccess.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/purchase/purchaseSuccess/purchaseSuccess.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/purchase/purchaseSuccess/purchaseSuccess.types.d.ts +0 -35
- package/build/analytics-rn/src/lib/events/settings/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/events/settings/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/settings/viewSettings/viewSettings.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/settings/viewSettings/viewSettings.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/settings/viewSettings/viewSettings.types.d.ts +0 -18
- package/build/analytics-rn/src/lib/events/shipping/addShippingAddress/addShippingAddress.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/shipping/addShippingAddress/addShippingAddress.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/shipping/addShippingAddress/addShippingAddress.types.d.ts +0 -26
- package/build/analytics-rn/src/lib/events/shipping/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/events/shipping/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/shipping/selectShippingAddress/selectShippingAddress.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/shipping/selectShippingAddress/selectShippingAddress.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/shipping/selectShippingAddress/selectShippingAddress.types.d.ts +0 -31
- package/build/analytics-rn/src/lib/events/shipping/updateShippingAddress/updateShippingAddress.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/shipping/updateShippingAddress/updateShippingAddress.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/shipping/updateShippingAddress/updateShippingAddress.types.d.ts +0 -25
- package/build/analytics-rn/src/lib/events/shoppingCart/addProductToCart/addProductToCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/shoppingCart/addProductToCart/addProductToCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/shoppingCart/addProductToCart/addProductToCart.types.d.ts +0 -27
- package/build/analytics-rn/src/lib/events/shoppingCart/addProductToWishlist/addProductToWishlist.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/shoppingCart/addProductToWishlist/addProductToWishlist.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/shoppingCart/addProductToWishlist/addProductToWishlist.types.d.ts +0 -23
- package/build/analytics-rn/src/lib/events/shoppingCart/clearCart/clearCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/shoppingCart/clearCart/clearCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/shoppingCart/clearCart/clearCart.types.d.ts +0 -23
- package/build/analytics-rn/src/lib/events/shoppingCart/index.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/shoppingCart/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/shoppingCart/removeProductFromCart/removeProductFromCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/shoppingCart/removeProductFromCart/removeProductFromCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/shoppingCart/removeProductFromCart/removeProductFromCart.types.d.ts +0 -27
- package/build/analytics-rn/src/lib/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.types.d.ts +0 -23
- package/build/analytics-rn/src/lib/events/shoppingCart/updateProductInCart/updateProductInCart.d.ts +0 -12
- package/build/analytics-rn/src/lib/events/shoppingCart/updateProductInCart/updateProductInCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/shoppingCart/updateProductInCart/updateProductInCart.types.d.ts +0 -29
- package/build/analytics-rn/src/lib/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.d.ts +0 -12
- package/build/analytics-rn/src/lib/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.types.d.ts +0 -25
- package/build/analytics-rn/src/lib/events/shoppingCart/viewCart/viewCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/shoppingCart/viewCart/viewCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/shoppingCart/viewCart/viewCart.types.d.ts +0 -23
- package/build/analytics-rn/src/lib/events/social/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/events/social/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/social/share/share.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/social/share/share.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/social/share/share.types.d.ts +0 -24
- package/build/analytics-rn/src/lib/events/store/changeStore/changeStore.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/store/changeStore/changeStore.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/store/changeStore/changeStore.types.d.ts +0 -23
- package/build/analytics-rn/src/lib/events/store/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/events/store/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/store/setStore/setStore.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/store/setStore/setStore.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/store/setStore/setStore.types.d.ts +0 -21
- package/build/analytics-rn/src/lib/events/user/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/events/user/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/user/setUserInfo/setUserInfo.d.ts +0 -12
- package/build/analytics-rn/src/lib/events/user/setUserInfo/setUserInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/user/setUserInfo/setUserInfo.types.d.ts +0 -18
- package/build/analytics-rn/src/lib/events/user/updateUserInfo/updateUserInfo.d.ts +0 -12
- package/build/analytics-rn/src/lib/events/user/updateUserInfo/updateUserInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/user/updateUserInfo/updateUserInfo.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/events/vendor/changeVendor/changeVendor.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/vendor/changeVendor/changeVendor.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/vendor/changeVendor/changeVendor.types.d.ts +0 -27
- package/build/analytics-rn/src/lib/events/vendor/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/events/vendor/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/vendor/setVendor/setVendor.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/vendor/setVendor/setVendor.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/vendor/setVendor/setVendor.types.d.ts +0 -23
- package/build/analytics-rn/src/lib/events/workflow/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/events/workflow/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/workflow/selectWorkflow/selectWorkflow.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/workflow/selectWorkflow/selectWorkflow.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/workflow/selectWorkflow/selectWorkflow.types.d.ts +0 -21
- package/build/analytics-rn/src/lib/events/workflow/updateWorkflow/updateWorkflow.d.ts +0 -11
- package/build/analytics-rn/src/lib/events/workflow/updateWorkflow/updateWorkflow.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/events/workflow/updateWorkflow/updateWorkflow.types.d.ts +0 -23
- package/build/analytics-rn/src/lib/initAnalytics/initAnalytics.d.ts +0 -8
- package/build/analytics-rn/src/lib/initAnalytics/initAnalytics.helpers.d.ts +0 -9
- package/build/analytics-rn/src/lib/initAnalytics/initAnalytics.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/initAnalytics/initAnalytics.types.d.ts +0 -40
- package/build/analytics-rn/src/lib/providers/AnalyticsProvider/AnalyticsProvider.d.ts +0 -43
- package/build/analytics-rn/src/lib/providers/AnalyticsProvider/AnalyticsProvider.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/AnalyticsProvider/AnalyticsProvider.types.d.ts +0 -30
- package/build/analytics-rn/src/lib/providers/FacebookPixel/FacebookPixel.d.ts +0 -30
- package/build/analytics-rn/src/lib/providers/FacebookPixel/FacebookPixel.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/FacebookPixel.types.d.ts +0 -42
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/changePasswordAttempt/changePasswordAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/changePasswordAttempt/changePasswordAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/changePasswordAttempt/changePasswordAttempt.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/changePasswordFail/changePasswordFail.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/changePasswordFail/changePasswordFail.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/changePasswordFail/changePasswordFail.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/changePasswordSuccess/changePasswordSuccess.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/changePasswordSuccess/changePasswordSuccess.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/changePasswordSuccess/changePasswordSuccess.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/index.d.ts +0 -10
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/signIn/signIn.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/signIn/signIn.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/signIn/signIn.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/signOut/signOut.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/signOut/signOut.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/signOut/signOut.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/signUp/signUp.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/signUp/signUp.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/signUp/signUp.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/signUpAttempt/signUpAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/signUpAttempt/signUpAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/auth/signUpAttempt/signUpAttempt.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/banner/bannerImpression/bannerImpression.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/banner/bannerImpression/bannerImpression.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/banner/bannerImpression/bannerImpression.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/banner/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/banner/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/banner/selectBanner/selectBanner.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/banner/selectBanner/selectBanner.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/banner/selectBanner/selectBanner.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/billing/addBillingInfo/addBillingInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/billing/addBillingInfo/addBillingInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/billing/addBillingInfo/addBillingInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/billing/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/billing/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/billing/selectBillingInfo/selectBillingInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/billing/selectBillingInfo/selectBillingInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/billing/selectBillingInfo/selectBillingInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/billing/updateBillingInfo/updateBillingInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/billing/updateBillingInfo/updateBillingInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/billing/updateBillingInfo/updateBillingInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/booking/bookAppointment/bookAppointment.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/booking/bookAppointment/bookAppointment.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/booking/bookAppointment/bookAppointment.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/booking/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/booking/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/categoryImpression/categoryImpression.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/categoryImpression/categoryImpression.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/categoryImpression/categoryImpression.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/index.d.ts +0 -7
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/searchCategoryAttempt/searchCategoryAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/searchCategoryAttempt/searchCategoryAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/searchCategoryAttempt/searchCategoryAttempt.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/selectCategory/selectCategory.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/selectCategory/selectCategory.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/selectCategory/selectCategory.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/viewCategory/viewCategory.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/viewCategory/viewCategory.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/category/viewCategory/viewCategory.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/checkout/checkoutAction/checkoutAction.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/checkout/checkoutAction/checkoutAction.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/checkout/checkoutAction/checkoutAction.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/checkout/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/checkout/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/checkout/initiateCheckout/initiateCheckout.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/checkout/initiateCheckout/initiateCheckout.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/checkout/initiateCheckout/initiateCheckout.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/applyBenefit/applyBenefit.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/applyBenefit/applyBenefit.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/applyBenefit/applyBenefit.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/couponCodeError/couponCodeError.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/couponCodeError/couponCodeError.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/couponCodeError/couponCodeError.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/index.d.ts +0 -10
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/redeemCouponCode/redeemCouponCode.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/redeemCouponCode/redeemCouponCode.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/redeemCouponCode/redeemCouponCode.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/removeBenefit/removeBenefit.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/removeBenefit/removeBenefit.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/removeBenefit/removeBenefit.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/viewBenefitDetails/viewBenefitDetails.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/viewBenefitDetails/viewBenefitDetails.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/viewBenefitDetails/viewBenefitDetails.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/viewBenefitsWallet/viewBenefitsWallet.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/viewBenefitsWallet/viewBenefitsWallet.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/viewBenefitsWallet/viewBenefitsWallet.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/credit/addCredits/addCredits.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/credit/addCredits/addCredits.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/credit/addCredits/addCredits.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/credit/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/credit/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/credit/spendCredits/spendCredits.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/credit/spendCredits/spendCredits.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/credit/spendCredits/spendCredits.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/credit/viewCredits/viewCredits.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/credit/viewCredits/viewCredits.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/credit/viewCredits/viewCredits.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/customEvent/customEvent.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/customEvent/customEvent.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/customEvent/customEvent.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/events.d.ts +0 -26
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/events.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/fulfillment/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/fulfillment/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/fulfillment/viewTracking/viewTracking.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/fulfillment/viewTracking/viewTracking.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/fulfillment/viewTracking/viewTracking.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/changeLocation/changeLocation.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/changeLocation/changeLocation.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/changeLocation/changeLocation.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/findLocation/findLocation.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/findLocation/findLocation.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/findLocation/findLocation.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/index.d.ts +0 -7
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/outOfCoverage/outOfCoverage.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/outOfCoverage/outOfCoverage.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/outOfCoverage/outOfCoverage.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/setLocation/setLocation.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/setLocation/setLocation.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/geo/setLocation/setLocation.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/help/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/help/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/help/requestAssistance/requestAssistance.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/help/requestAssistance/requestAssistance.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/help/requestAssistance/requestAssistance.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/earnPoints/earnPoints.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/earnPoints/earnPoints.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/earnPoints/earnPoints.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/index.d.ts +0 -7
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/sharePoints/sharePoints.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/sharePoints/sharePoints.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/sharePoints/sharePoints.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/spendPoints/spendPoints.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/spendPoints/spendPoints.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/spendPoints/spendPoints.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/order/cancelOrder/cancelOrder.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/order/cancelOrder/cancelOrder.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/order/cancelOrder/cancelOrder.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/order/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/order/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/order/rateOrder/rateOrder.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/order/rateOrder/rateOrder.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/order/rateOrder/rateOrder.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/order/requestRefund/requestRefund.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/order/requestRefund/requestRefund.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/order/requestRefund/requestRefund.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/other/generateLead/generateLead.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/other/generateLead/generateLead.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/other/generateLead/generateLead.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/other/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/other/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/other/screenView/screenView.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/other/screenView/screenView.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/other/screenView/screenView.types.d.ts +0 -13
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/other/searchPageContent/searchPageContent.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/other/searchPageContent/searchPageContent.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/other/searchPageContent/searchPageContent.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/payment/changePaymentType/changePaymentType.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/payment/changePaymentType/changePaymentType.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/payment/changePaymentType/changePaymentType.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/payment/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/payment/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/payment/selectPaymentType/selectPaymentType.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/payment/selectPaymentType/selectPaymentType.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/payment/selectPaymentType/selectPaymentType.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/payment/setPaymentInfo/setPaymentInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/payment/setPaymentInfo/setPaymentInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/payment/setPaymentInfo/setPaymentInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/customizeProduct/customizeProduct.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/customizeProduct/customizeProduct.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/customizeProduct/customizeProduct.types.d.ts +0 -15
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/filterProducts/filterProducts.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/filterProducts/filterProducts.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/filterProducts/filterProducts.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/index.d.ts +0 -12
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/productImpression/productImpression.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/productImpression/productImpression.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/productImpression/productImpression.types.d.ts +0 -15
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/searchProductAttempt/searchProductAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/searchProductAttempt/searchProductAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/searchProductAttempt/searchProductAttempt.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/searchProductNotFound/searchProductNotFound.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/searchProductNotFound/searchProductNotFound.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/searchProductNotFound/searchProductNotFound.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/searchProductSuccess/searchProductSuccess.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/searchProductSuccess/searchProductSuccess.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/searchProductSuccess/searchProductSuccess.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/selectProduct/selectProduct.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/selectProduct/selectProduct.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/selectProduct/selectProduct.types.d.ts +0 -15
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/sortProducts/sortProducts.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/sortProducts/sortProducts.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/sortProducts/sortProducts.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/viewProductDetails/viewProductDetails.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/viewProductDetails/viewProductDetails.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/product/viewProductDetails/viewProductDetails.types.d.ts +0 -15
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/purchase/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/purchase/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/purchase/purchaseAttempt/purchaseAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/purchase/purchaseAttempt/purchaseAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/purchase/purchaseAttempt/purchaseAttempt.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/purchase/purchaseFail/purchaseFail.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/purchase/purchaseFail/purchaseFail.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/purchase/purchaseFail/purchaseFail.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/purchase/purchaseSuccess/purchaseSuccess.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/purchase/purchaseSuccess/purchaseSuccess.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/purchase/purchaseSuccess/purchaseSuccess.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/settings/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/settings/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/settings/viewSettings/viewSettings.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/settings/viewSettings/viewSettings.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/settings/viewSettings/viewSettings.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shipping/addShippingAddress/addShippingAddress.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shipping/addShippingAddress/addShippingAddress.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shipping/addShippingAddress/addShippingAddress.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shipping/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shipping/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shipping/selectShippingAddress/selectShippingAddress.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shipping/selectShippingAddress/selectShippingAddress.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shipping/selectShippingAddress/selectShippingAddress.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shipping/updateShippingAddress/updateShippingAddress.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shipping/updateShippingAddress/updateShippingAddress.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shipping/updateShippingAddress/updateShippingAddress.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/addProductToCart/addProductToCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/addProductToCart/addProductToCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/addProductToCart/addProductToCart.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/addProductToWishlist/addProductToWishlist.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/addProductToWishlist/addProductToWishlist.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/addProductToWishlist/addProductToWishlist.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/clearCart/clearCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/clearCart/clearCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/clearCart/clearCart.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/index.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/removeProductFromCart/removeProductFromCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/removeProductFromCart/removeProductFromCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/removeProductFromCart/removeProductFromCart.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/updateProductInCart/updateProductInCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/updateProductInCart/updateProductInCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/updateProductInCart/updateProductInCart.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/viewCart/viewCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/viewCart/viewCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/shoppingCart/viewCart/viewCart.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/social/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/social/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/social/share/share.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/social/share/share.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/social/share/share.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/store/changeStore/changeStore.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/store/changeStore/changeStore.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/store/changeStore/changeStore.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/store/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/store/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/store/setStore/setStore.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/store/setStore/setStore.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/store/setStore/setStore.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/user/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/user/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/user/setUserInfo/setUserInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/user/setUserInfo/setUserInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/user/setUserInfo/setUserInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/user/updateUserInfo/updateUserInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/user/updateUserInfo/updateUserInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/user/updateUserInfo/updateUserInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/vendor/changeVendor/changeVendor.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/vendor/changeVendor/changeVendor.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/vendor/changeVendor/changeVendor.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/vendor/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/vendor/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/vendor/setVendor/setVendor.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/vendor/setVendor/setVendor.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/vendor/setVendor/setVendor.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/workflow/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/workflow/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/workflow/selectWorkflow/selectWorkflow.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/workflow/selectWorkflow/selectWorkflow.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/workflow/selectWorkflow/selectWorkflow.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/workflow/updateWorkflow/updateWorkflow.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/workflow/updateWorkflow/updateWorkflow.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/FacebookPixel/events/workflow/updateWorkflow/updateWorkflow.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/GoogleAnalytics.d.ts +0 -34
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/GoogleAnalytics.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/GoogleAnalytics.types.d.ts +0 -68
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/changePasswordAttempt/changePasswordAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/changePasswordAttempt/changePasswordAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/changePasswordAttempt/changePasswordAttempt.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/changePasswordFail/changePasswordFail.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/changePasswordFail/changePasswordFail.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/changePasswordFail/changePasswordFail.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/changePasswordSuccess/changePasswordSuccess.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/changePasswordSuccess/changePasswordSuccess.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/changePasswordSuccess/changePasswordSuccess.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/index.d.ts +0 -10
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/signIn/signIn.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/signIn/signIn.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/signIn/signIn.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/signOut/signOut.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/signOut/signOut.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/signOut/signOut.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/signUp/signUp.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/signUp/signUp.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/signUp/signUp.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/signUpAttempt/signUpAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/signUpAttempt/signUpAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/auth/signUpAttempt/signUpAttempt.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/banner/bannerImpression/bannerImpression.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/banner/bannerImpression/bannerImpression.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/banner/bannerImpression/bannerImpression.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/banner/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/banner/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/banner/selectBanner/selectBanner.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/banner/selectBanner/selectBanner.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/banner/selectBanner/selectBanner.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/billing/addBillingInfo/addBillingInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/billing/addBillingInfo/addBillingInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/billing/addBillingInfo/addBillingInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/billing/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/billing/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/billing/selectBillingInfo/selectBillingInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/billing/selectBillingInfo/selectBillingInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/billing/selectBillingInfo/selectBillingInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/billing/updateBillingInfo/updateBillingInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/billing/updateBillingInfo/updateBillingInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/billing/updateBillingInfo/updateBillingInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/booking/bookAppointment/bookAppointment.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/booking/bookAppointment/bookAppointment.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/booking/bookAppointment/bookAppointment.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/booking/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/booking/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/categoryImpression/categoryImpression.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/categoryImpression/categoryImpression.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/categoryImpression/categoryImpression.types.d.ts +0 -15
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/index.d.ts +0 -7
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/searchCategoryAttempt/searchCategoryAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/searchCategoryAttempt/searchCategoryAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/searchCategoryAttempt/searchCategoryAttempt.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/selectCategory/selectCategory.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/selectCategory/selectCategory.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/selectCategory/selectCategory.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/viewCategory/viewCategory.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/viewCategory/viewCategory.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/category/viewCategory/viewCategory.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/checkout/checkoutAction/checkoutAction.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/checkout/checkoutAction/checkoutAction.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/checkout/checkoutAction/checkoutAction.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/checkout/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/checkout/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/checkout/initiateCheckout/initiateCheckout.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/checkout/initiateCheckout/initiateCheckout.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/checkout/initiateCheckout/initiateCheckout.types.d.ts +0 -13
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/applyBenefit/applyBenefit.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/applyBenefit/applyBenefit.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/applyBenefit/applyBenefit.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/couponCodeError/couponCodeError.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/couponCodeError/couponCodeError.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/couponCodeError/couponCodeError.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/index.d.ts +0 -10
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/redeemCouponCode/redeemCouponCode.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/redeemCouponCode/redeemCouponCode.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/redeemCouponCode/redeemCouponCode.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/removeBenefit/removeBenefit.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/removeBenefit/removeBenefit.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/removeBenefit/removeBenefit.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/viewBenefitDetails/viewBenefitDetails.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/viewBenefitDetails/viewBenefitDetails.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/viewBenefitDetails/viewBenefitDetails.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/viewBenefitsWallet/viewBenefitsWallet.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/viewBenefitsWallet/viewBenefitsWallet.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/viewBenefitsWallet/viewBenefitsWallet.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/credit/addCredits/addCredits.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/credit/addCredits/addCredits.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/credit/addCredits/addCredits.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/credit/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/credit/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/credit/spendCredits/spendCredits.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/credit/spendCredits/spendCredits.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/credit/spendCredits/spendCredits.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/credit/viewCredits/viewCredits.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/credit/viewCredits/viewCredits.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/credit/viewCredits/viewCredits.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/customEvent/customEvent.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/customEvent/customEvent.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/customEvent/customEvent.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/events.d.ts +0 -26
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/events.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/fulfillment/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/fulfillment/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/fulfillment/viewTracking/viewTracking.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/fulfillment/viewTracking/viewTracking.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/fulfillment/viewTracking/viewTracking.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/changeLocation/changeLocation.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/changeLocation/changeLocation.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/changeLocation/changeLocation.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/findLocation/findLocation.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/findLocation/findLocation.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/findLocation/findLocation.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/index.d.ts +0 -7
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/outOfCoverage/outOfCoverage.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/outOfCoverage/outOfCoverage.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/outOfCoverage/outOfCoverage.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/setLocation/setLocation.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/setLocation/setLocation.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/geo/setLocation/setLocation.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/help/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/help/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/help/requestAssistance/requestAssistance.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/help/requestAssistance/requestAssistance.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/help/requestAssistance/requestAssistance.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/earnPoints/earnPoints.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/earnPoints/earnPoints.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/earnPoints/earnPoints.types.d.ts +0 -18
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/index.d.ts +0 -7
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/sharePoints/sharePoints.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/sharePoints/sharePoints.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/sharePoints/sharePoints.types.d.ts +0 -18
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/spendPoints/spendPoints.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/spendPoints/spendPoints.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/spendPoints/spendPoints.types.d.ts +0 -18
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/order/cancelOrder/cancelOrder.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/order/cancelOrder/cancelOrder.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/order/cancelOrder/cancelOrder.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/order/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/order/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/order/rateOrder/rateOrder.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/order/rateOrder/rateOrder.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/order/rateOrder/rateOrder.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/order/requestRefund/requestRefund.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/order/requestRefund/requestRefund.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/order/requestRefund/requestRefund.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/other/generateLead/generateLead.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/other/generateLead/generateLead.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/other/generateLead/generateLead.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/other/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/other/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/other/screenView/screenView.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/other/screenView/screenView.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/other/screenView/screenView.types.d.ts +0 -13
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/other/searchPageContent/searchPageContent.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/other/searchPageContent/searchPageContent.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/other/searchPageContent/searchPageContent.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/payment/changePaymentType/changePaymentType.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/payment/changePaymentType/changePaymentType.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/payment/changePaymentType/changePaymentType.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/payment/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/payment/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/payment/selectPaymentType/selectPaymentType.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/payment/selectPaymentType/selectPaymentType.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/payment/selectPaymentType/selectPaymentType.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/payment/setPaymentInfo/setPaymentInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/payment/setPaymentInfo/setPaymentInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/payment/setPaymentInfo/setPaymentInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/customizeProduct/customizeProduct.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/customizeProduct/customizeProduct.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/customizeProduct/customizeProduct.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/filterProducts/filterProducts.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/filterProducts/filterProducts.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/filterProducts/filterProducts.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/index.d.ts +0 -12
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/productImpression/productImpression.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/productImpression/productImpression.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/productImpression/productImpression.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/searchProductAttempt/searchProductAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/searchProductAttempt/searchProductAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/searchProductAttempt/searchProductAttempt.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/searchProductNotFound/searchProductNotFound.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/searchProductNotFound/searchProductNotFound.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/searchProductNotFound/searchProductNotFound.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/searchProductSuccess/searchProductSuccess.d.ts +0 -9
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/searchProductSuccess/searchProductSuccess.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/searchProductSuccess/searchProductSuccess.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/selectProduct/selectProduct.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/selectProduct/selectProduct.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/selectProduct/selectProduct.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/sortProducts/sortProducts.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/sortProducts/sortProducts.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/sortProducts/sortProducts.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/viewProductDetails/viewProductDetails.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/viewProductDetails/viewProductDetails.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/product/viewProductDetails/viewProductDetails.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/purchase/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/purchase/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/purchase/purchaseAttempt/purchaseAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/purchase/purchaseAttempt/purchaseAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/purchase/purchaseAttempt/purchaseAttempt.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/purchase/purchaseFail/purchaseFail.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/purchase/purchaseFail/purchaseFail.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/purchase/purchaseFail/purchaseFail.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/purchase/purchaseSuccess/purchaseSuccess.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/purchase/purchaseSuccess/purchaseSuccess.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/purchase/purchaseSuccess/purchaseSuccess.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/settings/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/settings/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/settings/viewSettings/viewSettings.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/settings/viewSettings/viewSettings.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/settings/viewSettings/viewSettings.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shipping/addShippingAddress/addShippingAddress.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shipping/addShippingAddress/addShippingAddress.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shipping/addShippingAddress/addShippingAddress.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shipping/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shipping/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shipping/selectShippingAddress/selectShippingAddress.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shipping/selectShippingAddress/selectShippingAddress.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shipping/selectShippingAddress/selectShippingAddress.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shipping/updateShippingAddress/updateShippingAddress.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shipping/updateShippingAddress/updateShippingAddress.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shipping/updateShippingAddress/updateShippingAddress.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/addProductToCart/addProductToCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/addProductToCart/addProductToCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/addProductToCart/addProductToCart.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/addProductToWishlist/addProductToWishlist.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/addProductToWishlist/addProductToWishlist.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/addProductToWishlist/addProductToWishlist.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/clearCart/clearCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/clearCart/clearCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/clearCart/clearCart.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/index.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/removeProductFromCart/removeProductFromCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/removeProductFromCart/removeProductFromCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/removeProductFromCart/removeProductFromCart.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/updateProductInCart/updateProductInCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/updateProductInCart/updateProductInCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/updateProductInCart/updateProductInCart.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/viewCart/viewCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/viewCart/viewCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/shoppingCart/viewCart/viewCart.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/social/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/social/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/social/share/share.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/social/share/share.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/social/share/share.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/store/changeStore/changeStore.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/store/changeStore/changeStore.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/store/changeStore/changeStore.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/store/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/store/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/store/setStore/setStore.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/store/setStore/setStore.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/store/setStore/setStore.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/user/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/user/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/user/setUserInfo/setUserInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/user/setUserInfo/setUserInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/user/setUserInfo/setUserInfo.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/user/updateUserInfo/updateUserInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/user/updateUserInfo/updateUserInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/user/updateUserInfo/updateUserInfo.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/vendor/changeVendor/changeVendor.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/vendor/changeVendor/changeVendor.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/vendor/changeVendor/changeVendor.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/vendor/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/vendor/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/vendor/setVendor/setVendor.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/vendor/setVendor/setVendor.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/vendor/setVendor/setVendor.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/workflow/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/workflow/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/workflow/selectWorkflow/selectWorkflow.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/workflow/selectWorkflow/selectWorkflow.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/workflow/selectWorkflow/selectWorkflow.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/workflow/updateWorkflow/updateWorkflow.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/workflow/updateWorkflow/updateWorkflow.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/GoogleAnalytics/events/workflow/updateWorkflow/updateWorkflow.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/Segment.d.ts +0 -33
- package/build/analytics-rn/src/lib/providers/Segment/Segment.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/Segment.types.d.ts +0 -94
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/changePasswordAttempt/changePasswordAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/changePasswordAttempt/changePasswordAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/changePasswordAttempt/changePasswordAttempt.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/changePasswordFail/changePasswordFail.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/changePasswordFail/changePasswordFail.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/changePasswordFail/changePasswordFail.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/changePasswordSuccess/changePasswordSuccess.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/changePasswordSuccess/changePasswordSuccess.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/changePasswordSuccess/changePasswordSuccess.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/index.d.ts +0 -10
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/signIn/signIn.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/signIn/signIn.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/signIn/signIn.types.d.ts +0 -18
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/signOut/signOut.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/signOut/signOut.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/signOut/signOut.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/signUp/signUp.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/signUp/signUp.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/signUp/signUp.types.d.ts +0 -20
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/signUpAttempt/signUpAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/signUpAttempt/signUpAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/auth/signUpAttempt/signUpAttempt.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/banner/bannerImpression/bannerImpression.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/banner/bannerImpression/bannerImpression.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/banner/bannerImpression/bannerImpression.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/banner/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/Segment/events/banner/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/banner/selectBanner/selectBanner.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/banner/selectBanner/selectBanner.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/banner/selectBanner/selectBanner.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/billing/addBillingInfo/addBillingInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/billing/addBillingInfo/addBillingInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/billing/addBillingInfo/addBillingInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/billing/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/Segment/events/billing/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/billing/selectBillingInfo/selectBillingInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/billing/selectBillingInfo/selectBillingInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/billing/selectBillingInfo/selectBillingInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/billing/updateBillingInfo/updateBillingInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/billing/updateBillingInfo/updateBillingInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/billing/updateBillingInfo/updateBillingInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/booking/bookAppointment/bookAppointment.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/booking/bookAppointment/bookAppointment.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/booking/bookAppointment/bookAppointment.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/booking/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/providers/Segment/events/booking/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/category/categoryImpression/categoryImpression.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/category/categoryImpression/categoryImpression.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/category/categoryImpression/categoryImpression.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/category/index.d.ts +0 -7
- package/build/analytics-rn/src/lib/providers/Segment/events/category/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/category/searchCategoryAttempt/searchCategoryAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/category/searchCategoryAttempt/searchCategoryAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/category/searchCategoryAttempt/searchCategoryAttempt.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/category/selectCategory/selectCategory.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/category/selectCategory/selectCategory.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/category/selectCategory/selectCategory.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/category/viewCategory/viewCategory.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/category/viewCategory/viewCategory.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/category/viewCategory/viewCategory.types.d.ts +0 -17
- package/build/analytics-rn/src/lib/providers/Segment/events/checkout/checkoutAction/checkoutAction.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/checkout/checkoutAction/checkoutAction.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/checkout/checkoutAction/checkoutAction.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/checkout/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/Segment/events/checkout/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/checkout/initiateCheckout/initiateCheckout.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/checkout/initiateCheckout/initiateCheckout.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/checkout/initiateCheckout/initiateCheckout.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/applyBenefit/applyBenefit.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/applyBenefit/applyBenefit.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/applyBenefit/applyBenefit.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/couponCodeError/couponCodeError.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/couponCodeError/couponCodeError.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/couponCodeError/couponCodeError.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/index.d.ts +0 -10
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/redeemCouponCode/redeemCouponCode.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/redeemCouponCode/redeemCouponCode.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/redeemCouponCode/redeemCouponCode.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/removeBenefit/removeBenefit.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/removeBenefit/removeBenefit.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/removeBenefit/removeBenefit.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/viewBenefitDetails/viewBenefitDetails.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/viewBenefitDetails/viewBenefitDetails.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/viewBenefitDetails/viewBenefitDetails.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/viewBenefitsWallet/viewBenefitsWallet.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/viewBenefitsWallet/viewBenefitsWallet.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/viewBenefitsWallet/viewBenefitsWallet.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/credit/addCredits/addCredits.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/credit/addCredits/addCredits.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/credit/addCredits/addCredits.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/credit/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/Segment/events/credit/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/credit/spendCredits/spendCredits.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/credit/spendCredits/spendCredits.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/credit/spendCredits/spendCredits.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/credit/viewCredits/viewCredits.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/credit/viewCredits/viewCredits.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/credit/viewCredits/viewCredits.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/customEvent/customEvent.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/customEvent/customEvent.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/customEvent/customEvent.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/events.d.ts +0 -26
- package/build/analytics-rn/src/lib/providers/Segment/events/events.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/fulfillment/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/Segment/events/fulfillment/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/fulfillment/viewTracking/viewTracking.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/fulfillment/viewTracking/viewTracking.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/fulfillment/viewTracking/viewTracking.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/changeLocation/changeLocation.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/changeLocation/changeLocation.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/changeLocation/changeLocation.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/findLocation/findLocation.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/findLocation/findLocation.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/findLocation/findLocation.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/index.d.ts +0 -7
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/outOfCoverage/outOfCoverage.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/outOfCoverage/outOfCoverage.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/outOfCoverage/outOfCoverage.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/setLocation/setLocation.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/setLocation/setLocation.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/geo/setLocation/setLocation.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/help/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/providers/Segment/events/help/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/help/requestAssistance/requestAssistance.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/help/requestAssistance/requestAssistance.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/help/requestAssistance/requestAssistance.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/earnPoints/earnPoints.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/earnPoints/earnPoints.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/earnPoints/earnPoints.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/index.d.ts +0 -7
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/sharePoints/sharePoints.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/sharePoints/sharePoints.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/sharePoints/sharePoints.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/spendPoints/spendPoints.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/spendPoints/spendPoints.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/spendPoints/spendPoints.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/order/cancelOrder/cancelOrder.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/order/cancelOrder/cancelOrder.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/order/cancelOrder/cancelOrder.types.d.ts +0 -19
- package/build/analytics-rn/src/lib/providers/Segment/events/order/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/Segment/events/order/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/order/rateOrder/rateOrder.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/order/rateOrder/rateOrder.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/order/rateOrder/rateOrder.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/order/requestRefund/requestRefund.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/order/requestRefund/requestRefund.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/order/requestRefund/requestRefund.types.d.ts +0 -17
- package/build/analytics-rn/src/lib/providers/Segment/events/other/generateLead/generateLead.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/other/generateLead/generateLead.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/other/generateLead/generateLead.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/other/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/providers/Segment/events/other/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/other/screenView/screenView.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/other/screenView/screenView.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/other/screenView/screenView.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/other/searchPageContent/searchPageContent.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/other/searchPageContent/searchPageContent.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/other/searchPageContent/searchPageContent.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/payment/changePaymentType/changePaymentType.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/payment/changePaymentType/changePaymentType.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/payment/changePaymentType/changePaymentType.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/payment/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/Segment/events/payment/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/payment/selectPaymentType/selectPaymentType.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/payment/selectPaymentType/selectPaymentType.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/payment/selectPaymentType/selectPaymentType.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/payment/setPaymentInfo/setPaymentInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/payment/setPaymentInfo/setPaymentInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/payment/setPaymentInfo/setPaymentInfo.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/product/customizeProduct/customizeProduct.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/product/customizeProduct/customizeProduct.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/product/customizeProduct/customizeProduct.types.d.ts +0 -13
- package/build/analytics-rn/src/lib/providers/Segment/events/product/filterProducts/filterProducts.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/product/filterProducts/filterProducts.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/product/filterProducts/filterProducts.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/product/index.d.ts +0 -12
- package/build/analytics-rn/src/lib/providers/Segment/events/product/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/product/productImpression/productImpression.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/product/productImpression/productImpression.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/product/productImpression/productImpression.types.d.ts +0 -13
- package/build/analytics-rn/src/lib/providers/Segment/events/product/searchProductAttempt/searchProductAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/product/searchProductAttempt/searchProductAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/product/searchProductAttempt/searchProductAttempt.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/product/searchProductNotFound/searchProductNotFound.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/product/searchProductNotFound/searchProductNotFound.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/product/searchProductNotFound/searchProductNotFound.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/product/searchProductSuccess/searchProductSuccess.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/product/searchProductSuccess/searchProductSuccess.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/product/searchProductSuccess/searchProductSuccess.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/product/selectProduct/selectProduct.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/product/selectProduct/selectProduct.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/product/selectProduct/selectProduct.types.d.ts +0 -13
- package/build/analytics-rn/src/lib/providers/Segment/events/product/sortProducts/sortProducts.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/product/sortProducts/sortProducts.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/product/sortProducts/sortProducts.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/product/viewProductDetails/viewProductDetails.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/product/viewProductDetails/viewProductDetails.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/product/viewProductDetails/viewProductDetails.types.d.ts +0 -13
- package/build/analytics-rn/src/lib/providers/Segment/events/purchase/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/Segment/events/purchase/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/purchase/purchaseAttempt/purchaseAttempt.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/purchase/purchaseAttempt/purchaseAttempt.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/purchase/purchaseAttempt/purchaseAttempt.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/purchase/purchaseFail/purchaseFail.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/purchase/purchaseFail/purchaseFail.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/purchase/purchaseFail/purchaseFail.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/purchase/purchaseSuccess/purchaseSuccess.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/purchase/purchaseSuccess/purchaseSuccess.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/purchase/purchaseSuccess/purchaseSuccess.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/settings/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/providers/Segment/events/settings/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/settings/viewSettings/viewSettings.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/settings/viewSettings/viewSettings.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/settings/viewSettings/viewSettings.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/shipping/addShippingAddress/addShippingAddress.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/shipping/addShippingAddress/addShippingAddress.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/shipping/addShippingAddress/addShippingAddress.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/Segment/events/shipping/index.d.ts +0 -6
- package/build/analytics-rn/src/lib/providers/Segment/events/shipping/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/shipping/selectShippingAddress/selectShippingAddress.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/shipping/selectShippingAddress/selectShippingAddress.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/shipping/selectShippingAddress/selectShippingAddress.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/Segment/events/shipping/updateShippingAddress/updateShippingAddress.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/shipping/updateShippingAddress/updateShippingAddress.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/shipping/updateShippingAddress/updateShippingAddress.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/addProductToCart/addProductToCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/addProductToCart/addProductToCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/addProductToCart/addProductToCart.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/addProductToWishlist/addProductToWishlist.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/addProductToWishlist/addProductToWishlist.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/addProductToWishlist/addProductToWishlist.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/clearCart/clearCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/clearCart/clearCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/clearCart/clearCart.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/index.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/removeProductFromCart/removeProductFromCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/removeProductFromCart/removeProductFromCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/removeProductFromCart/removeProductFromCart.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/updateProductInCart/updateProductInCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/updateProductInCart/updateProductInCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/updateProductInCart/updateProductInCart.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/viewCart/viewCart.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/viewCart/viewCart.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/shoppingCart/viewCart/viewCart.types.d.ts +0 -17
- package/build/analytics-rn/src/lib/providers/Segment/events/social/index.d.ts +0 -4
- package/build/analytics-rn/src/lib/providers/Segment/events/social/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/social/share/share.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/social/share/share.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/social/share/share.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/store/changeStore/changeStore.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/store/changeStore/changeStore.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/store/changeStore/changeStore.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/store/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/Segment/events/store/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/store/setStore/setStore.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/store/setStore/setStore.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/store/setStore/setStore.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/user/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/Segment/events/user/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/user/setUserInfo/setUserInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/user/setUserInfo/setUserInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/user/setUserInfo/setUserInfo.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/Segment/events/user/updateUserInfo/updateUserInfo.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/user/updateUserInfo/updateUserInfo.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/user/updateUserInfo/updateUserInfo.types.d.ts +0 -16
- package/build/analytics-rn/src/lib/providers/Segment/events/vendor/changeVendor/changeVendor.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/vendor/changeVendor/changeVendor.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/vendor/changeVendor/changeVendor.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/vendor/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/Segment/events/vendor/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/vendor/setVendor/setVendor.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/vendor/setVendor/setVendor.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/vendor/setVendor/setVendor.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/workflow/index.d.ts +0 -5
- package/build/analytics-rn/src/lib/providers/Segment/events/workflow/index.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/workflow/selectWorkflow/selectWorkflow.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/workflow/selectWorkflow/selectWorkflow.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/workflow/selectWorkflow/selectWorkflow.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/Segment/events/workflow/updateWorkflow/updateWorkflow.d.ts +0 -11
- package/build/analytics-rn/src/lib/providers/Segment/events/workflow/updateWorkflow/updateWorkflow.test.d.ts +0 -1
- package/build/analytics-rn/src/lib/providers/Segment/events/workflow/updateWorkflow/updateWorkflow.types.d.ts +0 -14
- package/build/analytics-rn/src/lib/providers/providers.d.ts +0 -9
- package/build/analytics-rn/src/setupTests.d.ts +0 -2
- package/build/analytics-rn/src/test/exports.test.d.ts +0 -1
- package/build/analytics-rn/src/types/common.types.d.ts +0 -52
- package/build/analytics-rn/src/types/event.types.d.ts +0 -213
- package/build/analytics-rn/src/types/state.types.d.ts +0 -22
- package/build/analytics-rn/src/utils/common.utils.d.ts +0 -8
- package/build/analytics-rn/src/utils/events.utils.d.ts +0 -80
- package/build/analytics-rn/src/utils/logs.utils.d.ts +0 -49
- package/build/analytics-rn/src/utils/segment.utils.d.ts +0 -8
- package/build/analytics-rn/src/utils/state.utils.d.ts +0 -12
- package/build/analytics-rn/src/utils/validations.utils.d.ts +0 -10
- package/build/main.bundle.js +0 -46
- package/build/report.json +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.esm.js","sources":["../../state/dist/bundle.esm.js","../src/utils/state.utils.ts","../src/utils/logs.utils.ts","../src/lib/providers/AnalyticsProvider/AnalyticsProvider.ts","../src/lib/providers/FacebookPixel/FacebookPixel.ts","../src/lib/providers/GoogleAnalytics/GoogleAnalytics.ts","../src/lib/providers/Segment/Segment.ts","../src/lib/providers/providers.ts","../src/lib/initAnalytics/initAnalytics.helpers.ts","../src/lib/initAnalytics/initAnalytics.ts","../../../node_modules/tslib/tslib.es6.js","../../../node_modules/lower-case/dist.es2015/index.js","../../../node_modules/no-case/dist.es2015/index.js","../../../node_modules/dot-case/dist.es2015/index.js","../../../node_modules/snake-case/dist.es2015/index.js","../src/utils/common.utils.ts","../src/lib/providers/FacebookPixel/events/auth/changePasswordAttempt/changePasswordAttempt.ts","../src/lib/providers/GoogleAnalytics/events/auth/changePasswordAttempt/changePasswordAttempt.ts","../src/lib/providers/Segment/events/auth/changePasswordAttempt/changePasswordAttempt.ts","../../shopping-cart/dist/bundle.esm.js","../../products/dist/bundle.esm.js","../src/utils/validations.utils.ts","../src/utils/events.utils.ts","../src/lib/events/auth/changePasswordAttempt/changePasswordAttempt.ts","../src/lib/providers/GoogleAnalytics/events/auth/signUpAttempt/signUpAttempt.ts","../src/lib/providers/Segment/events/auth/signUpAttempt/signUpAttempt.ts","../src/lib/providers/FacebookPixel/events/auth/signUpAttempt/signUpAttempt.ts","../src/lib/events/auth/signUpAttempt/signUpAttempt.ts","../src/lib/providers/FacebookPixel/events/auth/changePasswordFail/changePasswordFail.ts","../src/lib/providers/GoogleAnalytics/events/auth/changePasswordFail/changePasswordFail.ts","../src/lib/providers/Segment/events/auth/changePasswordFail/changePasswordFail.ts","../src/lib/events/auth/changePasswordFail/changePasswordFail.ts","../src/lib/providers/GoogleAnalytics/events/auth/changePasswordSuccess/changePasswordSuccess.ts","../src/lib/providers/Segment/events/auth/changePasswordSuccess/changePasswordSuccess.ts","../src/lib/providers/FacebookPixel/events/auth/changePasswordSuccess/changePasswordSuccess.ts","../src/lib/events/auth/changePasswordSuccess/changePasswordSuccess.ts","../src/lib/providers/GoogleAnalytics/events/auth/signIn/signIn.ts","../src/lib/providers/Segment/events/auth/signIn/signIn.ts","../src/lib/providers/FacebookPixel/events/auth/signIn/signIn.ts","../src/lib/events/auth/signIn/signIn.ts","../src/lib/providers/GoogleAnalytics/events/auth/signOut/signOut.ts","../src/lib/providers/Segment/events/auth/signOut/signOut.ts","../src/lib/providers/FacebookPixel/events/auth/signOut/signOut.ts","../src/lib/events/auth/signOut/signOut.ts","../src/lib/providers/GoogleAnalytics/events/auth/signUp/signUp.ts","../src/lib/providers/Segment/events/auth/signUp/signUp.ts","../src/lib/providers/FacebookPixel/events/auth/signUp/signUp.ts","../src/lib/events/auth/signUp/signUp.ts","../src/lib/events/auth/index.ts","../src/lib/providers/GoogleAnalytics/events/banner/bannerImpression/bannerImpression.ts","../src/lib/providers/Segment/events/banner/bannerImpression/bannerImpression.ts","../src/lib/providers/FacebookPixel/events/banner/bannerImpression/bannerImpression.ts","../src/lib/events/banner/bannerImpression/bannerImpression.ts","../src/lib/providers/GoogleAnalytics/events/banner/selectBanner/selectBanner.ts","../src/lib/providers/Segment/events/banner/selectBanner/selectBanner.ts","../src/lib/providers/FacebookPixel/events/banner/selectBanner/selectBanner.ts","../src/lib/events/banner/selectBanner/selectBanner.ts","../src/lib/events/banner/index.ts","../src/lib/providers/GoogleAnalytics/events/billing/addBillingInfo/addBillingInfo.ts","../src/lib/providers/Segment/events/billing/addBillingInfo/addBillingInfo.ts","../src/lib/providers/FacebookPixel/events/billing/addBillingInfo/addBillingInfo.ts","../src/lib/events/billing/addBillingInfo/addBillingInfo.ts","../src/lib/providers/GoogleAnalytics/events/billing/selectBillingInfo/selectBillingInfo.ts","../src/lib/providers/Segment/events/billing/selectBillingInfo/selectBillingInfo.ts","../src/lib/providers/FacebookPixel/events/billing/selectBillingInfo/selectBillingInfo.ts","../src/lib/events/billing/selectBillingInfo/selectBillingInfo.ts","../src/lib/providers/GoogleAnalytics/events/billing/updateBillingInfo/updateBillingInfo.ts","../src/lib/providers/Segment/events/billing/updateBillingInfo/updateBillingInfo.ts","../src/lib/providers/FacebookPixel/events/billing/updateBillingInfo/updateBillingInfo.ts","../src/lib/events/billing/updateBillingInfo/updateBillingInfo.ts","../src/lib/events/billing/index.ts","../src/lib/providers/GoogleAnalytics/events/booking/bookAppointment/bookAppointment.ts","../src/lib/providers/Segment/events/booking/bookAppointment/bookAppointment.ts","../src/lib/providers/FacebookPixel/events/booking/bookAppointment/bookAppointment.ts","../src/lib/events/booking/bookAppointment/bookAppointment.ts","../src/lib/events/booking/index.ts","../src/lib/providers/GoogleAnalytics/events/category/categoryImpression/categoryImpression.ts","../src/lib/providers/Segment/events/category/categoryImpression/categoryImpression.ts","../src/lib/providers/FacebookPixel/events/category/categoryImpression/categoryImpression.ts","../src/lib/events/category/categoryImpression/categoryImpression.ts","../src/lib/providers/GoogleAnalytics/events/category/searchCategoryAttempt/searchCategoryAttempt.ts","../src/lib/providers/Segment/events/category/searchCategoryAttempt/searchCategoryAttempt.ts","../src/lib/providers/FacebookPixel/events/category/searchCategoryAttempt/searchCategoryAttempt.ts","../src/lib/events/category/searchCategoryAttempt/searchCategoryAttempt.ts","../src/lib/providers/GoogleAnalytics/events/category/selectCategory/selectCategory.ts","../src/lib/providers/Segment/events/category/selectCategory/selectCategory.ts","../src/lib/providers/FacebookPixel/events/category/selectCategory/selectCategory.ts","../src/lib/events/category/selectCategory/selectCategory.ts","../src/lib/providers/GoogleAnalytics/events/category/viewCategory/viewCategory.ts","../src/lib/providers/Segment/events/category/viewCategory/viewCategory.ts","../src/lib/providers/FacebookPixel/events/category/viewCategory/viewCategory.ts","../src/lib/events/category/viewCategory/viewCategory.ts","../src/lib/events/category/index.ts","../src/lib/providers/GoogleAnalytics/events/checkout/checkoutAction/checkoutAction.ts","../src/lib/providers/Segment/events/checkout/checkoutAction/checkoutAction.ts","../src/lib/providers/FacebookPixel/events/checkout/checkoutAction/checkoutAction.ts","../src/lib/events/checkout/checkoutAction/checkoutAction.ts","../src/lib/providers/GoogleAnalytics/events/checkout/initiateCheckout/initiateCheckout.ts","../src/lib/providers/Segment/events/checkout/initiateCheckout/initiateCheckout.ts","../src/lib/providers/FacebookPixel/events/checkout/initiateCheckout/initiateCheckout.ts","../src/lib/events/checkout/initiateCheckout/initiateCheckout.ts","../src/lib/events/checkout/index.ts","../src/lib/providers/GoogleAnalytics/events/coupon/applyBenefit/applyBenefit.ts","../src/lib/providers/Segment/events/coupon/applyBenefit/applyBenefit.ts","../src/lib/providers/FacebookPixel/events/coupon/applyBenefit/applyBenefit.ts","../src/lib/events/coupon/applyBenefit/applyBenefit.ts","../src/lib/providers/GoogleAnalytics/events/coupon/couponCodeError/couponCodeError.ts","../src/lib/providers/Segment/events/coupon/couponCodeError/couponCodeError.ts","../src/lib/providers/FacebookPixel/events/coupon/couponCodeError/couponCodeError.ts","../src/lib/events/coupon/couponCodeError/couponCodeError.ts","../src/lib/providers/GoogleAnalytics/events/coupon/redeemCouponCode/redeemCouponCode.ts","../src/lib/providers/Segment/events/coupon/redeemCouponCode/redeemCouponCode.ts","../src/lib/providers/FacebookPixel/events/coupon/redeemCouponCode/redeemCouponCode.ts","../src/lib/events/coupon/redeemCouponCode/redeemCouponCode.ts","../src/lib/providers/GoogleAnalytics/events/coupon/removeBenefit/removeBenefit.ts","../src/lib/providers/Segment/events/coupon/removeBenefit/removeBenefit.ts","../src/lib/providers/FacebookPixel/events/coupon/removeBenefit/removeBenefit.ts","../src/lib/events/coupon/removeBenefit/removeBenefit.ts","../src/lib/providers/GoogleAnalytics/events/coupon/viewBenefitDetails/viewBenefitDetails.ts","../src/lib/providers/Segment/events/coupon/viewBenefitDetails/viewBenefitDetails.ts","../src/lib/providers/FacebookPixel/events/coupon/viewBenefitDetails/viewBenefitDetails.ts","../src/lib/events/coupon/viewBenefitDetails/viewBenefitDetails.ts","../src/lib/providers/GoogleAnalytics/events/coupon/viewBenefitsWallet/viewBenefitsWallet.ts","../src/lib/providers/Segment/events/coupon/viewBenefitsWallet/viewBenefitsWallet.ts","../src/lib/providers/FacebookPixel/events/coupon/viewBenefitsWallet/viewBenefitsWallet.ts","../src/lib/events/coupon/viewBenefitsWallet/viewBenefitsWallet.ts","../src/lib/providers/GoogleAnalytics/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.ts","../src/lib/providers/Segment/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.ts","../src/lib/providers/FacebookPixel/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.ts","../src/lib/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon.ts","../src/lib/events/coupon/index.ts","../src/lib/providers/GoogleAnalytics/events/credit/addCredits/addCredits.ts","../src/lib/providers/Segment/events/credit/addCredits/addCredits.ts","../src/lib/providers/FacebookPixel/events/credit/addCredits/addCredits.ts","../src/lib/events/credit/addCredits/addCredits.ts","../src/lib/providers/GoogleAnalytics/events/credit/spendCredits/spendCredits.ts","../src/lib/providers/Segment/events/credit/spendCredits/spendCredits.ts","../src/lib/providers/FacebookPixel/events/credit/spendCredits/spendCredits.ts","../src/lib/events/credit/spendCredits/spendCredits.ts","../src/lib/providers/GoogleAnalytics/events/credit/viewCredits/viewCredits.ts","../src/lib/providers/Segment/events/credit/viewCredits/viewCredits.ts","../src/lib/providers/FacebookPixel/events/credit/viewCredits/viewCredits.ts","../src/lib/events/credit/viewCredits/viewCredits.ts","../src/lib/events/credit/index.ts","../src/lib/providers/GoogleAnalytics/events/customEvent/customEvent.ts","../src/lib/providers/FacebookPixel/events/customEvent/customEvent.ts","../src/lib/providers/Segment/events/customEvent/customEvent.ts","../src/lib/events/customEvent/customEvent.ts","../src/lib/providers/GoogleAnalytics/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.ts","../src/lib/providers/Segment/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.ts","../src/lib/providers/FacebookPixel/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.ts","../src/lib/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep.ts","../src/lib/providers/GoogleAnalytics/events/fulfillment/viewTracking/viewTracking.ts","../src/lib/providers/Segment/events/fulfillment/viewTracking/viewTracking.ts","../src/lib/providers/FacebookPixel/events/fulfillment/viewTracking/viewTracking.ts","../src/lib/events/fulfillment/viewTracking/viewTracking.ts","../src/lib/events/fulfillment/index.ts","../src/lib/providers/GoogleAnalytics/events/geo/changeLocation/changeLocation.ts","../src/lib/providers/Segment/events/geo/changeLocation/changeLocation.ts","../src/lib/providers/FacebookPixel/events/geo/changeLocation/changeLocation.ts","../src/lib/events/geo/changeLocation/changeLocation.ts","../src/lib/providers/GoogleAnalytics/events/geo/findLocation/findLocation.ts","../src/lib/providers/Segment/events/geo/findLocation/findLocation.ts","../src/lib/providers/FacebookPixel/events/geo/findLocation/findLocation.ts","../src/lib/events/geo/findLocation/findLocation.ts","../src/lib/providers/GoogleAnalytics/events/geo/outOfCoverage/outOfCoverage.ts","../src/lib/providers/Segment/events/geo/outOfCoverage/outOfCoverage.ts","../src/lib/providers/FacebookPixel/events/geo/outOfCoverage/outOfCoverage.ts","../src/lib/events/geo/outOfCoverage/outOfCoverage.ts","../src/lib/providers/GoogleAnalytics/events/geo/setLocation/setLocation.ts","../src/lib/providers/Segment/events/geo/setLocation/setLocation.ts","../src/lib/providers/FacebookPixel/events/geo/setLocation/setLocation.ts","../src/lib/events/geo/setLocation/setLocation.ts","../src/lib/events/geo/index.ts","../src/lib/providers/GoogleAnalytics/events/help/requestAssistance/requestAssistance.ts","../src/lib/providers/Segment/events/help/requestAssistance/requestAssistance.ts","../src/lib/providers/FacebookPixel/events/help/requestAssistance/requestAssistance.ts","../src/lib/events/help/requestAssistance/requestAssistance.ts","../src/lib/events/help/index.ts","../src/lib/providers/GoogleAnalytics/events/loyalty/earnPoints/earnPoints.ts","../src/lib/providers/Segment/events/loyalty/earnPoints/earnPoints.ts","../src/lib/providers/FacebookPixel/events/loyalty/earnPoints/earnPoints.ts","../src/lib/events/loyalty/earnPoints/earnPoints.ts","../src/lib/providers/GoogleAnalytics/events/loyalty/sharePoints/sharePoints.ts","../src/lib/providers/Segment/events/loyalty/sharePoints/sharePoints.ts","../src/lib/providers/FacebookPixel/events/loyalty/sharePoints/sharePoints.ts","../src/lib/events/loyalty/sharePoints/sharePoints.ts","../src/lib/providers/GoogleAnalytics/events/loyalty/spendPoints/spendPoints.ts","../src/lib/providers/Segment/events/loyalty/spendPoints/spendPoints.ts","../src/lib/providers/FacebookPixel/events/loyalty/spendPoints/spendPoints.ts","../src/lib/events/loyalty/spendPoints/spendPoints.ts","../src/lib/providers/GoogleAnalytics/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.ts","../src/lib/providers/Segment/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.ts","../src/lib/providers/FacebookPixel/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.ts","../src/lib/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel.ts","../src/lib/events/loyalty/index.ts","../src/lib/providers/GoogleAnalytics/events/order/cancelOrder/cancelOrder.ts","../src/lib/providers/Segment/events/order/cancelOrder/cancelOrder.ts","../src/lib/providers/FacebookPixel/events/order/cancelOrder/cancelOrder.ts","../src/lib/events/order/cancelOrder/cancelOrder.ts","../src/lib/providers/GoogleAnalytics/events/order/rateOrder/rateOrder.ts","../src/lib/providers/Segment/events/order/rateOrder/rateOrder.ts","../src/lib/providers/FacebookPixel/events/order/rateOrder/rateOrder.ts","../src/lib/events/order/rateOrder/rateOrder.ts","../src/lib/providers/GoogleAnalytics/events/order/requestRefund/requestRefund.ts","../src/lib/providers/Segment/events/order/requestRefund/requestRefund.ts","../src/lib/providers/FacebookPixel/events/order/requestRefund/requestRefund.ts","../src/lib/events/order/requestRefund/requestRefund.ts","../src/lib/events/order/index.ts","../src/lib/providers/GoogleAnalytics/events/other/generateLead/generateLead.ts","../src/lib/providers/Segment/events/other/generateLead/generateLead.ts","../src/lib/providers/FacebookPixel/events/other/generateLead/generateLead.ts","../src/lib/events/other/generateLead/generateLead.ts","../src/lib/providers/FacebookPixel/events/other/screenView/screenView.ts","../src/lib/providers/GoogleAnalytics/events/other/screenView/screenView.ts","../src/lib/providers/Segment/events/other/screenView/screenView.ts","../src/lib/events/other/screenView/screenView.ts","../src/lib/providers/GoogleAnalytics/events/other/searchPageContent/searchPageContent.ts","../src/lib/providers/Segment/events/other/searchPageContent/searchPageContent.ts","../src/lib/providers/FacebookPixel/events/other/searchPageContent/searchPageContent.ts","../src/lib/events/other/searchPageContent/searchPageContent.ts","../src/lib/events/other/index.ts","../src/lib/providers/GoogleAnalytics/events/payment/changePaymentType/changePaymentType.ts","../src/lib/providers/Segment/events/payment/changePaymentType/changePaymentType.ts","../src/lib/providers/FacebookPixel/events/payment/changePaymentType/changePaymentType.ts","../src/lib/events/payment/changePaymentType/changePaymentType.ts","../src/lib/providers/GoogleAnalytics/events/payment/selectPaymentType/selectPaymentType.ts","../src/lib/providers/Segment/events/payment/selectPaymentType/selectPaymentType.ts","../src/lib/providers/FacebookPixel/events/payment/selectPaymentType/selectPaymentType.ts","../src/lib/events/payment/selectPaymentType/selectPaymentType.ts","../src/lib/providers/GoogleAnalytics/events/payment/setPaymentInfo/setPaymentInfo.ts","../src/lib/providers/Segment/events/payment/setPaymentInfo/setPaymentInfo.ts","../src/lib/providers/FacebookPixel/events/payment/setPaymentInfo/setPaymentInfo.ts","../src/lib/events/payment/setPaymentInfo/setPaymentInfo.ts","../src/lib/events/payment/index.ts","../src/lib/providers/GoogleAnalytics/events/product/customizeProduct/customizeProduct.ts","../src/lib/providers/Segment/events/product/customizeProduct/customizeProduct.ts","../src/lib/providers/FacebookPixel/events/product/customizeProduct/customizeProduct.ts","../src/lib/events/product/customizeProduct/customizeProduct.ts","../src/lib/providers/GoogleAnalytics/events/product/filterProducts/filterProducts.ts","../src/lib/providers/Segment/events/product/filterProducts/filterProducts.ts","../src/lib/providers/FacebookPixel/events/product/filterProducts/filterProducts.ts","../src/lib/events/product/filterProducts/filterProducts.ts","../src/lib/providers/GoogleAnalytics/events/product/productImpression/productImpression.ts","../src/lib/providers/Segment/events/product/productImpression/productImpression.ts","../src/lib/providers/FacebookPixel/events/product/productImpression/productImpression.ts","../src/lib/events/product/productImpression/productImpression.ts","../src/lib/providers/GoogleAnalytics/events/product/searchProductSuccess/searchProductSuccess.ts","../src/lib/providers/Segment/events/product/searchProductSuccess/searchProductSuccess.ts","../src/lib/providers/FacebookPixel/events/product/searchProductSuccess/searchProductSuccess.ts","../src/lib/events/product/searchProductSuccess/searchProductSuccess.ts","../src/lib/providers/GoogleAnalytics/events/product/searchProductAttempt/searchProductAttempt.ts","../src/lib/providers/Segment/events/product/searchProductAttempt/searchProductAttempt.ts","../src/lib/providers/FacebookPixel/events/product/searchProductAttempt/searchProductAttempt.ts","../src/lib/events/product/searchProductAttempt/searchProductAttempt.ts","../src/lib/providers/GoogleAnalytics/events/product/searchProductNotFound/searchProductNotFound.ts","../src/lib/providers/Segment/events/product/searchProductNotFound/searchProductNotFound.ts","../src/lib/providers/FacebookPixel/events/product/searchProductNotFound/searchProductNotFound.ts","../src/lib/events/product/searchProductNotFound/searchProductNotFound.ts","../src/lib/providers/GoogleAnalytics/events/product/selectProduct/selectProduct.ts","../src/lib/providers/Segment/events/product/selectProduct/selectProduct.ts","../src/lib/providers/FacebookPixel/events/product/selectProduct/selectProduct.ts","../src/lib/events/product/selectProduct/selectProduct.ts","../src/lib/providers/GoogleAnalytics/events/product/sortProducts/sortProducts.ts","../src/lib/providers/Segment/events/product/sortProducts/sortProducts.ts","../src/lib/providers/FacebookPixel/events/product/sortProducts/sortProducts.ts","../src/lib/events/product/sortProducts/sortProducts.ts","../src/lib/providers/GoogleAnalytics/events/product/viewProductDetails/viewProductDetails.ts","../src/lib/providers/Segment/events/product/viewProductDetails/viewProductDetails.ts","../src/lib/providers/FacebookPixel/events/product/viewProductDetails/viewProductDetails.ts","../src/lib/events/product/viewProductDetails/viewProductDetails.ts","../src/lib/events/product/index.ts","../src/lib/providers/GoogleAnalytics/events/purchase/purchaseAttempt/purchaseAttempt.ts","../src/lib/providers/Segment/events/purchase/purchaseAttempt/purchaseAttempt.ts","../src/lib/providers/FacebookPixel/events/purchase/purchaseAttempt/purchaseAttempt.ts","../src/lib/events/purchase/purchaseAttempt/purchaseAttempt.ts","../src/lib/providers/GoogleAnalytics/events/purchase/purchaseFail/purchaseFail.ts","../src/lib/providers/Segment/events/purchase/purchaseFail/purchaseFail.ts","../src/lib/providers/FacebookPixel/events/purchase/purchaseFail/purchaseFail.ts","../src/lib/events/purchase/purchaseFail/purchaseFail.ts","../src/lib/providers/GoogleAnalytics/events/purchase/purchaseSuccess/purchaseSuccess.ts","../src/lib/providers/Segment/events/purchase/purchaseSuccess/purchaseSuccess.ts","../src/lib/providers/FacebookPixel/events/purchase/purchaseSuccess/purchaseSuccess.ts","../src/lib/events/purchase/purchaseSuccess/purchaseSuccess.ts","../src/lib/events/purchase/index.ts","../src/lib/providers/GoogleAnalytics/events/settings/viewSettings/viewSettings.ts","../src/lib/providers/Segment/events/settings/viewSettings/viewSettings.ts","../src/lib/providers/FacebookPixel/events/settings/viewSettings/viewSettings.ts","../src/lib/events/settings/viewSettings/viewSettings.ts","../src/lib/events/settings/index.ts","../src/lib/providers/GoogleAnalytics/events/shipping/addShippingAddress/addShippingAddress.ts","../src/lib/providers/Segment/events/shipping/addShippingAddress/addShippingAddress.ts","../src/lib/providers/FacebookPixel/events/shipping/addShippingAddress/addShippingAddress.ts","../src/lib/events/shipping/addShippingAddress/addShippingAddress.ts","../src/lib/providers/GoogleAnalytics/events/shipping/selectShippingAddress/selectShippingAddress.ts","../src/lib/providers/Segment/events/shipping/selectShippingAddress/selectShippingAddress.ts","../src/lib/providers/FacebookPixel/events/shipping/selectShippingAddress/selectShippingAddress.ts","../src/lib/events/shipping/selectShippingAddress/selectShippingAddress.ts","../src/lib/providers/GoogleAnalytics/events/shipping/updateShippingAddress/updateShippingAddress.ts","../src/lib/providers/Segment/events/shipping/updateShippingAddress/updateShippingAddress.ts","../src/lib/providers/FacebookPixel/events/shipping/updateShippingAddress/updateShippingAddress.ts","../src/lib/events/shipping/updateShippingAddress/updateShippingAddress.ts","../src/lib/events/shipping/index.ts","../src/lib/providers/GoogleAnalytics/events/shoppingCart/addProductToCart/addProductToCart.ts","../src/lib/providers/Segment/events/shoppingCart/addProductToCart/addProductToCart.ts","../src/lib/providers/FacebookPixel/events/shoppingCart/addProductToCart/addProductToCart.ts","../src/lib/events/shoppingCart/addProductToCart/addProductToCart.ts","../src/lib/providers/GoogleAnalytics/events/shoppingCart/addProductToWishlist/addProductToWishlist.ts","../src/lib/providers/Segment/events/shoppingCart/addProductToWishlist/addProductToWishlist.ts","../src/lib/providers/FacebookPixel/events/shoppingCart/addProductToWishlist/addProductToWishlist.ts","../src/lib/events/shoppingCart/addProductToWishlist/addProductToWishlist.ts","../src/lib/providers/GoogleAnalytics/events/shoppingCart/clearCart/clearCart.ts","../src/lib/providers/Segment/events/shoppingCart/clearCart/clearCart.ts","../src/lib/providers/FacebookPixel/events/shoppingCart/clearCart/clearCart.ts","../src/lib/events/shoppingCart/clearCart/clearCart.ts","../src/lib/providers/GoogleAnalytics/events/shoppingCart/removeProductFromCart/removeProductFromCart.ts","../src/lib/providers/Segment/events/shoppingCart/removeProductFromCart/removeProductFromCart.ts","../src/lib/providers/FacebookPixel/events/shoppingCart/removeProductFromCart/removeProductFromCart.ts","../src/lib/events/shoppingCart/removeProductFromCart/removeProductFromCart.ts","../src/lib/providers/GoogleAnalytics/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.ts","../src/lib/providers/Segment/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.ts","../src/lib/providers/FacebookPixel/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.ts","../src/lib/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist.ts","../src/lib/providers/GoogleAnalytics/events/shoppingCart/updateProductInCart/updateProductInCart.ts","../src/lib/providers/Segment/events/shoppingCart/updateProductInCart/updateProductInCart.ts","../src/lib/providers/FacebookPixel/events/shoppingCart/updateProductInCart/updateProductInCart.ts","../src/lib/events/shoppingCart/updateProductInCart/updateProductInCart.ts","../src/lib/providers/GoogleAnalytics/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.ts","../src/lib/providers/Segment/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.ts","../src/lib/providers/FacebookPixel/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.ts","../src/lib/events/shoppingCart/updateProductInWishlist/updateProductInWishlist.ts","../src/lib/providers/GoogleAnalytics/events/shoppingCart/viewCart/viewCart.ts","../src/lib/providers/Segment/events/shoppingCart/viewCart/viewCart.ts","../src/lib/providers/FacebookPixel/events/shoppingCart/viewCart/viewCart.ts","../src/lib/events/shoppingCart/viewCart/viewCart.ts","../src/lib/events/shoppingCart/index.ts","../src/lib/providers/GoogleAnalytics/events/social/share/share.ts","../src/lib/providers/Segment/events/social/share/share.ts","../src/lib/providers/FacebookPixel/events/social/share/share.ts","../src/lib/events/social/share/share.ts","../src/lib/events/social/index.ts","../src/lib/providers/GoogleAnalytics/events/store/changeStore/changeStore.ts","../src/lib/providers/Segment/events/store/changeStore/changeStore.ts","../src/lib/providers/FacebookPixel/events/store/changeStore/changeStore.ts","../src/lib/events/store/changeStore/changeStore.ts","../src/lib/providers/GoogleAnalytics/events/store/setStore/setStore.ts","../src/lib/providers/Segment/events/store/setStore/setStore.ts","../src/lib/providers/FacebookPixel/events/store/setStore/setStore.ts","../src/lib/events/store/setStore/setStore.ts","../src/lib/events/store/index.ts","../src/lib/providers/GoogleAnalytics/events/user/setUserInfo/setUserInfo.ts","../src/lib/providers/Segment/events/user/setUserInfo/setUserInfo.ts","../src/lib/providers/FacebookPixel/events/user/setUserInfo/setUserInfo.ts","../src/lib/events/user/setUserInfo/setUserInfo.ts","../src/lib/providers/GoogleAnalytics/events/user/updateUserInfo/updateUserInfo.ts","../src/lib/providers/Segment/events/user/updateUserInfo/updateUserInfo.ts","../src/lib/providers/FacebookPixel/events/user/updateUserInfo/updateUserInfo.ts","../src/lib/events/user/updateUserInfo/updateUserInfo.ts","../src/lib/events/user/index.ts","../src/lib/providers/GoogleAnalytics/events/vendor/changeVendor/changeVendor.ts","../src/lib/providers/Segment/events/vendor/changeVendor/changeVendor.ts","../src/lib/providers/FacebookPixel/events/vendor/changeVendor/changeVendor.ts","../src/lib/events/vendor/changeVendor/changeVendor.ts","../src/lib/providers/GoogleAnalytics/events/vendor/setVendor/setVendor.ts","../src/lib/providers/Segment/events/vendor/setVendor/setVendor.ts","../src/lib/providers/FacebookPixel/events/vendor/setVendor/setVendor.ts","../src/lib/events/vendor/setVendor/setVendor.ts","../src/lib/events/vendor/index.ts","../src/lib/providers/GoogleAnalytics/events/workflow/selectWorkflow/selectWorkflow.ts","../src/lib/providers/Segment/events/workflow/selectWorkflow/selectWorkflow.ts","../src/lib/providers/FacebookPixel/events/workflow/selectWorkflow/selectWorkflow.ts","../src/lib/events/workflow/selectWorkflow/selectWorkflow.ts","../src/lib/providers/GoogleAnalytics/events/workflow/updateWorkflow/updateWorkflow.ts","../src/lib/providers/Segment/events/workflow/updateWorkflow/updateWorkflow.ts","../src/lib/providers/FacebookPixel/events/workflow/updateWorkflow/updateWorkflow.ts","../src/lib/events/workflow/updateWorkflow/updateWorkflow.ts","../src/lib/events/workflow/index.ts","../src/lib/events/events.ts","../src/utils/vendor.utils.ts","../src/utils/segment.utils.ts"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nlet state = null;\nconst initState = (initialState) => {\n Object.freeze(initialState);\n state = __spreadValues({}, initialState);\n Object.seal(state);\n};\nconst setState = (overrides) => {\n const tempState = state ? __spreadValues({}, state) : {};\n state = null;\n state = __spreadValues(__spreadValues({}, tempState), overrides);\n Object.seal(state);\n};\nconst getState = () => {\n if (state === null) {\n throw new Error(\"The state has not been initialized, make sure to call initState beforehand\");\n }\n return __spreadValues({}, state);\n};\nconst checkInit = () => {\n return !!state;\n};\n\nexport { checkInit, getState, initState, setState };\n//# sourceMappingURL=bundle.esm.js.map\n","// Global state\nimport { Platform } from \"react-native\";\nimport { initState } from \"@artisan-commerce/state\";\nimport { getState as getStateLib } from \"@artisan-commerce/state\";\nimport { setState as setStateLib } from \"@artisan-commerce/state\";\n\nimport { GlobalState } from \"../types/state.types\";\nimport packageJSON from \"../../package.json\";\n\n// Initial State\nconst initialState: GlobalState = {\n providers: [],\n activeVendor: undefined,\n vendors: undefined,\n debug: false,\n meta: {\n accountId: undefined,\n vendorId: undefined,\n vendorName: undefined,\n storeId: undefined,\n storeName: undefined,\n catalogueId: undefined,\n catalogueName: undefined,\n appName: undefined,\n platform: Platform.OS,\n versionApp: undefined,\n versionSDK: packageJSON.version\n }\n};\n\nexport const setInitialState = () => {\n initState<GlobalState>(initialState);\n};\n\nexport const getState = () => getStateLib<GlobalState>();\n\nexport const setState = (state: Partial<GlobalState>) =>\n setStateLib<GlobalState>(state);\n","// Log messages functions\nimport { getState } from \"./state.utils\";\nimport AnalyticsProvider from \"../lib/providers/AnalyticsProvider/AnalyticsProvider\";\nimport { SupportedProviders } from \"../types/common.types\";\n\n/**\n * Handles logs by level and evironment.\n *\n * @since 0.1.0\n * @param {string} message Message to be logged\n * @param {string} type message category\n * @throws If type is severe\n * @throws If type is not one of \"debug\" | \"log\" | \"warn\" | \"error\" | \"severe\"\n */\nexport const logMessage = (\n message: string,\n type: \"debug\" | \"log\" | \"warn\" | \"error\" | \"severe\"\n) => {\n const { debug } = getState();\n const isProduction = !__DEV__;\n const baseMessage = \"artisn-rn/analytics\";\n\n // If in production do not send this messages\n if (type === \"debug\" && isProduction) {\n return;\n }\n if (type === \"log\" && isProduction) {\n return;\n }\n if (type === \"severe\" && isProduction) {\n type = \"error\";\n }\n\n // If not on debug mode\n if (type === \"debug\" && !debug) {\n return;\n }\n\n switch (type) {\n case \"debug\":\n console.log(\n `%c(Debug) %c${baseMessage}:\\n${message}`,\n \"font-weight: bold\",\n \"font-weight: normal\"\n );\n break;\n case \"log\":\n console.log(\n `%c(Log) %c${baseMessage}:\\n${message}`,\n \"font-weight: bold\",\n \"font-weight: normal\"\n );\n break;\n case \"warn\":\n console.warn(\n `%c(Warning) %c${baseMessage}:\\n${message}`,\n \"font-weight: bold\",\n \"font-weight: normal\"\n );\n break;\n case \"error\":\n console.error(\n `%c(Error) %c${baseMessage}:\\n${message}`,\n \"font-weight: bold\",\n \"font-weight: normal\"\n );\n break;\n case \"severe\":\n throw new Error(`${baseMessage}: \\n${message}`);\n default:\n throw new Error(\n `Log message ${message} of type ${type} is not a supported type.`\n );\n }\n};\n\n/**\n * Log that the developer probably forgot to set an active vendor.\n *\n * @since 0.1.0\n */\nexport const noActiveVendor = () => {\n logMessage(\n \"No active vendor is set. Please make sure you configure an active vendor before trying to emit an event\",\n \"warn\"\n );\n};\n\n/**\n * Log that the active vendor is not one of the included vendors to receive events.\n *\n * @since 0.1.0\n * @param {string} eventName The name of the event\n * @param {string} provider the provider that will emit the event\n */\nexport const vendorNotIncluded = (\n eventName: string,\n provider: AnalyticsProvider\n) => {\n const { activeVendor } = getState();\n logMessage(\n `Skipping vendor ${activeVendor} for event ${eventName} of provider ${provider.name} as configured`,\n \"debug\"\n );\n};\n\n/**\n * Log that a given event has been emmited to the configured providers.\n *\n * @since 0.1.0\n * @param {string} eventName The name of the event\n * @param {AnalyticsProvider[]} providers Providers that emmited the given event\n */\nexport const eventSent = (\n eventName: string,\n providers: AnalyticsProvider[]\n) => {\n // Separate providers by type\n const providerGroups = providers.reduce<\n Record<SupportedProviders, AnalyticsProvider[]>\n >((acc, provider) => {\n const { name, type } = provider;\n const preProviders = acc[type] ?? [];\n return {\n ...acc,\n [type]: [...preProviders, name]\n };\n }, {} as Record<SupportedProviders, AnalyticsProvider[]>);\n // Build a message per provider type including all providers of given type\n const providersCategoryMessage = Object.entries(providerGroups).reduce(\n (acc, entry) => {\n const [type, categoryProviders] = entry;\n const typeMessage = type.charAt(0).toUpperCase() + type.slice(1);\n const providersMessage = categoryProviders.join(\", \");\n return `${acc}${typeMessage}: ${providersMessage}\\n`;\n },\n \"\"\n );\n // log the message\n logMessage(\n `Event ${eventName} was successfully sent to the following providers ${providersCategoryMessage}`,\n \"debug\"\n );\n};\n\n/**\n * Log that the SDK must be initialized before to try emit an event.\n *\n * @since 0.1.0\n * @param {SupportedProviders} providerType Supported providers\n */\nexport const logProvidersSDKNotLoaded = (providerType: SupportedProviders) => {\n logMessage(\n `${providerType} SDK not initialized. Please make sure the SDK is initialized before trying to emit an event`,\n \"severe\"\n );\n};\n\n/**\n * Log a provider config was updated.\n *\n * @since 0.1.0\n * @param {AnalyticsProvider} provider The provider that will emit the event\n * @param {Partial<unknown>} config Analyticis provider configured options\n */\nexport const logProviderConfigUpdated = (\n provider: AnalyticsProvider,\n config: Partial<unknown>\n) => {\n const fields = Object.entries(config).reduce((acc, entry, index) => {\n const [key, value] = entry;\n if (index === 0) return `${key}: ${value}`;\n return `${acc}\\n${key}: ${value}`;\n }, \"\");\n logMessage(\n `${provider.name} config updated for the following fields.\\n ${fields}`,\n \"debug\"\n );\n};\n","// analyticsProvider abstract class\nimport { logMessage } from \"../../../utils/logs.utils\";\nimport { logProviderConfigUpdated } from \"../../../utils/logs.utils\";\nimport { getState } from \"../../../utils/state.utils\";\nimport { AnalyticsProviderConstructor as Config } from \"./AnalyticsProvider.types\";\nimport { IAnaliticsProvider } from \"./AnalyticsProvider.types\";\n\n/**\n * Represents the base properties all AnalyticsProviders have.\n *\n * @abstract\n * @since 0.1.0\n */\nabstract class AnalyticsProvider implements IAnaliticsProvider {\n private initialized = false;\n readonly type: Config[\"type\"];\n readonly name: Config[\"name\"];\n private readonly _vendors: Config[\"vendors\"];\n\n /**\n * Representation of a Customer Account\n *\n * @constructs\n * @since 0.1.0\n * @param {Config} config artisn's account unique identifier.\n */\n constructor(config: Config) {\n const { type, name, vendors } = config;\n this.type = type;\n this.name = name;\n this._vendors = vendors;\n }\n\n /**\n * Gets the allowed vendors of the Analytics Provider.\n *\n * @since 0.1.0\n * @returns Analytics Provider vendors, if not specified it fallsback to the global vendors\n */\n get vendors() {\n const { vendors: globalVendors } = getState();\n return this._vendors ?? globalVendors;\n }\n\n /**\n * Runs any specific platform script to initialize the SDK.\n *\n * @since 0.1.0\n */\n init() {\n if (this.initialized) {\n return logMessage(\n `Provider ${this.name} was already initialized. Do not call init unless you know what you are doing.`,\n \"severe\"\n );\n }\n this.initialized = true;\n }\n\n /**\n * Updates the provider instance config for the next events.\n *\n * @since 0.1.0\n * @param {Partial<unknown>} config Analyticis provider configurable options\n */\n updateConfig(config: Partial<unknown>) {\n logProviderConfigUpdated(this, config);\n }\n}\n\nexport default AnalyticsProvider;\n","// facebookPixel functions\nimport { Settings } from \"react-native-fbsdk-next\";\n\nimport AnalyticsProvider from \"../AnalyticsProvider/AnalyticsProvider\";\nimport { FacebookPixelProvider as Config } from \"./FacebookPixel.types\";\nimport { FacebookPixelProviderConfig } from \"./FacebookPixel.types\";\n\n/**\n * Create a Facebook Pixel provider instance.\n *\n * @class\n * @since 0.1.0\n * @extends AnalyticsProvider\n */\nclass FacebookPixel extends AnalyticsProvider {\n private readonly _version: Config[\"version\"];\n private _currency: Config[\"currency\"];\n private _initializeIOSSDK: Config[\"initializeIOSSDK\"];\n\n /**\n * Contructs a Facebook Pixel Provider\n *\n * @constructs\n * @since 0.1.0\n * @param {Config} config provider configuration\n */\n constructor(config: Config) {\n const { version, currency, initializeIOSSDK } = config;\n super({ ...config, type: \"FACEBOOK_PIXEL\" });\n this._version = version ?? \"10.0\";\n this._currency = currency ?? \"USD\";\n this._initializeIOSSDK = initializeIOSSDK ?? true;\n }\n\n init() {\n super.init();\n if (this._initializeIOSSDK) Settings.initializeSDK();\n }\n\n get version(): Config[\"version\"] {\n return this._version;\n }\n\n get currency(): Config[\"currency\"] {\n return this._currency;\n }\n\n get initializeIOSSDK(): Config[\"initializeIOSSDK\"] {\n return this._initializeIOSSDK;\n }\n\n /**\n * @override\n * @since 0.1.0\n */\n updateConfig(config: Partial<FacebookPixelProviderConfig> = {}) {\n const filteredFields = Object.entries(config).filter(entry => {\n return typeof entry[1] !== \"undefined\";\n });\n const filteredKeys = filteredFields.map(field => field[0]);\n const { currency } = config;\n\n // If new config includes configurable key, then set it to the new value\n if (filteredKeys.includes(\"currency\")) this._currency = currency;\n super.updateConfig(config);\n }\n}\n\nexport default FacebookPixel;\n","// GoogleAnalytics functions\nimport AnalyticsProvider from \"../AnalyticsProvider/AnalyticsProvider\";\nimport { GoogleAnalyticsProvider as Config } from \"./GoogleAnalytics.types\";\nimport { GoogleAnalyticsProviderConfig } from \"./GoogleAnalytics.types\";\n\n/**\n * Create a Google Analytics provider instance\n *\n * @class\n * @since 0.1.0\n * @extends AnalyticsProvider\n */\nclass GoogleAnalytics extends AnalyticsProvider {\n private _sampleRate: Config[\"sampleRate\"];\n private _userId: Config[\"userId\"];\n private _language: Config[\"language\"];\n private _currency: Config[\"currency\"];\n\n /**\n * Contructs a Google Analytics Provider\n *\n * @constructs\n * @since 0.1.0\n * @param {Config} config provider configuration\n */\n constructor(config: Config) {\n super({ ...config, type: \"GOOGLE_ANALYTICS\" });\n const { userId, currency, language, sampleRate } = config;\n this._sampleRate = sampleRate;\n this._userId = userId;\n this._language = language;\n this._currency = currency ?? \"USD\";\n }\n\n get sampleRate(): Config[\"sampleRate\"] {\n return this._sampleRate;\n }\n\n get userId(): Config[\"userId\"] {\n return this._userId;\n }\n\n get language(): Config[\"language\"] {\n return this._language;\n }\n\n get currency(): Config[\"currency\"] {\n return this._currency;\n }\n\n /**\n * @override\n * @since 0.1.0\n */\n updateConfig(config: Partial<GoogleAnalyticsProviderConfig> = {}) {\n const filteredFields = Object.entries(config).filter(entry => {\n return typeof entry[1] !== \"undefined\";\n });\n const filteredKeys = filteredFields.map(field => field[0]);\n const { userId, currency, language } = config;\n\n // If new config includes configurable key, then set it to the new value\n if (filteredKeys.includes(\"userId\")) this._userId = userId;\n if (filteredKeys.includes(\"currency\")) this._currency = currency;\n if (filteredKeys.includes(\"language\")) this._language = language;\n super.updateConfig(config);\n }\n}\n\nexport default GoogleAnalytics;\n","// Segment functions\nimport analytics from \"@segment/analytics-react-native\";\n\nimport AnalyticsProvider from \"../AnalyticsProvider/AnalyticsProvider\";\nimport { SegmentProvider as Config } from \"./Segment.types\";\nimport { SegmentProviderConfig } from \"./Segment.types\";\nimport { getState } from \"../../../utils/state.utils\";\n\n/**\n * Create a Segment provider instance\n *\n * @class\n * @since 0.1.0\n * @extends AnalyticsProvider\n */\nclass Segment extends AnalyticsProvider {\n private _writeKey: Config[\"writeKey\"];\n private _currency: Config[\"currency\"];\n\n /**\n * Contructs a Segment Provider\n *\n * @constructs\n * @since 0.1.0\n * @param {Config} config provider configuration\n */\n constructor(config: Config) {\n super({ ...config, type: \"SEGMENT\" });\n const { writeKey, currency } = config;\n this._writeKey = writeKey;\n this._currency = currency ?? \"USD\";\n }\n\n /**\n * @override\n * @since 0.1.0\n */\n async init() {\n super.init();\n const { debug } = getState();\n try {\n await analytics.setup(this._writeKey, {\n recordScreenViews: true,\n trackAppLifecycleEvents: true,\n debug\n });\n } catch (error) {\n console.error(\"Something went wrong\", error);\n }\n }\n\n /**\n * @override\n * @since 0.1.0\n */\n updateConfig(config: Partial<SegmentProviderConfig> = {}) {\n const filteredFields = Object.entries(config).filter(entry => {\n return typeof entry[1] !== \"undefined\";\n });\n const filteredKeys = filteredFields.map(field => field[0]);\n const { currency } = config;\n\n if (filteredKeys.includes(\"currency\")) this._currency = currency;\n super.updateConfig(config);\n }\n}\n\nexport default Segment;\n","// Providers constructor instances index\nimport FacebookPixel from \"./FacebookPixel/FacebookPixel\";\nimport GoogleAnalytics from \"./GoogleAnalytics/GoogleAnalytics\";\nimport Segment from \"./Segment/Segment\";\n\nconst Providers = {\n FacebookPixel,\n GoogleAnalytics,\n Segment\n};\n\nexport default Providers;\n","// initAnalytics helper functions and data\nimport AnalyticsProvider from \"../providers/AnalyticsProvider/AnalyticsProvider\";\n\n/**\n * Check if the given providers are unique.\n *\n * @since 0.1.0\n * @param {AnalyticsProvider[]} providers Providers list\n * @returns {boolean} true if no provider clashes with another\n */\nexport const checkUniqueProvider = (providers: AnalyticsProvider[]) => {\n const providersTypes = providers.map(provider => provider.type);\n const uniqueProviderTypes = new Set(providersTypes);\n return uniqueProviderTypes.size === providersTypes.length;\n};\n","// initAnalytics functions\nimport { Platform } from \"react-native\";\n\nimport { setInitialState, setState } from \"../../utils/state.utils\";\nimport { GlobalState } from \"../../types/state.types\";\nimport { logMessage } from \"../../utils/logs.utils\";\nimport { InitAnalyticsConfig } from \"./initAnalytics.types\";\nimport packageJSON from \"../../../package.json\";\nimport { checkUniqueProvider } from \"./initAnalytics.helpers\";\n\nlet initialized = false;\n\n/**\n * Initializes the analytics module, connects to every provider.\n *\n * @since 0.1.0\n * @param {InitAnalyticsConfig} config Initialization configuration.\n */\nexport const initAnalytics = (config: InitAnalyticsConfig) => {\n if (initialized) {\n logMessage(\n \"initAnalytics has been called more than once. This behaviour will very likely result in unexpected outcomes so its call was skipped. Please make sure initAnalytics is only called once.\",\n \"debug\"\n );\n return;\n }\n initialized = true;\n\n // Init state\n setInitialState();\n\n const { providers } = config;\n\n // Check at least one provider\n if (!providers.length) {\n return logMessage(\n \"At least one provider should be included but none were found\",\n \"severe\"\n );\n }\n\n // Check if providers name are not unique\n if (!checkUniqueProvider(providers)) {\n return logMessage(\n \"Providers must be unique, check that no provider are repeated\",\n \"severe\"\n );\n }\n\n // Save config in global state\n const { meta, ...rest } = config;\n const enhancedConfig: Partial<GlobalState> = {\n ...rest,\n providers,\n meta: {\n ...meta,\n vendorId: rest.activeVendor,\n platform: Platform.OS,\n versionSDK: packageJSON.version\n }\n };\n setState(enhancedConfig);\n\n providers.forEach(provider => {\n const { vendors, name } = provider;\n if (!vendors) {\n logMessage(\n `The provider ${name} has no set vendors, as a result no events will be skipped for this provider`,\n \"debug\"\n );\n }\n provider.init();\n });\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nvar SUPPORTED_LOCALE = {\n tr: {\n regexp: /\\u0130|\\u0049|\\u0049\\u0307/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n az: {\n regexp: /\\u0130/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n lt: {\n regexp: /\\u0049|\\u004A|\\u012E|\\u00CC|\\u00CD|\\u0128/g,\n map: {\n I: \"\\u0069\\u0307\",\n J: \"\\u006A\\u0307\",\n Į: \"\\u012F\\u0307\",\n Ì: \"\\u0069\\u0307\\u0300\",\n Í: \"\\u0069\\u0307\\u0301\",\n Ĩ: \"\\u0069\\u0307\\u0303\",\n },\n },\n};\n/**\n * Localized lower case.\n */\nexport function localeLowerCase(str, locale) {\n var lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang)\n return lowerCase(str.replace(lang.regexp, function (m) { return lang.map[m]; }));\n return lowerCase(str);\n}\n/**\n * Lower case as a function.\n */\nexport function lowerCase(str) {\n return str.toLowerCase();\n}\n//# sourceMappingURL=index.js.map","import { lowerCase } from \"lower-case\";\n// Support camel case (\"camelCase\" -> \"camel Case\" and \"CAMELCase\" -> \"CAMEL Case\").\nvar DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];\n// Remove all non-word characters.\nvar DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;\n/**\n * Normalize the string into something other libraries can manipulate easier.\n */\nexport function noCase(input, options) {\n if (options === void 0) { options = {}; }\n var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? \" \" : _d;\n var result = replace(replace(input, splitRegexp, \"$1\\0$2\"), stripRegexp, \"\\0\");\n var start = 0;\n var end = result.length;\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\")\n start++;\n while (result.charAt(end - 1) === \"\\0\")\n end--;\n // Transform each token independently.\n return result.slice(start, end).split(\"\\0\").map(transform).join(delimiter);\n}\n/**\n * Replace `re` in the input string with the replacement value.\n */\nfunction replace(input, re, value) {\n if (re instanceof RegExp)\n return input.replace(re, value);\n return re.reduce(function (input, re) { return input.replace(re, value); }, input);\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { noCase } from \"no-case\";\nexport function dotCase(input, options) {\n if (options === void 0) { options = {}; }\n return noCase(input, __assign({ delimiter: \".\" }, options));\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { dotCase } from \"dot-case\";\nexport function snakeCase(input, options) {\n if (options === void 0) { options = {}; }\n return dotCase(input, __assign({ delimiter: \"_\" }, options));\n}\n//# sourceMappingURL=index.js.map","import { snakeCase } from \"snake-case\";\n\n/**\n * Update the event prameters keys to be in snake case.\n *\n * @since 0.1.0\n * @param {T} params Event parameters to be transformed\n * @returns {T} Event parameters with its keys in snake case\n */\nexport const eventParamsToSnakeCase = <T>(params: T) => {\n return Object.entries(params).reduce<T>((acc, params) => {\n const [key, value] = params;\n const newKey = snakeCase(key);\n return {\n ...acc,\n [newKey]: value\n };\n }, {} as T);\n};\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ChangePasswordAttemptParams } from \"./changePasswordAttempt.types\";\n\n/**\n * Emits a changePasswordAttempt event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ChangePasswordAttemptParams} params Event configuration parameters\n */\nconst changePasswordAttempt = (\n provider: FacebookPixelProvider,\n params: ChangePasswordAttemptParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ChangePasswordAttempt\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default changePasswordAttempt;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ChangePasswordAttemptParams } from \"./changePasswordAttempt.types\";\n\n/**\n * Emits a ChangePasswordAttempt event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ChangePasswordAttemptParams} params Event configuration parameters\n */\nconst ChangePasswordAttempt = (\n provider: GoogleAnalyticsProvider,\n params: ChangePasswordAttemptParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"change_password_attempt\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default ChangePasswordAttempt;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ChangePasswordAttemptParams } from \"./changePasswordAttempt.types\";\n\n/**\n * Emits a changePasswordAttempt event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ChangePasswordAttemptParams} params Event configuration parameters\n */\nconst changePasswordAttempt = (\n provider: SegmentProvider,\n params: ChangePasswordAttemptParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Change Password Attempt\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default changePasswordAttempt;\n","const CONSTANTS = {\n PRODUCT_DATE_FORMAT: \"YYYY-MM-DD hh:mm:ss.SSS\",\n DEFAULT_SHOPPING_CART_NAME: \"default\",\n DEFAULT_MAX_SHOPPING_CARTS: 2\n};\n\nclass ActionQueue {\n constructor() {\n this.queue = [];\n }\n get length() {\n return this.queue.length;\n }\n enqueue(newItem) {\n this.queue.push(newItem);\n }\n dequeue() {\n return this.queue.shift();\n }\n}\n\nclass EventLoop {\n constructor() {\n this.running = false;\n }\n async run() {\n const { queue } = getState();\n const next = queue.dequeue();\n if (!next) {\n this.running = false;\n return;\n }\n return await next();\n }\n get isRunning() {\n return this.running;\n }\n async start() {\n this.running = true;\n while (this.running) {\n await this.run();\n }\n }\n}\n\nvar __defProp$k = Object.defineProperty;\nvar __getOwnPropSymbols$k = Object.getOwnPropertySymbols;\nvar __hasOwnProp$k = Object.prototype.hasOwnProperty;\nvar __propIsEnum$k = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$k = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$k = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$k.call(b, prop))\n __defNormalProp$k(a, prop, b[prop]);\n if (__getOwnPropSymbols$k)\n for (var prop of __getOwnPropSymbols$k(b)) {\n if (__propIsEnum$k.call(b, prop))\n __defNormalProp$k(a, prop, b[prop]);\n }\n return a;\n};\nconst { DEFAULT_SHOPPING_CART_NAME: DEFAULT_SHOPPING_CART_NAME$2, DEFAULT_MAX_SHOPPING_CARTS } = CONSTANTS;\nconst initialState = {\n artisnApp: void 0,\n accountId: void 0,\n customerId: void 0,\n activeShoppingCart: DEFAULT_SHOPPING_CART_NAME$2,\n maxShoppingCarts: DEFAULT_MAX_SHOPPING_CARTS,\n wallets: {},\n anonymous: false,\n initialized: false,\n queue: new ActionQueue(),\n eventLoop: new EventLoop(),\n debug: false\n};\nObject.freeze(initialState);\nlet state = __spreadValues$k({}, initialState);\nObject.seal(state);\nconst setState = (overrides) => {\n state = __spreadValues$k(__spreadValues$k({}, state), overrides);\n};\nconst getState = () => {\n return __spreadValues$k({}, state);\n};\n\nvar __defProp$j = Object.defineProperty;\nvar __defProps$e = Object.defineProperties;\nvar __getOwnPropDescs$e = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$j = Object.getOwnPropertySymbols;\nvar __hasOwnProp$j = Object.prototype.hasOwnProperty;\nvar __propIsEnum$j = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$j = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$j = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$j.call(b, prop))\n __defNormalProp$j(a, prop, b[prop]);\n if (__getOwnPropSymbols$j)\n for (var prop of __getOwnPropSymbols$j(b)) {\n if (__propIsEnum$j.call(b, prop))\n __defNormalProp$j(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$e = (a, b) => __defProps$e(a, __getOwnPropDescs$e(b));\nconst sortByField = (field, a, b) => {\n const idA = a[field];\n const idB = b[field];\n if (idA > idB) {\n return 1;\n } else if (idB > idA) {\n return -1;\n } else {\n return 0;\n }\n};\nconst sortByProductId = (a, b) => {\n return sortByField(\"productId\", a, b);\n};\nconst sortByQuestionId = (a, b) => {\n return sortByField(\"questionId\", a, b);\n};\nconst logError = (message) => {\n if (process.env.NODE_ENV === \"production\") {\n console.error(message);\n } else {\n throw new Error(message);\n }\n};\nconst logDebug = (message) => {\n const { debug } = getState();\n if (!debug)\n return;\n console.warn(message);\n};\nconst reuseGlobalConfig = (config) => {\n const { debug: configDebug } = config != null ? config : {};\n const { store: configStore } = config != null ? config : {};\n const { accountId: configAccountId } = config != null ? config : {};\n const { anonymous: configAnonymous } = config != null ? config : {};\n const { customerId: configCustomerId } = config != null ? config : {};\n const { shoppingCartName: configCartName } = config != null ? config : {};\n const { maxShoppingCarts: configMaxShoppingCarts } = config != null ? config : {};\n const { accountId: globalAccountId } = getState();\n const { customerId: globalCustomerId } = getState();\n const { store: globalStore, anonymous: globalAnonymous } = getState();\n const { activeShoppingCart: globalCartName } = getState();\n const { maxShoppingCarts: globalMaxShoppingCarts } = getState();\n const { debug: globalDebug } = getState();\n const accountId = configAccountId != null ? configAccountId : globalAccountId;\n const customerId = configCustomerId != null ? configCustomerId : globalCustomerId;\n const prunedConfigStore = configStore ? __spreadProps$e(__spreadValues$j({}, configStore), { polygons: null }) : void 0;\n const store = prunedConfigStore != null ? prunedConfigStore : globalStore;\n const shoppingCartName = configCartName != null ? configCartName : globalCartName;\n const maxShoppingCarts = configMaxShoppingCarts != null ? configMaxShoppingCarts : globalMaxShoppingCarts;\n const anonymous = configAnonymous != null ? configAnonymous : globalAnonymous;\n const debug = configDebug != null ? configDebug : globalDebug;\n return __spreadProps$e(__spreadValues$j({}, config), {\n shoppingCartName,\n customerId,\n store,\n accountId,\n anonymous,\n maxShoppingCarts,\n debug\n });\n};\n\nvar __defProp$i = Object.defineProperty;\nvar __defProps$d = Object.defineProperties;\nvar __getOwnPropDescs$d = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$i = Object.getOwnPropertySymbols;\nvar __hasOwnProp$i = Object.prototype.hasOwnProperty;\nvar __propIsEnum$i = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$i(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$i = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$i.call(b, prop))\n __defNormalProp$i(a, prop, b[prop]);\n if (__getOwnPropSymbols$i)\n for (var prop of __getOwnPropSymbols$i(b)) {\n if (__propIsEnum$i.call(b, prop))\n __defNormalProp$i(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$d = (a, b) => __defProps$d(a, __getOwnPropDescs$d(b));\nconst { DEFAULT_SHOPPING_CART_NAME: DEFAULT_SHOPPING_CART_NAME$1 } = CONSTANTS;\nconst initShoppingCart = (artisnApp, config = {}) => {\n const { initialized } = getState();\n if (initialized) {\n logDebug(`initShoppingCart has been called more than once.\n This behavior will very likely result in unexpected outcomes so its\n call was skipped. Please make sure initShoppingCart is only called once`);\n return;\n }\n const { shoppingCartName } = config;\n setState(__spreadProps$d(__spreadValues$i({\n artisnApp\n }, config), {\n activeShoppingCart: shoppingCartName != null ? shoppingCartName : DEFAULT_SHOPPING_CART_NAME$1\n }));\n const isServer = typeof window === \"undefined\";\n if (!isServer)\n setState({ initialized: true });\n};\nconst closeShoppingCart = () => {\n setState(__spreadValues$i({}, initialState));\n};\n\nconst checkArtisnAppProvided = (message = \"\") => {\n const { artisnApp } = getState();\n if (!artisnApp) {\n throw new Error(`Artisn app must be provided, you probably forgot to initialize the shopping cart. Please make sure initShoppingCart has been called beforehand. ${message}`);\n }\n};\n\nconst checkAccountId = (accountId, message = \"\") => {\n const { accountId: globalAccountId } = getState();\n if (typeof accountId === \"undefined\" && typeof globalAccountId === \"undefined\") {\n throw new Error(`AccountId must be defined. Either provide a global accountId or at the function call level. ${message}`);\n }\n};\nconst checkCustomerId = (customerId, message = \"\") => {\n const { customerId: globalCustomerId } = getState();\n if (typeof customerId === \"undefined\" && typeof globalCustomerId === \"undefined\") {\n throw new Error(`CustomerId must be defined. Either provide a global customerId or at the function call level. ${message}`);\n }\n};\nconst checkStoreId = (store, message = \"\") => {\n const { store: globalStore } = getState();\n if (typeof store === \"undefined\" && typeof globalStore === \"undefined\") {\n throw new Error(`Store must be defined. Either provide a global store or at the function call level. ${message}`);\n }\n};\nconst checkApiURL = (apiURL, message = \"\") => {\n const { apiURL: globalApiURL } = getState().artisnApp;\n if (typeof apiURL === \"undefined\" && typeof globalApiURL === \"undefined\") {\n throw new Error(`ApiURL must be defined. Either provide a global ApiURL or at the function call level. ${message}`);\n }\n};\nconst checkMinimumConfigProvided = (config = {}) => {\n const { accountId, customerId } = config;\n checkAccountId(accountId);\n checkCustomerId(customerId);\n};\nconst checkBenefitConfigProvided = (wallets, cartName, config) => {\n const { benefitId } = config != null ? config : {};\n const activeWallet = wallets[cartName];\n const benefits = activeWallet == null ? void 0 : activeWallet.benefits;\n checkBenefitId(benefitId);\n if (!activeWallet || !benefits) {\n return `No benefits wallet available for ${cartName}, you probably forgot to call listenBenefitsWallet beforehand.`;\n }\n};\nconst checkBenefitId = (benefitId) => {\n if (typeof benefitId !== \"undefined\")\n return;\n throw new Error(`BenefitId must be defined. Provide it at the function call level.`);\n};\nconst checkVendorId = (vendorId, message = \"\") => {\n if (typeof vendorId === \"undefined\") {\n throw new Error(`VendorId must be defined. Provide a global vendorId at the function call level. ${message}`);\n }\n};\nconst checkMinimumFetchWalletConfigProvided = (config) => {\n const { customerId } = config != null ? config : {};\n checkCustomerId(customerId);\n};\nconst checkPlatform = (platform, message = \"\") => {\n const { artisnApp } = getState();\n const { settings } = artisnApp;\n const { platform: globalPlatform } = settings;\n if (typeof platform === \"undefined\" && typeof globalPlatform === \"undefined\") {\n throw new Error(`Platform must be defined. Either provide a global Platform in the artisn object or at the function call level. ${message}`);\n }\n};\nconst checkCommonHeaders = (headers) => {\n const { Platform, account } = headers != null ? headers : {};\n checkPlatform(Platform);\n let selectedAccount = parseInt(account != null ? account : \"\", 10);\n if (isNaN(selectedAccount))\n selectedAccount = void 0;\n checkAccountId(selectedAccount);\n};\nconst checkStoreCouponDetailConfig = (config, message = \"\") => {\n const { countryId, couponId } = config;\n if (typeof countryId === \"undefined\" || typeof couponId === \"undefined\") {\n throw new Error(`Country id or coupon id must be defined. Provide those params at the function call level. ${message}`);\n }\n};\n\nvar __defProp$h = Object.defineProperty;\nvar __getOwnPropSymbols$h = Object.getOwnPropertySymbols;\nvar __hasOwnProp$h = Object.prototype.hasOwnProperty;\nvar __propIsEnum$h = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$h(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$h = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$h.call(b, prop))\n __defNormalProp$h(a, prop, b[prop]);\n if (__getOwnPropSymbols$h)\n for (var prop of __getOwnPropSymbols$h(b)) {\n if (__propIsEnum$h.call(b, prop))\n __defNormalProp$h(a, prop, b[prop]);\n }\n return a;\n};\nconst getStore = (storeData, stores) => {\n const { storeId } = storeData != null ? storeData : {};\n return __spreadValues$h(__spreadValues$h({}, storeData), stores[storeId]);\n};\nconst checkInit = () => getState().initialized;\nconst cleanShoppingCart = (shoppingCart, product) => {\n const { benefits } = shoppingCart;\n if (!(benefits == null ? void 0 : benefits.length))\n return shoppingCart;\n const benefit = benefits.find((benefit2) => {\n if (!product)\n return true;\n const { type } = benefit2;\n if (type !== \"PRODUCT\")\n return void 0;\n if (!Array.isArray(benefit2.award))\n return void 0;\n return benefit2.award.find((award) => award.productId.toString() === product.productId);\n });\n if (!benefit)\n return shoppingCart;\n delete shoppingCart.benefits;\n delete shoppingCart.benefitsHash;\n return shoppingCart;\n};\n\nconst getShoppingCartNodes = async (config = {}) => {\n var _a, _b;\n const reusedConfig = reuseGlobalConfig(config);\n const { artisnApp } = getState();\n const { accountId, customerId, anonymous } = reusedConfig;\n checkArtisnAppProvided();\n checkMinimumConfigProvided(reusedConfig);\n const path = anonymous ? \"anonymousShoppingCartByUser\" : \"shoppingCartByUser\";\n const db = artisnApp == null ? void 0 : artisnApp.__internals__.firestore();\n const cartsCollection = await ((_b = (_a = db == null ? void 0 : db.collection(path)) == null ? void 0 : _a.doc(String(customerId))) == null ? void 0 : _b.collection(String(accountId)));\n return cartsCollection;\n};\nconst getShoppingCartNode = async (config) => {\n const { shoppingCartName } = reuseGlobalConfig(config);\n const cartsCollection = await getShoppingCartNodes(config);\n if (!cartsCollection || !checkInit())\n return;\n const newestCart = await cartsCollection.where(\"name\", \"==\", shoppingCartName).get().then((userCarts) => {\n return userCarts.docs[0];\n });\n return newestCart;\n};\nconst getShoppingCart = async (config) => {\n return new Promise((resolve, reject) => {\n const action = async () => {\n try {\n const { shoppingCartName } = reuseGlobalConfig(config);\n const shoppingCartNode = await getShoppingCartNode(config);\n if (!shoppingCartNode || !checkInit()) {\n resolve(null);\n return null;\n }\n setState({ activeShoppingCart: shoppingCartName });\n const shoppingCart = shoppingCartNode.data();\n resolve(shoppingCart);\n return shoppingCart;\n } catch (e) {\n reject(e);\n return null;\n }\n };\n const { eventLoop, queue } = getState();\n queue.enqueue(action);\n if (!eventLoop.isRunning)\n eventLoop.start();\n });\n};\nconst listenShoppingCart = async (onSnapshot, config = {}) => {\n const { shoppingCartName } = reuseGlobalConfig(config);\n const shoppingCartDocs = await getShoppingCartNodes(config);\n if (!shoppingCartDocs || !checkInit()) {\n return () => {\n };\n }\n setState({ activeShoppingCart: shoppingCartName });\n return shoppingCartDocs.where(\"name\", \"==\", shoppingCartName).onSnapshot(async (snapshot) => {\n var _a;\n if (!((_a = snapshot == null ? void 0 : snapshot.docs) == null ? void 0 : _a[0])) {\n logDebug(`Failed to fetch a shopping cart with name ${shoppingCartName} because there wasn't any.`);\n return onSnapshot(void 0);\n }\n const shoppingCartData = await snapshot.docs[0].data();\n return onSnapshot(shoppingCartData);\n });\n};\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar dayjs_min = {exports: {}};\n\n(function (module, exports) {\n!function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",$=\"Invalid Date\",l=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},D=\"en\",v={};v[D]=M;var p=function(t){return t instanceof _},S=function(t,e,n){var r;if(!t)return D;if(\"string\"==typeof t)v[t]&&(r=t),e&&(v[t]=e,r=t);else {var i=t.name;v[i]=t,r=i;}return !n&&r&&(D=r),r||!n&&D},w=function(t,e){if(p(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),$=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},l=function(t,e){return O.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,g=\"set\"+(this.$u?\"UTC\":\"\");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var D=this.$locale().weekStart||0,v=(y<D?y+7:y)-D;return $(r?m-v:m+(6-v),M);case a:case d:return l(g+\"Hours\",0);case u:return l(g+\"Minutes\",1);case s:return l(g+\"Seconds\",2);case i:return l(g+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h=\"set\"+(this.$u?\"UTC\":\"\"),$=(n={},n[a]=h+\"Date\",n[d]=h+\"Date\",n[f]=h+\"Month\",n[c]=h+\"FullYear\",n[u]=h+\"Hours\",n[s]=h+\"Minutes\",n[i]=h+\"Seconds\",n[r]=h+\"Milliseconds\",n)[o],l=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[$](l),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else $&&this.$d[$](l);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,$=this;r=Number(r);var l=O.p(h),y=function(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$)};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||$;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].substr(0,s)},c=function(t){return O.s(s%12||12,t,\"0\")},d=n.meridiem||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,\"0\"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,\"0\"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,\"0\"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,\"0\"),s:String(this.$s),ss:O.s(this.$s,2,\"0\"),SSS:O.s(this.$ms,3,\"0\"),Z:i};return r.replace(y,(function(t,e){return e||l[t]||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,D=O.m(this,M);return D=(l={},l[c]=D/12,l[f]=D,l[h]=D/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?D:O.a(D)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return v[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),b=_.prototype;return w.prototype=b,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",f],[\"$y\",c],[\"$D\",d]].forEach((function(t){b[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=v[D],w.Ls=v,w.p={},w}));\n}(dayjs_min));\n\nvar dayjs = dayjs_min.exports;\n\nconst isBaseProduct = (product) => {\n const { attributes, description, name } = product;\n const { images, prices, productId } = product;\n const { showInMenu } = attributes;\n if (typeof showInMenu !== \"boolean\") {\n return false;\n }\n if (typeof description !== \"string\") {\n return false;\n }\n if (typeof name !== \"string\") {\n return false;\n }\n if (typeof productId !== \"string\") {\n return false;\n }\n if (typeof prices !== \"object\" || typeof prices === \"object\" && Object.keys(prices).length < 1) {\n return false;\n }\n if (!Array.isArray(images)) {\n return false;\n }\n return true;\n};\nconst isProductDetails = (product) => {\n const validBaseProduct = isBaseProduct(product);\n if (!validBaseProduct) {\n return false;\n }\n const { questions } = product;\n if (!Array.isArray(questions)) {\n return false;\n }\n return true;\n};\nconst isCartProduct = (product) => {\n const validProductDetails = isProductDetails(product);\n if (!validProductDetails) {\n return false;\n }\n const { hash, createdAt, updatedAt } = product;\n const { amount, priceCategory, comment, questionsAndAnswers } = product;\n if (typeof hash !== \"string\") {\n return false;\n }\n if (typeof createdAt !== \"string\") {\n return false;\n }\n if (typeof updatedAt !== \"string\") {\n return false;\n }\n if (typeof amount !== \"number\") {\n return false;\n }\n if (typeof comment !== \"string\") {\n return false;\n }\n if (![\"NORMAL\", \"POINTS\"].includes(priceCategory)) {\n return false;\n }\n if (!Array.isArray(questionsAndAnswers)) {\n return false;\n }\n return true;\n};\nconst isFormCartProduct = (product) => {\n var _a;\n const validCartProduct = isCartProduct(product);\n if (!validCartProduct) {\n return false;\n }\n const { questions } = product;\n if (!Array.isArray(questions)) {\n return false;\n }\n const answers = (_a = questions == null ? void 0 : questions[0]) == null ? void 0 : _a.answers;\n if ((answers == null ? void 0 : answers.length) && typeof answers[0].amount === \"undefined\") {\n return false;\n }\n return true;\n};\nconst getGroupType = (group) => {\n const { min, max, type } = group;\n if (type) {\n if (type === \"QUANTITY\" || type === \"SELECT\") {\n return \"COUNTER\";\n }\n return type;\n }\n if (min === 0 && max === 1) {\n return \"CHECKBOX\";\n }\n if (min === 1 && max === 1) {\n return \"RADIO\";\n }\n if (min === 0 && (max === 0 || max === Infinity)) {\n return \"COUNTER\";\n }\n if (max >= min) {\n return \"COUNTER\";\n }\n throw new Error(`Modifier group bad configured. min ${min}, max ${max}, type ${type}`);\n};\nconst getModifierType = (config) => {\n const { groupType, min, max, type } = config;\n if (groupType === \"RADIO\") {\n return \"RADIO\";\n }\n if (type) {\n if (type === \"QUANTITY\" || type === \"SELECT\") {\n return \"COUNTER\";\n }\n return type;\n }\n if (min === 1 && max === 1) {\n return \"RADIO\";\n }\n if (min === 0 && max === 1) {\n return \"CHECKBOX\";\n }\n if (min === 0 && (max === 0 || max === Infinity)) {\n return \"COUNTER\";\n }\n if (max >= min) {\n return \"COUNTER\";\n }\n return groupType;\n};\nconst getModifierMin = (groupConfig) => {\n const { min, modifiersCount } = groupConfig;\n if (modifiersCount === 1) {\n return min;\n }\n return 0;\n};\nconst getModifierMax = (groupConfig) => {\n const { max, type } = groupConfig;\n const normalizedMax = max || Infinity;\n if (type === \"RADIO\") {\n return 1;\n }\n if (type === \"CHECKBOX\") {\n return 1;\n }\n if (type === \"COUNTER\") {\n return normalizedMax;\n }\n return normalizedMax;\n};\nvar __defProp$7$1 = Object.defineProperty;\nvar __defProps$5$1 = Object.defineProperties;\nvar __getOwnPropDescs$5$1 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$7$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$7$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$7$1 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$7$1 = (obj, key, value) => key in obj ? __defProp$7$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$7$1 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$7$1.call(b, prop))\n __defNormalProp$7$1(a, prop, b[prop]);\n if (__getOwnPropSymbols$7$1)\n for (var prop of __getOwnPropSymbols$7$1(b)) {\n if (__propIsEnum$7$1.call(b, prop))\n __defNormalProp$7$1(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$5$1 = (a, b) => __defProps$5$1(a, __getOwnPropDescs$5$1(b));\nconst multiplyProductQA$3 = (product) => {\n return operationOnProductQA(product, (answer, productAmount) => {\n const accAmount = answer.amount * productAmount;\n const fixedAnswer = multiplyProductQA$3(__spreadProps$5$1(__spreadValues$7$1({}, answer), {\n amount: accAmount\n }));\n return __spreadProps$5$1(__spreadValues$7$1({}, fixedAnswer), { amount: answer.amount * productAmount });\n });\n};\nconst divideProductQA$4 = (product) => {\n return operationOnProductQA(product, (answer, productAmount) => {\n const fixedAnswer = divideProductQA$4(answer);\n return __spreadProps$5$1(__spreadValues$7$1({}, fixedAnswer), { amount: answer.amount / productAmount });\n });\n};\nconst operationOnProductQA = (product, answerEnhancer) => {\n const { amount: productAmount = 1, questionsAndAnswers = [] } = product;\n const newQuestionsAndAnswers = questionsAndAnswers.map((question) => {\n const answers = question.answers.map((answer) => {\n return answerEnhancer(answer, productAmount);\n });\n return __spreadProps$5$1(__spreadValues$7$1({}, question), { answers });\n });\n return __spreadProps$5$1(__spreadValues$7$1({}, product), {\n questionsAndAnswers: newQuestionsAndAnswers\n });\n};\nvar questionsAndAnswers_utils = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n multiplyProductQA: multiplyProductQA$3,\n divideProductQA: divideProductQA$4,\n operationOnProductQA\n});\nvar __defProp$6$1 = Object.defineProperty;\nvar __defProps$4$1 = Object.defineProperties;\nvar __getOwnPropDescs$4$1 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$6$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$6$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$6$1 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$6$1 = (obj, key, value) => key in obj ? __defProp$6$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$6$1 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$6$1.call(b, prop))\n __defNormalProp$6$1(a, prop, b[prop]);\n if (__getOwnPropSymbols$6$1)\n for (var prop of __getOwnPropSymbols$6$1(b)) {\n if (__propIsEnum$6$1.call(b, prop))\n __defNormalProp$6$1(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$4$1 = (a, b) => __defProps$4$1(a, __getOwnPropDescs$4$1(b));\nconst toCartProduct$5 = (product, overrides = {}) => {\n if (isCartProduct(product)) {\n return __spreadValues$6$1(__spreadValues$6$1({}, product), overrides);\n }\n if (isProductDetails(product)) {\n return toCartProductFromProductDetails(product, overrides);\n }\n const productDetails = toProductDetails(product);\n return toCartProductFromProductDetails(productDetails, overrides);\n};\nconst toCartProductFromProductDetails = (product, overrides = {}) => {\n const { questionsAndAnswers, priceCategory, amount } = product;\n const newCartProduct = __spreadValues$6$1(__spreadProps$4$1(__spreadValues$6$1({}, product), {\n questionsAndAnswers: questionsAndAnswers != null ? questionsAndAnswers : [],\n amount: amount != null ? amount : 0,\n priceCategory: priceCategory != null ? priceCategory : \"NORMAL\",\n comment: \"\",\n alerts: [],\n hash: \"\",\n createdAt: \"\",\n updatedAt: \"\"\n }), overrides);\n return newCartProduct;\n};\nconst toProductDetails = (product, overrides = {}) => {\n return __spreadValues$6$1(__spreadProps$4$1(__spreadValues$6$1({}, product), {\n addDirectlyToCart: true,\n isPriceVip: false,\n manufacturer: [],\n maxAmountForSale: 0,\n questions: [],\n schedule: [],\n benefitId: null,\n categories: null\n }), overrides);\n};\nconst toFormCartProduct = (product, overrides = {}) => {\n if (isFormCartProduct(product)) {\n return __spreadValues$6$1(__spreadValues$6$1({}, product), overrides);\n }\n if (isProductDetails(product)) {\n return toFormCartProductFromProductDetails(product, overrides);\n }\n const productDetails = toProductDetails(product);\n return toFormCartProductFromProductDetails(productDetails, overrides);\n};\nconst toFormCartProductHelper = (product, overrides = {}) => {\n const fixedProduct = divideProductQA$4(product);\n const { priceCategory, productId, amount } = fixedProduct;\n const newQuestions = fixedProduct.questions.map((question) => {\n var _a;\n const pairQuestion = (_a = fixedProduct.questionsAndAnswers) == null ? void 0 : _a.find((q) => {\n return q.questionId === question.questionId;\n });\n const selectedQuestion = pairQuestion != null ? pairQuestion : question;\n const { questionId, min, max } = selectedQuestion;\n const answerConfig = {\n rootId: productId,\n min,\n max,\n type: getGroupType(selectedQuestion),\n modifiersCount: question.answers.length,\n amount,\n path: []\n };\n return __spreadProps$4$1(__spreadValues$6$1({}, selectedQuestion), {\n answers: question.answers.map((answer) => {\n var _a2;\n const pairAnswer = pairQuestion == null ? void 0 : pairQuestion.answers.find((a) => {\n return a.amount > 0 && a.productId === answer.productId;\n });\n const selectedAnswer = pairAnswer != null ? pairAnswer : answer;\n const min2 = getModifierMin(answerConfig);\n const max2 = getModifierMax(answerConfig);\n const type = getModifierType({\n min: min2,\n max: max2,\n groupType: answerConfig.type,\n type: selectedAnswer.renderType\n });\n const nested = selectedAnswer.questions.length;\n const partialNewAnswer = __spreadProps$4$1(__spreadValues$6$1({}, selectedAnswer), {\n amount: (_a2 = selectedAnswer == null ? void 0 : selectedAnswer.amount) != null ? _a2 : 0,\n priceCategory,\n questionId,\n min: min2,\n max: max2,\n renderType: type\n });\n return __spreadProps$4$1(__spreadValues$6$1({}, partialNewAnswer), {\n questions: nested ? toFormCartProductHelper(partialNewAnswer).questions : []\n });\n })\n });\n });\n return __spreadValues$6$1(__spreadProps$4$1(__spreadValues$6$1({}, fixedProduct), {\n questions: newQuestions\n }), overrides);\n};\nconst toFormCartProductFromProductDetails = (product, overrides = {}) => {\n const cartProduct = toCartProductFromProductDetails(product);\n return toFormCartProductHelper(cartProduct, overrides);\n};\nconst toFormCartProductFromAnswer = (modifier, overrides = {}) => {\n return toFormCartProductHelper(modifier, overrides);\n};\nconst normalizeProductDetails = (product) => {\n const { questions } = product;\n return __spreadProps$4$1(__spreadValues$6$1({}, product), {\n questions: questions.map((question) => {\n const { answers } = question;\n return __spreadProps$4$1(__spreadValues$6$1({}, question), {\n answers: answers.map((answer) => {\n const { questions: questions2 } = answer;\n return __spreadProps$4$1(__spreadValues$6$1({}, answer), {\n questions: questions2 != null ? questions2 : []\n });\n })\n });\n })\n });\n};\nvar transformers_utils = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n toCartProduct: toCartProduct$5,\n toFormCartProduct,\n toFormCartProductHelper,\n toFormCartProductFromProductDetails,\n toFormCartProductFromAnswer,\n normalizeProductDetails\n});\nconst getProductTotals = (product, amount = product.amount > 0 ? product.amount : 1) => {\n if (amount < 1) {\n throw new Error(\"Cannot set the amount of getProductTotals with a value less than 1\");\n }\n const cartProduct = product;\n const sanitize = !!cartProduct.updatedAt;\n const sanitized = sanitize ? divideProductQA$4(cartProduct) : product;\n return {\n unitGrossPrice: getProductGrossPrice(sanitized, 1),\n unitTotalDiscounts: getProductTotalDiscounts(),\n unitTotalTaxes: getProductTotalTaxes(sanitized, 1),\n unitNetPrice: getProductNetPrice(sanitized, 1),\n amount,\n grossPrice: getProductGrossPrice(sanitized, amount),\n totalDiscounts: getProductTotalDiscounts(),\n totalTaxes: getProductTotalTaxes(sanitized, amount),\n netPrice: getProductNetPrice(sanitized, amount)\n };\n};\nconst getProductTotalTaxes = (product, setAmount) => {\n const cartProduct = toCartProduct$5(product, { amount: setAmount });\n const { prices, amount, priceCategory } = cartProduct;\n const { taxes, grossPrice } = prices[priceCategory];\n const taxTotal = getTaxTotal(taxes, grossPrice);\n const questionsSum = getModifiersTotalTaxes(cartProduct, setAmount);\n if (taxTotal === null || questionsSum === null) {\n return null;\n }\n return questionsSum + taxTotal * amount;\n};\nconst getModifiersTotalTaxes = (product, setAmount) => {\n var _a, _b;\n return (_b = (_a = product.questionsAndAnswers) == null ? void 0 : _a.reduce((acc, question) => {\n const answersSum = question.answers.reduce((acc2, answer) => {\n const { prices, amount, priceCategory } = answer;\n const { taxes, grossPrice } = prices[priceCategory];\n const taxTotal = getTaxTotal(taxes, grossPrice);\n const childrenTotal = getModifiersTotalTaxes(answer, setAmount);\n return acc2 + amount * (Number(taxTotal) + childrenTotal);\n }, 0);\n return acc + answersSum * setAmount;\n }, 0)) != null ? _b : 0;\n};\nconst getProductGrossPrice = (product, setAmount) => {\n return getProductFieldPrice(product, \"grossPrice\", setAmount);\n};\nconst getProductTotalDiscounts = (product, setAmount) => {\n return null;\n};\nconst getProductNetPrice = (product, setAmount) => {\n return getProductFieldPrice(product, \"netPrice\", setAmount);\n};\nconst getProductFieldPrice = (product, field, setAmount) => {\n const cartProduct = toCartProduct$5(product, { amount: setAmount });\n const { prices, amount, priceCategory } = cartProduct;\n const priceField = prices[priceCategory][field];\n const questionsSum = getModifiersFieldTotal(cartProduct, field);\n return (questionsSum + priceField) * amount;\n};\nconst getModifiersFieldTotal = (product, field) => {\n var _a, _b;\n return (_b = (_a = product.questionsAndAnswers) == null ? void 0 : _a.reduce((acc, question) => {\n const answersSum = question.answers.reduce((acc2, answer) => {\n const { prices, amount, priceCategory } = answer;\n const priceField = prices[priceCategory][field];\n const childrenTotal = getModifiersFieldTotal(answer, field);\n return acc2 + amount * (priceField + childrenTotal);\n }, 0);\n return acc + answersSum;\n }, 0)) != null ? _b : 0;\n};\nconst getTaxTotal = (taxes, grossPrice) => {\n if (!taxes.length) {\n return null;\n }\n return taxes.reduce((acc, tax) => {\n return acc + tax.percentage / 100 * grossPrice;\n }, 0);\n};\n\nconst checkProductAmount = (amount) => {\n if (typeof amount !== \"number\") {\n throw new Error(\"Invalid amount received, please make sure you include a valid amount.\");\n }\n if (amount < 0) {\n throw new Error(`Cannot receive a negative amount of an item. Please ensure you have added a proper amount of items.`);\n }\n if (amount === 0) {\n throw new Error(\"Attempting to pass 0 amount. This might indicate a problem with your code. Please ensure you have added a proper amount of items.\");\n }\n};\nconst checkModifyProductConfig = (config) => {\n const { store, amount } = config;\n checkStoreId(store);\n checkProductAmount(amount);\n};\nconst checkRemoveProductConfig = (config) => {\n const { store } = config;\n checkStoreId(store);\n};\nconst checkReplaceProductConfig = (config) => {\n const { store } = config;\n checkStoreId(store);\n};\n\nvar sha1$1 = {exports: {}};\n\nvar crypt = {exports: {}};\n\n(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt$1 = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt$1.rotl(n, 8) & 0x00FF00FF | crypt$1.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt$1.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n crypt.exports = crypt$1;\n})();\n\nvar charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nvar charenc_1 = charenc;\n\n(function() {\n var crypt$1 = crypt.exports,\n utf8 = charenc_1.utf8,\n bin = charenc_1.bin,\n\n // The core\n sha1 = function (message) {\n // Convert to byte array\n if (message.constructor == String)\n message = utf8.stringToBytes(message);\n else if (typeof Buffer !== 'undefined' && typeof Buffer.isBuffer == 'function' && Buffer.isBuffer(message))\n message = Array.prototype.slice.call(message, 0);\n else if (!Array.isArray(message))\n message = message.toString();\n\n // otherwise assume byte array\n\n var m = crypt$1.bytesToWords(message),\n l = message.length * 8,\n w = [],\n H0 = 1732584193,\n H1 = -271733879,\n H2 = -1732584194,\n H3 = 271733878,\n H4 = -1009589776;\n\n // Padding\n m[l >> 5] |= 0x80 << (24 - l % 32);\n m[((l + 64 >>> 9) << 4) + 15] = l;\n\n for (var i = 0; i < m.length; i += 16) {\n var a = H0,\n b = H1,\n c = H2,\n d = H3,\n e = H4;\n\n for (var j = 0; j < 80; j++) {\n\n if (j < 16)\n w[j] = m[i + j];\n else {\n var n = w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16];\n w[j] = (n << 1) | (n >>> 31);\n }\n\n var t = ((H0 << 5) | (H0 >>> 27)) + H4 + (w[j] >>> 0) + (\n j < 20 ? (H1 & H2 | ~H1 & H3) + 1518500249 :\n j < 40 ? (H1 ^ H2 ^ H3) + 1859775393 :\n j < 60 ? (H1 & H2 | H1 & H3 | H2 & H3) - 1894007588 :\n (H1 ^ H2 ^ H3) - 899497514);\n\n H4 = H3;\n H3 = H2;\n H2 = (H1 << 30) | (H1 >>> 2);\n H1 = H0;\n H0 = t;\n }\n\n H0 += a;\n H1 += b;\n H2 += c;\n H3 += d;\n H4 += e;\n }\n\n return [H0, H1, H2, H3, H4];\n },\n\n // Public API\n api = function (message, options) {\n var digestbytes = crypt$1.wordsToBytes(sha1(message));\n return options && options.asBytes ? digestbytes :\n options && options.asString ? bin.bytesToString(digestbytes) :\n crypt$1.bytesToHex(digestbytes);\n };\n\n api._blocksize = 16;\n api._digestsize = 20;\n\n sha1$1.exports = api;\n})();\n\nvar sha1 = sha1$1.exports;\n\nvar __defProp$g = Object.defineProperty;\nvar __defProps$c = Object.defineProperties;\nvar __getOwnPropDescs$c = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$g = Object.getOwnPropertySymbols;\nvar __hasOwnProp$g = Object.prototype.hasOwnProperty;\nvar __propIsEnum$g = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$g(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$g = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$g.call(b, prop))\n __defNormalProp$g(a, prop, b[prop]);\n if (__getOwnPropSymbols$g)\n for (var prop of __getOwnPropSymbols$g(b)) {\n if (__propIsEnum$g.call(b, prop))\n __defNormalProp$g(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$c = (a, b) => __defProps$c(a, __getOwnPropDescs$c(b));\nconst { toCartProduct: toCartProduct$4 } = transformers_utils;\nconst { divideProductQA: divideProductQA$3 } = questionsAndAnswers_utils;\nconst getProductHash = (product) => {\n const resetedProduct = divideProductQA$3(product);\n const { productId, questionsAndAnswers, priceCategory } = resetedProduct;\n const prunedQuestions = pruneQuestionsAndAnswers(questionsAndAnswers);\n const sortedQuestions = prunedQuestions.sort(sortByQuestionId);\n const questionAndAnswersIds = sortedQuestions.reduce((acc, question) => {\n const sortedAnswers = question.answers.sort(sortByProductId);\n const answerIds = sortedAnswers.reduce((acc2, answer, index) => {\n const { productId: productId2, amount } = answer;\n const childrenHash = getProductHash(answer);\n const concatChildrenHash = childrenHash ? `{${childrenHash}}` : \"\";\n if (index === 0) {\n return `${productId2}=${amount}${concatChildrenHash}`;\n }\n return `${acc2}|${productId2}=${amount}${concatChildrenHash}`;\n }, \"\");\n const questionIds = `${question.questionId}:${answerIds}`;\n if (acc === \"\") {\n return `${questionIds}`;\n }\n return `${acc}-${questionIds}`;\n }, \"\");\n const sequence = `${productId}-${questionAndAnswersIds}*${priceCategory}`;\n return sha1(sequence);\n};\nconst pruneQuestionsAndAnswers = (questions) => {\n const prunedQuestions = questions.reduce((acc, question) => {\n const prunedAnswers = question.answers.filter((answer) => {\n return answer.amount > 0;\n });\n const prunedAnswersAndChildren = prunedAnswers.map((answer) => {\n const prunedChildren = pruneQuestionsAndAnswers(answer.questionsAndAnswers);\n return __spreadProps$c(__spreadValues$g({}, answer), { questionsAndAnswers: prunedChildren });\n });\n return [...acc, __spreadProps$c(__spreadValues$g({}, question), { answers: prunedAnswersAndChildren })];\n }, []);\n const prunedQuestionsAndAnswers = prunedQuestions.filter((question) => {\n return question.answers.length > 0;\n });\n return prunedQuestionsAndAnswers;\n};\nconst getShoppingCartTotal = (shoppingCart, config = {}) => {\n const initialValue = {\n subtotal: 0,\n totalDiscounts: null,\n shippingCost: null,\n totalTaxes: null,\n totalPoints: null,\n total: 0\n };\n const products = getShoppingCartProducts(shoppingCart);\n if (!products.length)\n return initialValue;\n const totals = products.reduce((acc, product) => {\n const cartProduct = toCartProduct$4(product);\n const { priceCategory } = cartProduct;\n const productTotal = getProductTotals(cartProduct);\n const isPoints = priceCategory === \"POINTS\";\n const points = isPoints ? productTotal.netPrice : 0;\n const normal = !isPoints ? productTotal.netPrice : 0;\n const subtotalNormal = !isPoints ? productTotal.grossPrice : 0;\n return {\n subtotal: acc.subtotal + subtotalNormal,\n totalDiscounts: productTotal.totalDiscounts !== null ? Number(acc.totalDiscounts) + productTotal.totalDiscounts : null,\n totalTaxes: productTotal.totalTaxes !== null ? Number(acc.totalTaxes) + productTotal.totalTaxes : null,\n shippingCost: null,\n totalPoints: points !== null ? Number(acc.totalPoints) + points : null,\n total: acc.total + normal\n };\n }, initialValue);\n const totalsWithBenefits = applyBenefits(shoppingCart, totals);\n const { shippingCost = shoppingCart.shippingCost } = config;\n if (!shippingCost) {\n return totalsWithBenefits;\n }\n const { grossPrice, netPrice, taxTotal, discountTotal } = shippingCost;\n const totalsWithShippingCost = {\n subtotal: totalsWithBenefits.subtotal + grossPrice,\n totalDiscounts: totalsWithBenefits.totalDiscounts !== null ? totalsWithBenefits.totalDiscounts + discountTotal : discountTotal,\n totalTaxes: totalsWithBenefits.totalTaxes !== null ? totalsWithBenefits.totalTaxes + taxTotal : taxTotal,\n shippingCost: netPrice,\n totalPoints: totalsWithBenefits.totalPoints,\n total: totalsWithBenefits.total + netPrice\n };\n return totalsWithShippingCost;\n};\nconst getShoppingCartProducts = (shoppingCart, storeId) => {\n let stores;\n if (typeof storeId === \"undefined\") {\n stores = Object.values(shoppingCart.stores);\n } else {\n stores = [shoppingCart.stores[storeId]];\n }\n return stores.reduce((acc, store) => {\n if (!store)\n return acc;\n const products = Object.values(store.products);\n return [...acc, ...products];\n }, []);\n};\nconst applyBenefits = (shoppingCart, shoppingCartTotals) => {\n const additionalInfo = shoppingCart[\"additional_info\"];\n const benefits = shoppingCart[\"benefits\"];\n if (!benefits) {\n return shoppingCartTotals;\n }\n const benefitsValues = Object.values(benefits);\n return benefitsValues.reduce((acc, benefit) => {\n if (benefit.type === \"DISCOUNT_PERCENTAGE\" && benefit.discountPercentage) {\n return applyBenefitByDiscountPercentage(benefit, acc, shoppingCart);\n }\n if (benefit.type === \"DISCOUNT_FIXED\" && benefit.discountFixed) {\n return applyBenefitByDiscountFixed(benefit, acc, additionalInfo);\n }\n return acc;\n }, shoppingCartTotals);\n};\nconst applyBenefitByDiscountPercentage = (benefit, shoppingCartTotals, shoppingCart) => {\n let taxValue = 0;\n const additionalInfo = shoppingCart[\"additional_info\"];\n const { billTotal } = shoppingCart;\n const { NORMAL } = billTotal;\n const { discounts } = NORMAL != null ? NORMAL : {};\n discounts == null ? void 0 : discounts.forEach((discount) => {\n if (discount.taxValue) {\n taxValue += discount.taxValue;\n }\n });\n const { subtotal, total: prevTotal } = shoppingCartTotals;\n const { totalDiscounts: prevTotalDiscounts } = shoppingCartTotals;\n const discountPercentage = benefit.discountPercentage * 0.01;\n if (typeof (additionalInfo == null ? void 0 : additionalInfo.copayment) !== \"undefined\") {\n const copayment = additionalInfo == null ? void 0 : additionalInfo.copayment;\n const totalDiscount2 = copayment * discountPercentage + taxValue;\n const newTotalDiscounts2 = prevTotalDiscounts !== null ? prevTotalDiscounts + totalDiscount2 : totalDiscount2;\n const newTotal2 = (copayment - totalDiscount2).toFixed(4);\n return __spreadProps$c(__spreadValues$g({}, shoppingCartTotals), {\n totalDiscounts: newTotalDiscounts2,\n total: Number(newTotal2)\n });\n }\n const totalDiscount = subtotal * discountPercentage + taxValue;\n const newTotalDiscounts = prevTotalDiscounts !== null ? prevTotalDiscounts + totalDiscount : totalDiscount;\n const newTotal = prevTotal - totalDiscount;\n return __spreadProps$c(__spreadValues$g({}, shoppingCartTotals), {\n totalDiscounts: newTotalDiscounts,\n total: newTotal\n });\n};\nconst applyBenefitByDiscountFixed = (benefit, shoppingCartTotals, additionalInfo) => {\n const { total: prevTotal } = shoppingCartTotals;\n const { totalDiscounts: prevTotalDiscounts } = shoppingCartTotals;\n const discountFixed = Number(benefit.discountFixed);\n if (typeof (additionalInfo == null ? void 0 : additionalInfo.copayment) !== \"undefined\") {\n const copayment = additionalInfo == null ? void 0 : additionalInfo.copayment;\n const newTotalDiscounts2 = prevTotalDiscounts !== null ? prevTotalDiscounts + discountFixed : discountFixed;\n const newTotal2 = (copayment - discountFixed).toFixed(4);\n return __spreadProps$c(__spreadValues$g({}, shoppingCartTotals), {\n totalDiscounts: newTotalDiscounts2,\n total: Number(newTotal2)\n });\n }\n const newTotalDiscounts = prevTotalDiscounts !== null ? prevTotalDiscounts + discountFixed : discountFixed;\n const newTotal = prevTotal - discountFixed;\n return __spreadProps$c(__spreadValues$g({}, shoppingCartTotals), {\n totalDiscounts: newTotalDiscounts,\n total: newTotal\n });\n};\nconst findProduct = async (config) => {\n const { shoppingCartName } = config;\n const { accountId, customerId, hash, productId, store } = config;\n try {\n if (!hash && typeof productId === \"undefined\") {\n throw new Error(`You must provide either a product id or a product hash,\n but none were given.`);\n }\n const shoppingCart = await getShoppingCart({\n accountId,\n customerId,\n store,\n shoppingCartName\n });\n if (!shoppingCart)\n return;\n const products = getShoppingCartProducts(shoppingCart);\n let product;\n if (hash) {\n product = products.find((item) => item.hash === hash);\n } else {\n product = products.find((item) => item.productId === productId);\n }\n return product;\n } catch (e) {\n console.error(e);\n return void 0;\n }\n};\n\nvar __defProp$f = Object.defineProperty;\nvar __defProps$b = Object.defineProperties;\nvar __getOwnPropDescs$b = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$f = Object.getOwnPropertySymbols;\nvar __hasOwnProp$f = Object.prototype.hasOwnProperty;\nvar __propIsEnum$f = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$f(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$f = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$f.call(b, prop))\n __defNormalProp$f(a, prop, b[prop]);\n if (__getOwnPropSymbols$f)\n for (var prop of __getOwnPropSymbols$f(b)) {\n if (__propIsEnum$f.call(b, prop))\n __defNormalProp$f(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$b = (a, b) => __defProps$b(a, __getOwnPropDescs$b(b));\nconst { DEFAULT_SHOPPING_CART_NAME } = CONSTANTS;\nconst createShoppingCart = async (config, overrides = {}) => {\n return new Promise((resolve, reject) => {\n const action = async () => {\n var _a;\n try {\n const reusedConfig = reuseGlobalConfig(config);\n const { shoppingCartName } = reusedConfig;\n const cartsCollection = await getShoppingCartNodes(reusedConfig);\n const newShoppingCart = buildInitialShoppingCart(__spreadValues$f({\n name: shoppingCartName,\n channelId: reusedConfig.channelId\n }, overrides));\n if (!cartsCollection) {\n console.warn(`Couldn't find a shopping cart collection with the given config.\n Please make sure everything is correct in your configuration\n before continue.`);\n resolve(null);\n return null;\n }\n const { name } = newShoppingCart;\n const numberOfCarts = (_a = await cartsCollection.get()) == null ? void 0 : _a.docs.length;\n const maxNumberOfCarts = getState().maxShoppingCarts;\n if (numberOfCarts >= maxNumberOfCarts) {\n throw new Error(`Cannot add more carts. Carts limit (${maxNumberOfCarts}) reached.`);\n }\n const namedCartsDocs = await cartsCollection.where(\"name\", \"==\", name).get();\n const cartsLength = namedCartsDocs.docs.length;\n if (cartsLength > 0) {\n throw new Error(`Attempted to create a shopping cart with the name ${name}, but there is already one shopping cart with that name.`);\n }\n const node = await cartsCollection.add(newShoppingCart);\n if (!node) {\n console.error(\"Failed to create a new shopping cart\");\n resolve(null);\n return null;\n }\n const updatedCart = __spreadProps$b(__spreadValues$f({}, newShoppingCart), { id: node.id });\n await node.set(updatedCart);\n resolve(updatedCart);\n return updatedCart;\n } catch (e) {\n reject(e);\n return null;\n }\n };\n const { eventLoop, queue } = getState();\n queue.enqueue(action);\n if (!eventLoop.isRunning)\n eventLoop.start();\n });\n};\nconst buildInitialShoppingCart = (overrides = {}) => {\n const date = new Date().toISOString();\n return __spreadValues$f({\n id: \"\",\n name: DEFAULT_SHOPPING_CART_NAME,\n latitude: -1,\n longitude: -1,\n createdAt: date,\n updatedAt: date,\n channelId: 1,\n stores: {},\n billTotal: {},\n shippingCost: null\n }, overrides);\n};\n\nvar __defProp$e = Object.defineProperty;\nvar __defProps$a = Object.defineProperties;\nvar __getOwnPropDescs$a = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$e = Object.getOwnPropertySymbols;\nvar __hasOwnProp$e = Object.prototype.hasOwnProperty;\nvar __propIsEnum$e = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$e = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$e.call(b, prop))\n __defNormalProp$e(a, prop, b[prop]);\n if (__getOwnPropSymbols$e)\n for (var prop of __getOwnPropSymbols$e(b)) {\n if (__propIsEnum$e.call(b, prop))\n __defNormalProp$e(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$a = (a, b) => __defProps$a(a, __getOwnPropDescs$a(b));\nconst { PRODUCT_DATE_FORMAT: PRODUCT_DATE_FORMAT$2 } = CONSTANTS;\nconst { toCartProduct: toCartProduct$3 } = transformers_utils;\nconst { multiplyProductQA: multiplyProductQA$2, divideProductQA: divideProductQA$2 } = questionsAndAnswers_utils;\nconst addProduct = async (product, config) => {\n const { createCart } = config;\n if (createCart) {\n const reusedConfig = reuseGlobalConfig(config);\n const shoppingCart = await getShoppingCart(reusedConfig);\n if (!shoppingCart)\n await createShoppingCart(reusedConfig, createCart === true ? void 0 : createCart);\n }\n return new Promise((resolve, reject) => {\n const action = async () => {\n try {\n const reusedConfig = reuseGlobalConfig(config);\n checkModifyProductConfig(reusedConfig);\n const shoppingCartNode = await getShoppingCartNode(reusedConfig);\n if (!shoppingCartNode) {\n console.warn(\"Cannot add a product because no shopping cart node was found. Please ensure you have a shopping cart before continue.\");\n resolve(null);\n return null;\n }\n const shoppingCart = shoppingCartNode.data();\n const updatedCart = addProductToCartHelper(shoppingCart, product, config);\n await shoppingCartNode.ref.set(updatedCart);\n resolve(updatedCart);\n return updatedCart;\n } catch (e) {\n reject(e);\n return null;\n }\n };\n const { eventLoop, queue } = getState();\n queue.enqueue(action);\n if (!eventLoop.isRunning)\n eventLoop.start();\n });\n};\nconst addProductToCartHelper = (shoppingCart, product, config) => {\n const reusedConfig = reuseGlobalConfig(config);\n if (process.env.NODE_ENV === \"test\") {\n checkModifyProductConfig(reusedConfig);\n }\n const { amount: originalAmount } = product;\n const amount = originalAmount ? originalAmount : 1;\n const hashCartProduct = toCartProduct$3(product, __spreadProps$a(__spreadValues$e({}, reusedConfig), {\n amount: amount != null ? amount : 1\n }));\n const cartProduct = toCartProduct$3(product, reusedConfig);\n const { store: configStore } = reusedConfig;\n const { storeId } = configStore != null ? configStore : {};\n const hash = getProductHash(hashCartProduct);\n const updatedCart = __spreadValues$e({}, shoppingCart);\n const stores = __spreadValues$e({}, shoppingCart.stores);\n const store = getStore(configStore, stores);\n const products = __spreadValues$e({}, store.products);\n const productExist = products[hash];\n const now = dayjs().format(PRODUCT_DATE_FORMAT$2);\n if (!productExist) {\n products[hash] = cartProduct;\n products[hash].hash = hash;\n products[hash].createdAt = now;\n } else {\n products[hash] = divideProductQA$2(products[hash]);\n products[hash].amount += cartProduct.amount;\n }\n products[hash].updatedAt = now;\n let updatedProduct = products[hash];\n updatedProduct = multiplyProductQA$2(updatedProduct);\n const { questionsAndAnswers } = updatedProduct;\n const newCartModifiers = pruneQuestionsAndAnswers(questionsAndAnswers);\n products[hash] = __spreadProps$a(__spreadValues$e({}, updatedProduct), { questionsAndAnswers: newCartModifiers });\n store.products = products;\n stores[storeId] = store;\n updatedCart.stores = stores;\n return updatedCart;\n};\n\nvar __defProp$d = Object.defineProperty;\nvar __defProps$9 = Object.defineProperties;\nvar __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$d = Object.getOwnPropertySymbols;\nvar __hasOwnProp$d = Object.prototype.hasOwnProperty;\nvar __propIsEnum$d = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$d = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$d.call(b, prop))\n __defNormalProp$d(a, prop, b[prop]);\n if (__getOwnPropSymbols$d)\n for (var prop of __getOwnPropSymbols$d(b)) {\n if (__propIsEnum$d.call(b, prop))\n __defNormalProp$d(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));\nconst { PRODUCT_DATE_FORMAT: PRODUCT_DATE_FORMAT$1 } = CONSTANTS;\nconst { toCartProduct: toCartProduct$2 } = transformers_utils;\nconst { multiplyProductQA: multiplyProductQA$1, divideProductQA: divideProductQA$1 } = questionsAndAnswers_utils;\nconst subtractProduct = async (product, config) => {\n return new Promise((resolve, reject) => {\n const action = async () => {\n try {\n const reusedConfig = reuseGlobalConfig(config);\n checkModifyProductConfig(reusedConfig);\n const shoppingCartNode = await getShoppingCartNode(reusedConfig);\n if (!shoppingCartNode) {\n console.warn(\"Cannot subtract product because no shopping cart nodes found. Please ensure you have a shopping cart before continue.\");\n resolve(null);\n return null;\n }\n const shoppingCart = shoppingCartNode.data();\n const updatedCart = subtractProductHelper(shoppingCart, product, reusedConfig);\n await shoppingCartNode.ref.set(updatedCart);\n resolve(updatedCart);\n return updatedCart;\n } catch (e) {\n reject(e);\n return null;\n }\n };\n const { eventLoop, queue } = getState();\n queue.enqueue(action);\n if (!eventLoop.isRunning)\n eventLoop.start();\n });\n};\nconst subtractProductHelper = (shoppingCart, product, config) => {\n const reusedConfig = reuseGlobalConfig(config);\n if (process.env.NODE_ENV === \"test\") {\n checkModifyProductConfig(reusedConfig);\n }\n const { amount: originalAmount } = product;\n const amount = originalAmount ? originalAmount : 1;\n const hashCartProduct = toCartProduct$2(product, __spreadProps$9(__spreadValues$d({}, reusedConfig), {\n amount: amount != null ? amount : 1\n }));\n const cartProduct = toCartProduct$2(product, reusedConfig);\n const { store: configStore } = reusedConfig;\n const { storeId } = configStore != null ? configStore : {};\n const hash = getProductHash(hashCartProduct);\n let updatedCart = __spreadValues$d({}, shoppingCart);\n const stores = __spreadValues$d({}, shoppingCart.stores);\n if (typeof stores[storeId] === \"undefined\") {\n console.warn(`StoreId given is invalid. There is no store with id ${storeId} on the shopping cart.`);\n return shoppingCart;\n }\n const store = getStore(configStore, stores);\n const products = __spreadValues$d({}, store.products);\n const productExist = products[hash];\n const now = dayjs().format(PRODUCT_DATE_FORMAT$1);\n if (!productExist) {\n console.warn(`Attempting to subtract the amount of product that is not in the given shopping cart store.`);\n return shoppingCart;\n }\n products[hash] = divideProductQA$1(products[hash]);\n const newAmount = products[hash].amount - cartProduct.amount;\n if (newAmount > 0) {\n products[hash].amount = newAmount;\n products[hash].updatedAt = now;\n products[hash] = multiplyProductQA$1(products[hash]);\n } else {\n delete products[hash];\n updatedCart = cleanShoppingCart(shoppingCart, product);\n }\n store.products = products;\n if (!Object.keys(store.products).length) {\n delete stores[storeId];\n } else {\n stores[storeId] = store;\n }\n updatedCart.stores = stores;\n return updatedCart;\n};\n\nvar __defProp$c = Object.defineProperty;\nvar __getOwnPropSymbols$c = Object.getOwnPropertySymbols;\nvar __hasOwnProp$c = Object.prototype.hasOwnProperty;\nvar __propIsEnum$c = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$c = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$c.call(b, prop))\n __defNormalProp$c(a, prop, b[prop]);\n if (__getOwnPropSymbols$c)\n for (var prop of __getOwnPropSymbols$c(b)) {\n if (__propIsEnum$c.call(b, prop))\n __defNormalProp$c(a, prop, b[prop]);\n }\n return a;\n};\nconst { toCartProduct: toCartProduct$1 } = transformers_utils;\nconst removeProduct = async (product, config = {}) => {\n return new Promise((resolve, reject) => {\n const action = async () => {\n try {\n const reusedConfig = reuseGlobalConfig(config);\n checkRemoveProductConfig(reusedConfig);\n const shoppingCartNode = await getShoppingCartNode(reusedConfig);\n if (!shoppingCartNode) {\n console.warn(\"Cannot remove a product because no shopping cart nodes found. Please ensure you have a shopping cart before continue.\");\n resolve(null);\n return null;\n }\n const shoppingCart = shoppingCartNode.data();\n const cart = removeProductHelper(shoppingCart, product, reusedConfig);\n const updatedCart = cleanShoppingCart(cart, product);\n await shoppingCartNode.ref.set(updatedCart);\n resolve(updatedCart);\n return updatedCart;\n } catch (e) {\n reject(e);\n return null;\n }\n };\n const { eventLoop, queue } = getState();\n queue.enqueue(action);\n if (!eventLoop.isRunning)\n eventLoop.start();\n });\n};\nconst removeProductHelper = (shoppingCart, product, config) => {\n const reusedConfig = reuseGlobalConfig(config);\n if (process.env.NODE_ENV === \"test\") {\n checkRemoveProductConfig(reusedConfig);\n }\n let productHash = product.hash;\n if (!productHash) {\n const cartProduct = toCartProduct$1(product);\n productHash = getProductHash(cartProduct);\n }\n const { store: configStore } = reusedConfig;\n const { storeId } = configStore != null ? configStore : {};\n const updatedCart = __spreadValues$c({}, shoppingCart);\n const stores = __spreadValues$c({}, shoppingCart.stores);\n if (typeof stores[storeId] === \"undefined\") {\n console.warn(`StoreId given is invalid. There is no store with id ${storeId} on the shopping cart.`);\n return shoppingCart;\n }\n const store = getStore(configStore, stores);\n const products = __spreadValues$c({}, store.products);\n const productExist = products[productHash];\n if (!productExist) {\n console.warn(`Attempting to remove product that is not in the given shopping cart store.`);\n return shoppingCart;\n }\n delete products[productHash];\n store.products = products;\n if (!Object.keys(store.products).length) {\n delete stores[storeId];\n } else {\n stores[storeId] = store;\n }\n updatedCart.stores = stores;\n return updatedCart;\n};\n\nvar __defProp$b = Object.defineProperty;\nvar __defProps$8 = Object.defineProperties;\nvar __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$b = Object.getOwnPropertySymbols;\nvar __hasOwnProp$b = Object.prototype.hasOwnProperty;\nvar __propIsEnum$b = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$b = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$b.call(b, prop))\n __defNormalProp$b(a, prop, b[prop]);\n if (__getOwnPropSymbols$b)\n for (var prop of __getOwnPropSymbols$b(b)) {\n if (__propIsEnum$b.call(b, prop))\n __defNormalProp$b(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));\nconst { PRODUCT_DATE_FORMAT } = CONSTANTS;\nconst { toCartProduct } = transformers_utils;\nconst { multiplyProductQA, divideProductQA } = questionsAndAnswers_utils;\nconst setProduct = async (product, config = {}) => {\n return new Promise((resolve, reject) => {\n const action = async () => {\n var _a, _b;\n try {\n const reusedConfig = reuseGlobalConfig(config);\n const amount = (_b = (_a = reusedConfig.amount) != null ? _a : product == null ? void 0 : product.amount) != null ? _b : 1;\n const actionConfig = __spreadProps$8(__spreadValues$b({}, reusedConfig), { amount });\n checkModifyProductConfig(actionConfig);\n const shoppingCartNode = await getShoppingCartNode(reusedConfig);\n if (!shoppingCartNode) {\n console.warn(\"Cannot set product because no shopping cart nodes found. Please ensure you have a shopping cart before continue.\");\n resolve(null);\n return null;\n }\n const shoppingCart = shoppingCartNode.data();\n const cart = setProductHelper(shoppingCart, product, actionConfig);\n const updatedCart = cleanShoppingCart(cart, product);\n await shoppingCartNode.ref.set(updatedCart);\n resolve(updatedCart);\n return updatedCart;\n } catch (e) {\n reject(e);\n return null;\n }\n };\n const { eventLoop, queue } = getState();\n queue.enqueue(action);\n if (!eventLoop.isRunning)\n eventLoop.start();\n });\n};\nconst setProductHelper = (shoppingCart, product, config) => {\n var _a;\n const reusedConfig = reuseGlobalConfig(config);\n if (process.env.NODE_ENV === \"test\") {\n checkModifyProductConfig(reusedConfig);\n }\n const amount = (_a = product == null ? void 0 : product.amount) != null ? _a : 1;\n const hashCartProduct = toCartProduct(product, __spreadProps$8(__spreadValues$b({}, reusedConfig), { amount }));\n const { store: configStore } = reusedConfig;\n const { storeId } = configStore != null ? configStore : {};\n const hash = getProductHash(hashCartProduct);\n const updatedCart = __spreadValues$b({}, shoppingCart);\n const stores = __spreadValues$b({}, shoppingCart.stores);\n const store = getStore(configStore, stores);\n const products = __spreadValues$b({}, store.products);\n const productExist = products[hash];\n const now = dayjs().format(PRODUCT_DATE_FORMAT);\n products[hash] = hashCartProduct;\n if (!productExist) {\n products[hash].createdAt = now;\n products[hash].hash = hash;\n } else {\n products[hash] = divideProductQA(products[hash]);\n }\n products[hash].updatedAt = now;\n let updatedProduct = toCartProduct(products[hash], reusedConfig);\n updatedProduct = multiplyProductQA(updatedProduct);\n const { questionsAndAnswers } = updatedProduct;\n const newCartModifiers = pruneQuestionsAndAnswers(questionsAndAnswers);\n products[hash] = __spreadProps$8(__spreadValues$b({}, updatedProduct), { questionsAndAnswers: newCartModifiers });\n store.products = products;\n stores[storeId] = __spreadProps$8(__spreadValues$b({}, store), { polygons: null });\n updatedCart.stores = stores;\n return updatedCart;\n};\n\nvar __defProp$a = Object.defineProperty;\nvar __defProps$7 = Object.defineProperties;\nvar __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$a = Object.getOwnPropertySymbols;\nvar __hasOwnProp$a = Object.prototype.hasOwnProperty;\nvar __propIsEnum$a = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$a = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$a.call(b, prop))\n __defNormalProp$a(a, prop, b[prop]);\n if (__getOwnPropSymbols$a)\n for (var prop of __getOwnPropSymbols$a(b)) {\n if (__propIsEnum$a.call(b, prop))\n __defNormalProp$a(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));\nconst replaceProduct = async (product, config) => {\n return new Promise((resolve, reject) => {\n const action = async () => {\n try {\n const reusedConfig = reuseGlobalConfig(config);\n checkReplaceProductConfig(reusedConfig);\n const shoppingCartNode = await getShoppingCartNode(reusedConfig);\n if (!shoppingCartNode) {\n console.warn(\"Cannot replace product because no shopping cart nodes found. Please ensure you have a shopping cart before continue.\");\n resolve(null);\n return null;\n }\n const shoppingCart = shoppingCartNode.data();\n const cart = replaceProductHelper(shoppingCart, product, reusedConfig);\n const updatedCart = cleanShoppingCart(cart, product);\n await shoppingCartNode.ref.set(updatedCart);\n resolve(updatedCart);\n return updatedCart;\n } catch (e) {\n reject(e);\n return null;\n }\n };\n const { eventLoop, queue } = getState();\n queue.enqueue(action);\n if (!eventLoop.isRunning)\n eventLoop.start();\n });\n};\nconst replaceProductHelper = (shoppingCart, product, config) => {\n const reusedConfig = reuseGlobalConfig(config);\n if (process.env.NODE_ENV === \"test\") {\n checkReplaceProductConfig(reusedConfig);\n }\n const { hash: configHash } = reusedConfig;\n const hash = configHash != null ? configHash : product.hash;\n const { store: configStore } = reusedConfig;\n const { storeId } = configStore != null ? configStore : {};\n const stores = __spreadValues$a({}, shoppingCart.stores);\n const store = getStore(configStore, stores);\n const products = __spreadValues$a({}, store.products);\n const productExist = products[hash];\n if (!productExist) {\n console.warn(\"Cannot replace a product because no product was found in the given store\");\n return shoppingCart;\n }\n delete products[hash];\n store.products = products;\n if (!Object.keys(store.products).length) {\n delete stores[storeId];\n } else {\n stores[storeId] = store;\n }\n let updatedCart = __spreadValues$a({}, shoppingCart);\n updatedCart.stores = stores;\n const newProduct = __spreadProps$7(__spreadValues$a({}, product), { amount: 0 });\n updatedCart = addProductToCartHelper(updatedCart, newProduct, reusedConfig);\n return updatedCart;\n};\n\nvar __defProp$9 = Object.defineProperty;\nvar __defProps$6 = Object.defineProperties;\nvar __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$9 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$9 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$9 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$9.call(b, prop))\n __defNormalProp$9(a, prop, b[prop]);\n if (__getOwnPropSymbols$9)\n for (var prop of __getOwnPropSymbols$9(b)) {\n if (__propIsEnum$9.call(b, prop))\n __defNormalProp$9(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));\nconst emptyShoppingCart = async (config) => {\n return new Promise((resolve, reject) => {\n const action = async () => {\n try {\n const shoppingCartNode = await getShoppingCartNode(config);\n const { shoppingCartName, vendorId } = reuseGlobalConfig(config);\n if (!shoppingCartNode) {\n logDebug(`Cannot empty cart, shopping cart nodes not found. Please ensure you have a shopping cart with name ${shoppingCartName} before continue.`);\n resolve(null);\n return null;\n }\n const shoppingCart = await shoppingCartNode.data();\n delete shoppingCart.pickUpTime;\n const stores = {};\n if (typeof vendorId !== \"undefined\") {\n const filteredStores = Object.values(shoppingCart.stores).filter((store) => store.vendor.id != vendorId);\n filteredStores.forEach((store) => {\n stores[`${store.storeId}`] = store;\n });\n }\n const cart = __spreadProps$6(__spreadValues$9({}, shoppingCart), { stores });\n const updatedCart = cleanShoppingCart(cart);\n await shoppingCartNode.ref.set(updatedCart);\n resolve(updatedCart);\n return updatedCart;\n } catch (e) {\n reject(e);\n return null;\n }\n };\n const { eventLoop, queue } = getState();\n queue.enqueue(action);\n if (!eventLoop.isRunning)\n eventLoop.start();\n });\n};\n\nconst deleteShoppingCart = async (config) => {\n return new Promise((resolve, reject) => {\n const action = async () => {\n try {\n const shoppingCartNode = await getShoppingCartNode(config);\n const { shoppingCartName } = reuseGlobalConfig(config);\n if (!shoppingCartNode) {\n logDebug(`Couldn't find any shopping cart with name ${shoppingCartName} with the given config.`);\n resolve(null);\n return null;\n }\n const shoppingCart = shoppingCartNode.data();\n await shoppingCartNode.ref.delete();\n resolve(shoppingCart);\n return shoppingCart;\n } catch (e) {\n reject(e);\n return null;\n }\n };\n const { eventLoop, queue } = getState();\n queue.enqueue(action);\n if (!eventLoop.isRunning)\n eventLoop.start();\n });\n};\n\nconst checkValidateShoppingCartConfig = (config, headers) => {\n const { apiURL } = config;\n checkApiURL(apiURL);\n checkCommonHeaders(headers);\n};\n\nconst initAuth = (app) => {\n if (typeof window === \"undefined\") {\n return void 0;\n }\n return app.__internals__.auth();\n};\n\nconst commonHeaders = {\n \"Content-Type\": \"application/json\"\n};\n\nvar __defProp$8 = Object.defineProperty;\nvar __defProps$5 = Object.defineProperties;\nvar __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$8 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$8 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$8 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$8.call(b, prop))\n __defNormalProp$8(a, prop, b[prop]);\n if (__getOwnPropSymbols$8)\n for (var prop of __getOwnPropSymbols$8(b)) {\n if (__propIsEnum$8.call(b, prop))\n __defNormalProp$8(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));\nconst buildServiceHeaders = async (headers) => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const { artisnApp, accountId: localAccountId } = getState();\n const { settings } = artisnApp;\n const { platform, accountId: globalAccountId } = settings;\n const account = (_d = (_c = (_b = (_a = headers.account) == null ? void 0 : _a.toString()) != null ? _b : localAccountId == null ? void 0 : localAccountId.toString()) != null ? _c : globalAccountId == null ? void 0 : globalAccountId.toString()) != null ? _d : \"\";\n const selectedPlatform = (_f = (_e = headers == null ? void 0 : headers.Platform) != null ? _e : platform) != null ? _f : \"\";\n const Platform = selectedPlatform;\n const Authorization = (_h = (_g = headers == null ? void 0 : headers.Authorization) != null ? _g : await getArtisnAuthToken()) != null ? _h : \"\";\n return new Headers(__spreadProps$5(__spreadValues$8(__spreadValues$8({}, commonHeaders), headers), {\n Authorization,\n Platform,\n account\n }));\n};\nconst getArtisnAuthToken = async (forceRefresh) => {\n var _a;\n const { artisnApp } = getState();\n if (!artisnApp)\n return;\n const auth = () => initAuth(artisnApp);\n const token = await ((_a = auth().currentUser) == null ? void 0 : _a.getIdToken(forceRefresh));\n if (!token) {\n logError(\"Please make sure you are authenticated before trying to call a restricted action.\");\n return;\n }\n return `Bearer ${token}`;\n};\n\nvar __defProp$7 = Object.defineProperty;\nvar __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$7 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$7 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$7 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$7.call(b, prop))\n __defNormalProp$7(a, prop, b[prop]);\n if (__getOwnPropSymbols$7)\n for (var prop of __getOwnPropSymbols$7(b)) {\n if (__propIsEnum$7.call(b, prop))\n __defNormalProp$7(a, prop, b[prop]);\n }\n return a;\n};\nconst validateShoppingCart$1 = async (config, headers) => {\n const { apiURL } = getState().artisnApp;\n const { id, latitude, longitude } = config;\n const selectedHeaders = await buildServiceHeaders(__spreadValues$7({}, headers));\n let url = `${apiURL}/api/shopping-cart/${id}/validateShoppingCart`;\n try {\n if (typeof latitude !== \"undefined\" && typeof longitude !== \"undefined\") {\n url += `?latitude=${latitude}&longitude=${longitude}`;\n }\n const data = await fetch(url, {\n headers: selectedHeaders\n }).then(async (data2) => {\n return await data2.json();\n });\n const shoppingCart = data.data;\n if (!shoppingCart)\n throw new Error(\"No shopping cart was found.\");\n const storeAlerts = Object.values(shoppingCart.stores).reduce((acc, store) => {\n if (store.alerts.length)\n return [...acc, ...store.alerts];\n return acc;\n }, []);\n const products = getShoppingCartProducts(shoppingCart);\n const productsAlerts = products.map((item) => item.alerts).flat();\n const alerts = {\n stores: storeAlerts,\n products: productsAlerts\n };\n return alerts;\n } catch (e) {\n console.error(e.message);\n return {\n stores: [\n {\n errorLevel: 1,\n message: \"Ocurri\\xF3 un error desconocido, comun\\xEDquese con soporte\",\n type: \"\"\n }\n ],\n products: []\n };\n }\n};\n\nconst validateShoppingCart = async (config = {}, headers) => {\n const reusedConfig = reuseGlobalConfig(config);\n checkValidateShoppingCartConfig(reusedConfig, headers);\n const { latitude, longitude, shoppingCartName } = reusedConfig;\n const shoppingCartNode = await getShoppingCartNode(reusedConfig);\n const { id } = shoppingCartNode != null ? shoppingCartNode : {};\n if (typeof id === \"undefined\") {\n console.error(`Cannot use undefined as a shopping cart id. Shopping cart ${shoppingCartName} was not found. Validation canceled.`);\n return;\n }\n return await validateShoppingCart$1({ id, latitude, longitude }, headers);\n};\n\nvar __defProp$6 = Object.defineProperty;\nvar __defProps$4 = Object.defineProperties;\nvar __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$6 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$6 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$6 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$6.call(b, prop))\n __defNormalProp$6(a, prop, b[prop]);\n if (__getOwnPropSymbols$6)\n for (var prop of __getOwnPropSymbols$6(b)) {\n if (__propIsEnum$6.call(b, prop))\n __defNormalProp$6(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));\nconst getInitialBenefitsWallet = (overrides = {}) => {\n return __spreadValues$6({ benefits: [] }, overrides);\n};\nconst mapCollectionToBenefits = (benefitsNode, hash) => {\n const benefits = Object.values(benefitsNode).map((benefit) => {\n const newBenefit = __spreadProps$4(__spreadValues$6({}, benefit), { hash });\n return newBenefit;\n });\n return benefits;\n};\nconst updateBenefitsWallets = (walletName, newWallet) => {\n const { wallets } = getState();\n const newWallets = __spreadProps$4(__spreadValues$6({}, wallets), {\n [walletName]: __spreadValues$6({}, newWallet)\n });\n setState({ wallets: newWallets });\n};\nconst getBenefitsNode = async (config = {}) => {\n var _a, _b;\n const {\n artisnApp,\n customerId: globalCustomerId,\n accountId: globalAccountId\n } = getState();\n const { accountId, customerId } = config;\n checkArtisnAppProvided();\n checkMinimumConfigProvided(config);\n const db = artisnApp == null ? void 0 : artisnApp.__internals__.firestore();\n const benefitsCollection = await ((_b = (_a = db == null ? void 0 : db.collection(\"benefitsByUser\")) == null ? void 0 : _a.doc(String(customerId != null ? customerId : globalCustomerId))) == null ? void 0 : _b.collection(String(accountId != null ? accountId : globalAccountId)));\n return benefitsCollection;\n};\nconst getWalletNode = async (config) => {\n try {\n const benefitsCollection = await getBenefitsNode(config);\n if (!benefitsCollection)\n return;\n const newestBenefits = await benefitsCollection.get().then((benefitsByUser) => {\n return benefitsByUser.docs[0];\n });\n return newestBenefits;\n } catch (e) {\n console.error(e.message);\n }\n};\nconst getWallet = async (config) => {\n const benefitsByUserNode = await getWalletNode(config);\n if (!benefitsByUserNode)\n return;\n if (Object.keys(benefitsByUserNode.data()).length === 0)\n return [];\n const hash = benefitsByUserNode.id;\n const benefits = Object.values(benefitsByUserNode.data()).map((benefit) => {\n const newBenefit = __spreadProps$4(__spreadValues$6({}, benefit), { hash });\n return newBenefit;\n });\n return benefits;\n};\n\nvar __defProp$5 = Object.defineProperty;\nvar __defProps$3 = Object.defineProperties;\nvar __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$5 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$5 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$5 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$5.call(b, prop))\n __defNormalProp$5(a, prop, b[prop]);\n if (__getOwnPropSymbols$5)\n for (var prop of __getOwnPropSymbols$5(b)) {\n if (__propIsEnum$5.call(b, prop))\n __defNormalProp$5(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));\nconst fetchWalletByUser = async (config, headers) => {\n const { apiURL } = getState().artisnApp;\n const { vendorId, customerId } = config;\n const selectedHeaders = await buildServiceHeaders(__spreadProps$3(__spreadValues$5({}, headers), {\n uid: customerId.toString()\n }));\n let serviceURL = \"/api/shopping-cart/retrieveBenefits\";\n if (vendorId)\n serviceURL = serviceURL + `?vendorId=${vendorId}`;\n const url = `${apiURL}${serviceURL}`;\n const data = await fetch(url, {\n headers: selectedHeaders\n }).then(async (data2) => {\n return await data2.json();\n }).catch((e) => {\n throw new Error(`Failed to retrieve the user's wallet\n ${e.message}`);\n });\n if (!data) {\n throw new Error(`The benefits wallet is not defined. Make sure coupons are well configured`);\n }\n};\nconst redeemCouponService = async (config, code, headers) => {\n const { apiURL } = getState().artisnApp;\n const { customerId } = config;\n const selectedHeaders = await buildServiceHeaders(__spreadProps$3(__spreadValues$5({}, headers), {\n uid: customerId.toString()\n }));\n try {\n const url = `${apiURL}/api/wallet_profit/apply`;\n const result = await fetch(url, {\n method: \"post\",\n body: JSON.stringify({ code }),\n headers: selectedHeaders\n }).then(async (data2) => {\n return await data2.json();\n });\n const response = result;\n const { code: responseCode, data, message } = response;\n if (responseCode === 200)\n return true;\n if (!data)\n throw new Error(message.code);\n logError(`Unhandled response when redeeming coupon ${JSON.stringify(response, void 0, 2)}`);\n return false;\n } catch (e) {\n throw new Error(e.message);\n }\n};\nconst applyBenefitService = async (config, headers) => {\n var _a, _b;\n const { benefit, customerId, shoppingCartId } = config;\n const { benefitId } = benefit;\n const { apiURL } = getState().artisnApp;\n const selectedHeaders = await buildServiceHeaders(__spreadProps$3(__spreadValues$5({}, headers), {\n uid: customerId.toString()\n }));\n const selectedBenefitBody = {\n benefitId,\n shoppingCartId\n };\n const url = `${apiURL}/api/shopping-cart/applyBenefit`;\n const data = await fetch(url, {\n method: \"post\",\n body: JSON.stringify(selectedBenefitBody),\n headers: selectedHeaders\n }).then(async (data2) => {\n return await data2.json();\n });\n if ((data == null ? void 0 : data.code) !== 200) {\n throw new Error((_b = (_a = data.message) == null ? void 0 : _a.message) != null ? _b : data.message);\n }\n if ((data == null ? void 0 : data.data.length) === 0) {\n throw new Error(\"No benefits were applied to the current shopping cart\");\n }\n return data;\n};\nconst fetchStoreCoupons = async (config, headers) => {\n const { apiURL } = getState().artisnApp;\n const { vendorId } = config;\n checkVendorId(vendorId);\n const url = `${apiURL}/api/couponByPromotion/categories?orderBy=created_at&sortBy=DESC&vendorId=${vendorId}`;\n const selectedHeaders = await buildServiceHeaders(__spreadValues$5({}, headers));\n const data = await fetch(url, {\n method: \"get\",\n headers: selectedHeaders\n }).then(async (data2) => {\n return await data2.json();\n });\n if ((data == null ? void 0 : data.code) !== 200)\n throw new Error(data.message);\n return data.data;\n};\nconst fetchStoreCouponDetail = async (config, headers) => {\n const { apiURL } = getState().artisnApp;\n const { couponId, countryId } = config;\n checkStoreCouponDetailConfig(config);\n const url = `${apiURL}/api/coupon/${couponId}?countryId=${countryId}`;\n const selectedHeaders = await buildServiceHeaders(__spreadValues$5({}, headers));\n const data = await fetch(url, {\n method: \"get\",\n headers: selectedHeaders\n }).then(async (data2) => {\n return await data2.json();\n });\n if ((data == null ? void 0 : data.code) !== 200)\n throw new Error(data.message);\n return data.data;\n};\n\nvar __defProp$4 = Object.defineProperty;\nvar __defProps$2 = Object.defineProperties;\nvar __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$4 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$4 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$4 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$4.call(b, prop))\n __defNormalProp$4(a, prop, b[prop]);\n if (__getOwnPropSymbols$4)\n for (var prop of __getOwnPropSymbols$4(b)) {\n if (__propIsEnum$4.call(b, prop))\n __defNormalProp$4(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));\nconst listenBenefitsWallet = (onSnapshot, config, headers) => {\n const reusedConfig = reuseGlobalConfig(config);\n checkMinimumFetchWalletConfigProvided(reusedConfig);\n checkCommonHeaders(headers);\n const { shoppingCartName, customerId, anonymous } = reusedConfig;\n const { wallets } = getState();\n const walletExists = wallets[shoppingCartName];\n if (anonymous)\n return () => unsubscriber(shoppingCartName);\n if (walletExists) {\n logError(`There is already a listener for wallet of name ${shoppingCartName}. Either unsubscribe to the other listener or create a new listener for a different cart`);\n return () => unsubscriber(shoppingCartName);\n }\n const newWallet = getInitialBenefitsWallet();\n updateBenefitsWallets(shoppingCartName, __spreadProps$2(__spreadValues$4({}, newWallet), { onSnapshot }));\n let dbUnsubscriber = void 0;\n (async () => {\n const fetchConfig = __spreadProps$2(__spreadValues$4({}, reusedConfig), { customerId });\n try {\n await fetchWalletByUser(fetchConfig, headers);\n const benefitsNode = await getBenefitsNode(reusedConfig);\n if (!benefitsNode) {\n throw new Error(\"Failed to retrieve the benefits wallet node\");\n }\n dbUnsubscriber = benefitsNode.onSnapshot(async (collection) => {\n var _a, _b, _c;\n const benefitsByUser = (_c = (_b = (_a = collection == null ? void 0 : collection.docs) == null ? void 0 : _a[0]) == null ? void 0 : _b.data()) != null ? _c : {};\n if (Object.keys(benefitsByUser).length === 0) {\n const newWallet3 = getInitialBenefitsWallet();\n updateBenefitsWallets(shoppingCartName, __spreadProps$2(__spreadValues$4({}, newWallet3), {\n onSnapshot\n }));\n onSnapshot(newWallet3);\n return;\n }\n const hash = collection.docs[0].id;\n const benefits = mapCollectionToBenefits(benefitsByUser, hash);\n const newWallet2 = getInitialBenefitsWallet({\n benefits\n });\n updateBenefitsWallets(shoppingCartName, __spreadProps$2(__spreadValues$4({}, newWallet2), { onSnapshot }));\n onSnapshot(newWallet2);\n });\n } catch (e) {\n console.error(e.message);\n }\n })();\n return () => unsubscriber(shoppingCartName, dbUnsubscriber);\n};\nconst unsubscriber = (shoppingCartName, unsubscribe) => {\n const { wallets } = getState();\n const newWallets = __spreadValues$4({}, wallets);\n delete newWallets[shoppingCartName];\n setState({ wallets: newWallets });\n if (unsubscribe)\n unsubscribe();\n};\n\nvar __defProp$3 = Object.defineProperty;\nvar __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$3 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$3 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$3 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$3.call(b, prop))\n __defNormalProp$3(a, prop, b[prop]);\n if (__getOwnPropSymbols$3)\n for (var prop of __getOwnPropSymbols$3(b)) {\n if (__propIsEnum$3.call(b, prop))\n __defNormalProp$3(a, prop, b[prop]);\n }\n return a;\n};\nconst applyBenefit = async (config) => {\n const reusedConfig = reuseGlobalConfig(config);\n checkMinimumConfigProvided(reusedConfig);\n const { benefitId, shoppingCartName } = reusedConfig;\n const { wallets } = getState();\n const errorMessage = checkBenefitConfigProvided(wallets, shoppingCartName, reusedConfig);\n if (errorMessage) {\n logError(errorMessage);\n return;\n }\n const activeWallet = wallets[shoppingCartName];\n const benefits = activeWallet.benefits;\n const benefitToApply = benefits.find((benefit) => benefit.benefitId === benefitId);\n if (!benefitToApply) {\n logError(`No benefit was found in the benefits wallet with the benefitId provided.`);\n return;\n }\n const { type: benefitType } = benefitToApply;\n switch (benefitType) {\n case \"PRODUCT\":\n return applyProductBenefitHelper(reusedConfig, benefitToApply);\n case \"ALTER_DELIVERY\":\n return applyAlterDeliveryBenefitHelper(reusedConfig, benefitToApply);\n case \"DISCOUNT_PERCENTAGE\":\n case \"DISCOUNT_FIXED\":\n return applyDiscountBenefitHelper(reusedConfig, benefitToApply);\n default:\n logError(\"The benefit to be applied is not of type PRODUCT, DISCOUNT_PERCENTAGE, DISCOUNT_FIXED or ALTER_DELIVERY.\");\n break;\n }\n};\nconst applyProductBenefitHelper = async (config, benefit) => {\n const reusedConfig = reuseGlobalConfig(config);\n const { product, productConfig, anonymous } = reusedConfig;\n const { benefitId } = benefit;\n if (!product || !productConfig) {\n logError(`The product or the product configuration has not been provided to apply the selected benefit.`);\n return;\n }\n product.benefitId = benefitId;\n await applyBenefitsToCart(reusedConfig, benefit);\n await addProduct(product, __spreadValues$3({ anonymous }, productConfig));\n};\nconst applyAlterDeliveryBenefitHelper = async (config, benefit) => {\n const reusedConfig = reuseGlobalConfig(config);\n const { shippingCost, latitude, longitude, shoppingCartName } = reusedConfig;\n const { anonymous } = reusedConfig;\n if (!shippingCost || !latitude || !longitude) {\n logError(\"The shippingCost, latitude and longitude are required to apply the selected benefit.\");\n return;\n }\n const { benefitWalletId, award } = benefit;\n if (Array.isArray(award)) {\n logError(\"To apply a ALTER_DELIVERY benefit, the award associated with the benefit cannot be an array.\");\n return;\n }\n const { benefitId: awardBenefitId, discountPercentage } = award;\n const { subtotalBeforeTaxes } = shippingCost;\n const value = subtotalBeforeTaxes * (discountPercentage / 100);\n const benefitList = [];\n benefitList.push({\n benefitWalletId,\n benefitId: awardBenefitId,\n discountBase: subtotalBeforeTaxes,\n percentage: discountPercentage,\n priceCategory: \"NORMAL\",\n value\n });\n shippingCost.discounts = benefitList;\n await applyBenefitsToCart(reusedConfig, benefit, shippingCost);\n await validateShoppingCart({\n latitude,\n longitude,\n shoppingCartName,\n anonymous\n });\n};\nconst applyBenefitsToCart = async (config, benefit, shippingCost) => {\n const shoppingCartNode = await getShoppingCartNode(config);\n if (!shoppingCartNode) {\n console.warn(\"Cannot add benefit because no shopping cart nodes were found. Please ensure you have a shopping cart before continue.\");\n return;\n }\n const shoppingCart = await shoppingCartNode.data();\n const updatedCart = applyBenefitsHelper(shoppingCart, benefit, shippingCost);\n await shoppingCartNode.ref.set(updatedCart);\n};\nconst applyBenefitsHelper = (shoppingCart, benefit, shippingCost) => {\n const { hash } = benefit;\n const { benefits } = shoppingCart;\n const temporalBenefits = benefits != null ? benefits : [];\n temporalBenefits.push(benefit);\n shoppingCart.benefits = temporalBenefits;\n shoppingCart.benefitsHash = hash;\n if (shippingCost)\n shoppingCart.shippingCost = shippingCost;\n return shoppingCart;\n};\nconst applyDiscountBenefitHelper = async (config, benefit) => {\n const reuseConfig = reuseGlobalConfig(config);\n const { customerId, shoppingCartId, shoppingCartName } = reuseConfig;\n if (!customerId) {\n logError(\"To apply a DISCOUNT_PERCENTAGE or DISCOUNT_FIXED benefit, a customerId must be provided.\");\n return;\n }\n if (!shoppingCartId) {\n logError(\"To apply a DISCOUNT_PERCENTAGE or DISCOUNT_FIXED benefit, a shoppingCartId must be provided.\");\n return;\n }\n const shoppingCart = await getShoppingCart(reuseConfig);\n if (!shoppingCart) {\n logError(`Cannot apply discount benefit because no shopping cart was found. Please ensure you create a shopping cart with name ${shoppingCartName} before continue.`);\n return;\n }\n const { subtotal } = getShoppingCartTotal(shoppingCart);\n if (benefit.type === \"DISCOUNT_FIXED\" && subtotal < Number(benefit.discountFixed)) {\n logError(\"Cannot apply DISCOUNT_FIXED benefit because discount is greater than cart subtotal.\");\n return;\n }\n await applyBenefitService({ benefit, customerId, shoppingCartId });\n};\n\nvar __defProp$2 = Object.defineProperty;\nvar __defProps$1 = Object.defineProperties;\nvar __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$2 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$2 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$2 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$2.call(b, prop))\n __defNormalProp$2(a, prop, b[prop]);\n if (__getOwnPropSymbols$2)\n for (var prop of __getOwnPropSymbols$2(b)) {\n if (__propIsEnum$2.call(b, prop))\n __defNormalProp$2(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));\nconst removeBenefit = async (config) => {\n const reusedConfig = reuseGlobalConfig(config);\n checkMinimumConfigProvided(reusedConfig);\n const { benefitId, shoppingCartName } = reusedConfig;\n const { wallets } = getState();\n const errorMessage = checkBenefitConfigProvided(wallets, shoppingCartName, reusedConfig);\n if (errorMessage) {\n logError(errorMessage);\n return;\n }\n const activeWallet = wallets[shoppingCartName];\n const benefits = activeWallet.benefits;\n const benefitToRemove = benefits.find((benefit) => benefit.benefitId === benefitId);\n if (!benefitToRemove) {\n logError(`No benefit was found in the benefits wallet with the benefitId provided.`);\n return;\n }\n const { type: benefitType } = benefitToRemove;\n switch (benefitType) {\n case \"PRODUCT\":\n return removeProductBenefitHelper(reusedConfig, benefitToRemove);\n case \"ALTER_DELIVERY\":\n return removeAlterDeliveryBenefitHelper(reusedConfig, benefitToRemove);\n case \"DISCOUNT_PERCENTAGE\":\n case \"DISCOUNT_FIXED\":\n return removeBenefitsFromCart(reusedConfig, benefitToRemove);\n default:\n logError(\"The benefit to be removed is not of type PRODUCT, DISCOUNT_PERCENTAGE, DISCOUNT_FIXED or ALTER_DELIVERY.\");\n break;\n }\n};\nconst removeProductBenefitHelper = async (config, benefit) => {\n const reusedConfig = reuseGlobalConfig(config);\n const { product, productConfig } = reusedConfig;\n const { store } = productConfig != null ? productConfig : {};\n if (!product || !store) {\n logError(\"The cart product and the store, inside benefitProductConfig object, are required to remove the selected benefit.\");\n return;\n }\n reusedConfig.productConfig.store = __spreadProps$1(__spreadValues$2({}, store), { polygons: null });\n await removeBenefitsFromCart(reusedConfig, benefit);\n await removeProduct(product, productConfig);\n};\nconst removeAlterDeliveryBenefitHelper = async (config, benefit) => {\n const reusedConfig = reuseGlobalConfig(config);\n const { shippingCost } = reusedConfig;\n if (!shippingCost) {\n logError(`The shippingCost is require to remove the selected benefit.`);\n return;\n }\n return removeBenefitsFromCart(reusedConfig, benefit, shippingCost);\n};\nconst removeBenefitsFromCart = async (config, benefit, shippingCost) => {\n const shoppingCartNode = await getShoppingCartNode(config);\n if (!shoppingCartNode) {\n console.warn(`Cannot remove benefit because no shopping cart nodes were found. Please ensure you have a shopping cart before continue.`);\n return;\n }\n const shoppingCart = await shoppingCartNode.data();\n const updatedCart = removeBenefitsHelper(shoppingCart, benefit, shippingCost);\n await shoppingCartNode.ref.set(updatedCart);\n};\nconst removeBenefitsHelper = (shoppingCart, benefit, shippingCost) => {\n const { benefits } = shoppingCart;\n const { benefitId } = benefit;\n if (!benefits) {\n console.warn(`Cannot remove benefit because the shopping cart does not have benefits applied.`);\n return shoppingCart;\n }\n const benefitIdIndex = benefits.findIndex((benefit2) => benefit2.benefitId === benefitId);\n if (benefitIdIndex < 0) {\n console.warn(`This benefit cannot be removed because it is not applied to the shopping cart.`);\n return shoppingCart;\n }\n benefits.splice(benefitIdIndex, 1);\n delete shoppingCart.benefitsHash;\n if (shippingCost)\n shoppingCart.shippingCost = shippingCost;\n return shoppingCart;\n};\n\nvar __defProp$1 = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$1 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$1 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n if (__getOwnPropSymbols$1)\n for (var prop of __getOwnPropSymbols$1(b)) {\n if (__propIsEnum$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst redeemCoupon = async (config, code, headers) => {\n const reusedConfig = reuseGlobalConfig(config);\n const { customerId, shoppingCartName } = reusedConfig;\n checkMinimumConfigProvided(config);\n checkCommonHeaders(headers);\n const { wallets } = getState();\n const activeWallet = wallets[shoppingCartName];\n if (!activeWallet) {\n logError(`No benefits wallet available for ${shoppingCartName}, you probably forgot to call listenBenefitsWallet beforehand.`);\n }\n await redeemCouponService(reusedConfig, code, headers);\n await fetchWalletByUser(reusedConfig, headers);\n const benefits = await getWallet({\n customerId,\n shoppingCartName\n });\n if (!benefits) {\n throw new Error(`Failed to fetch benefits from firestore for the current customer after redeeming coupon`);\n }\n const updatedWallet = getInitialBenefitsWallet({\n benefits\n });\n const newInternalWallet = {\n benefits: [...updatedWallet.benefits],\n onSnapshot: activeWallet.onSnapshot\n };\n const newWallets = __spreadProps(__spreadValues$1({}, wallets), {\n [shoppingCartName]: newInternalWallet\n });\n setState({ wallets: newWallets });\n activeWallet.onSnapshot(updatedWallet);\n};\n\nconst mergeShoppingCart = async (shoppingCart, config) => {\n return new Promise((resolve, reject) => {\n const action = async () => {\n try {\n const shoppingCartNode = await getShoppingCartNode(config);\n if (!shoppingCartNode) {\n logDebug(\"Cannot merge the shopping carts because no shopping cart nodes were found. Please ensure you have a shopping cart before continue.\");\n resolve(null);\n return null;\n }\n let destinyShoppingCart = shoppingCartNode.data();\n const stores = Object.values(shoppingCart.stores);\n stores.forEach((store, index) => {\n const products = Object.values(store.products);\n products.forEach((product) => {\n const { amount } = product;\n destinyShoppingCart = addProductToCartHelper(destinyShoppingCart, product, {\n store,\n amount\n });\n });\n });\n await shoppingCartNode.ref.set(destinyShoppingCart);\n resolve(destinyShoppingCart);\n return destinyShoppingCart;\n } catch (e) {\n reject(e);\n return null;\n }\n };\n const { eventLoop, queue } = getState();\n queue.enqueue(action);\n if (!eventLoop.isRunning)\n eventLoop.start();\n });\n};\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst updateShoppingCart = async (setShoppingCart, config) => {\n return new Promise((resolve, reject) => {\n const action = async () => {\n try {\n const { shoppingCartName } = reuseGlobalConfig(config);\n const shoppingCartNode = await getShoppingCartNode(config);\n if (!shoppingCartNode) {\n console.warn(`Cannot update remote cart because no shopping cart was found. Please ensure you create a shopping cart with name ${shoppingCartName} before continue.`);\n resolve(null);\n return null;\n }\n const cart = await shoppingCartNode.data();\n const updatedCart = updateShoppingCartHelper(cart, setShoppingCart);\n await shoppingCartNode.ref.set(updatedCart);\n resolve(updatedCart);\n return updatedCart;\n } catch (e) {\n reject(e);\n return null;\n }\n };\n const { eventLoop, queue } = getState();\n queue.enqueue(action);\n if (!eventLoop.isRunning)\n eventLoop.start();\n });\n};\nconst updateShoppingCartHelper = (cart, setShoppingCart) => {\n const updatedCart = __spreadValues(__spreadValues({}, cart), setShoppingCart(cart));\n return updatedCart;\n};\n\nexport { addProduct, applyBenefit, checkInit, closeShoppingCart, createShoppingCart, deleteShoppingCart, emptyShoppingCart, fetchStoreCouponDetail, fetchStoreCoupons, findProduct, getProductHash, getShoppingCart, getShoppingCartProducts, getShoppingCartTotal, initShoppingCart, listenBenefitsWallet, listenShoppingCart, mergeShoppingCart, redeemCoupon, removeBenefit, removeProduct, replaceProduct, setProduct, subtractProduct, updateShoppingCart, validateShoppingCart };\n//# sourceMappingURL=bundle.esm.js.map\n","const isBaseProduct = (product) => {\n const { attributes, description, name } = product;\n const { images, prices, productId } = product;\n const { showInMenu } = attributes;\n if (typeof showInMenu !== \"boolean\") {\n return false;\n }\n if (typeof description !== \"string\") {\n return false;\n }\n if (typeof name !== \"string\") {\n return false;\n }\n if (typeof productId !== \"string\") {\n return false;\n }\n if (typeof prices !== \"object\" || typeof prices === \"object\" && Object.keys(prices).length < 1) {\n return false;\n }\n if (!Array.isArray(images)) {\n return false;\n }\n return true;\n};\nconst isProductDetails = (product) => {\n const validBaseProduct = isBaseProduct(product);\n if (!validBaseProduct) {\n return false;\n }\n const { questions } = product;\n if (!Array.isArray(questions)) {\n return false;\n }\n return true;\n};\nconst isCartProduct = (product) => {\n const validProductDetails = isProductDetails(product);\n if (!validProductDetails) {\n return false;\n }\n const { hash, createdAt, updatedAt } = product;\n const { amount, priceCategory, comment, questionsAndAnswers } = product;\n if (typeof hash !== \"string\") {\n return false;\n }\n if (typeof createdAt !== \"string\") {\n return false;\n }\n if (typeof updatedAt !== \"string\") {\n return false;\n }\n if (typeof amount !== \"number\") {\n return false;\n }\n if (typeof comment !== \"string\") {\n return false;\n }\n if (![\"NORMAL\", \"POINTS\"].includes(priceCategory)) {\n return false;\n }\n if (!Array.isArray(questionsAndAnswers)) {\n return false;\n }\n return true;\n};\nconst isFormCartProduct = (product) => {\n var _a;\n const validCartProduct = isCartProduct(product);\n if (!validCartProduct) {\n return false;\n }\n const { questions } = product;\n if (!Array.isArray(questions)) {\n return false;\n }\n const answers = (_a = questions == null ? void 0 : questions[0]) == null ? void 0 : _a.answers;\n if ((answers == null ? void 0 : answers.length) && typeof answers[0].amount === \"undefined\") {\n return false;\n }\n return true;\n};\n\nvar assertions_utils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n isBaseProduct: isBaseProduct,\n isProductDetails: isProductDetails,\n isCartProduct: isCartProduct,\n isFormCartProduct: isFormCartProduct\n});\n\nconst logError = (message) => {\n if (process.env.NODE_ENV === \"production\") {\n console.error(message);\n } else {\n throw new Error(message);\n }\n};\n\nconst getGroupType = (group) => {\n const { min, max, type } = group;\n if (type) {\n if (type === \"QUANTITY\" || type === \"SELECT\") {\n return \"COUNTER\";\n }\n return type;\n }\n if (min === 0 && max === 1) {\n return \"CHECKBOX\";\n }\n if (min === 1 && max === 1) {\n return \"RADIO\";\n }\n if (min === 0 && (max === 0 || max === Infinity)) {\n return \"COUNTER\";\n }\n if (max >= min) {\n return \"COUNTER\";\n }\n throw new Error(`Modifier group bad configured. min ${min}, max ${max}, type ${type}`);\n};\nconst getModifierType = (config) => {\n const { groupType, min, max, type } = config;\n if (groupType === \"RADIO\") {\n return \"RADIO\";\n }\n if (type) {\n if (type === \"QUANTITY\" || type === \"SELECT\") {\n return \"COUNTER\";\n }\n return type;\n }\n if (min === 1 && max === 1) {\n return \"RADIO\";\n }\n if (min === 0 && max === 1) {\n return \"CHECKBOX\";\n }\n if (min === 0 && (max === 0 || max === Infinity)) {\n return \"COUNTER\";\n }\n if (max >= min) {\n return \"COUNTER\";\n }\n return groupType;\n};\nconst getModifierMin = (groupConfig) => {\n const { min, modifiersCount } = groupConfig;\n if (modifiersCount === 1) {\n return min;\n }\n return 0;\n};\nconst getModifierMax = (groupConfig) => {\n const { max, type } = groupConfig;\n const normalizedMax = max || Infinity;\n if (type === \"RADIO\") {\n return 1;\n }\n if (type === \"CHECKBOX\") {\n return 1;\n }\n if (type === \"COUNTER\") {\n return normalizedMax;\n }\n return normalizedMax;\n};\nconst getModifierErrors = (modifier, amount, strict) => {\n const errors = [];\n const { max, min } = modifier;\n if (amount > max) {\n errors.push({\n code: 101,\n message: `Amount is heigher than the maximum allowed amount ${max}`\n });\n }\n if (strict && amount < min) {\n errors.push({\n code: 102,\n message: `Amount is lower than the minimum allowed amount ${min}`\n });\n }\n return errors;\n};\nconst getGroupModifierErrors = (group, strict) => {\n const errors = [];\n const { modifiers, data } = group;\n let { min, max } = data;\n if (min === 0 && max === 0) {\n max = Infinity;\n }\n const amount = modifiers.reduce((acc, modifier) => {\n return acc + modifier.amount;\n }, 0);\n if (amount > max) {\n errors.push({\n code: 201,\n message: `Amount is heigher than the maximum allowed amount ${max}`\n });\n }\n if (strict && amount < min) {\n errors.push({\n code: 202,\n message: `Amount is lower than the minimum allowed amount ${min}`\n });\n }\n return errors;\n};\nconst getGroupRendererStatus = (group) => {\n const { touched, errors, required, data, modifiers } = group;\n const { min } = data;\n const childrenWithError = modifiers.some((modifier) => modifier.status === \"FAIL\");\n const childrenIdle = modifiers.some((modifier) => modifier.status === \"IDLE\");\n const childrenIncomplete = modifiers.some((modifier) => modifier.status === \"INCOMPLETE\");\n const amount = modifiers.reduce((acc, modifier) => {\n return acc + modifier.amount;\n }, 0);\n return mapRenderStatusHelper({\n touched,\n errors,\n required,\n min,\n amount,\n childrenWithError,\n childrenIdle,\n childrenIncomplete,\n reviewChildren: true\n });\n};\nconst getModifierRendererStatus = (modifier) => {\n const childrenWithError = modifier.groups.some((group) => group.status === \"FAIL\");\n const childrenIdle = modifier.groups.some((group) => group.status === \"IDLE\");\n const childrenIncomplete = modifier.groups.some((group) => group.status === \"INCOMPLETE\");\n const { touched, errors, required, min, amount } = modifier;\n const reviewChildren = amount > 0;\n return mapRenderStatusHelper({\n touched,\n errors,\n required,\n min,\n amount,\n childrenWithError,\n childrenIdle,\n childrenIncomplete,\n reviewChildren\n });\n};\nconst mapRenderStatusHelper = (config) => {\n const { touched, errors, required, min, amount, reviewChildren } = config;\n const { childrenWithError, childrenIdle, childrenIncomplete } = config;\n const firstRender = amount > 0 && !touched;\n if (!firstRender && !touched && required) {\n return \"IDLE\";\n }\n if (!firstRender && !touched && !required) {\n return \"OK\";\n }\n if (errors.length) {\n return \"FAIL\";\n }\n if (reviewChildren && childrenWithError) {\n return \"FAIL\";\n }\n if (reviewChildren && (childrenIdle || childrenIncomplete)) {\n return \"INCOMPLETE\";\n }\n if (amount < min) {\n return \"INCOMPLETE\";\n }\n if (amount >= min) {\n return \"OK\";\n }\n logError(`Unhandled case. Unable to compute the renderer status ${JSON.stringify({\n touched,\n errors,\n required,\n min,\n amount\n }, void 0, 2)}`);\n return \"FAIL\";\n};\nconst mapGlobalRendererStatus = (renderer) => {\n const allChildrenOk = renderer.every((group) => {\n const { status, required } = group;\n const ok = status === \"OK\";\n const idleNotRequired = status === \"IDLE\" && !required;\n return ok || idleNotRequired;\n });\n if (allChildrenOk) {\n return \"OK\";\n }\n const childrenIsIdle = renderer.every((group) => !group.touched);\n if (childrenIsIdle) {\n return \"IDLE\";\n }\n const chidrenWithError = renderer.some((group) => group.status === \"FAIL\");\n if (chidrenWithError) {\n return \"FAIL\";\n }\n return \"INCOMPLETE\";\n};\n\nvar __defProp$7 = Object.defineProperty;\nvar __defProps$5 = Object.defineProperties;\nvar __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$7 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$7 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$7 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$7.call(b, prop))\n __defNormalProp$7(a, prop, b[prop]);\n if (__getOwnPropSymbols$7)\n for (var prop of __getOwnPropSymbols$7(b)) {\n if (__propIsEnum$7.call(b, prop))\n __defNormalProp$7(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));\nconst multiplyProductQA = (product) => {\n return operationOnProductQA(product, (answer, productAmount) => {\n const accAmount = answer.amount * productAmount;\n const fixedAnswer = multiplyProductQA(__spreadProps$5(__spreadValues$7({}, answer), {\n amount: accAmount\n }));\n return __spreadProps$5(__spreadValues$7({}, fixedAnswer), { amount: answer.amount * productAmount });\n });\n};\nconst divideProductQA = (product) => {\n return operationOnProductQA(product, (answer, productAmount) => {\n const fixedAnswer = divideProductQA(answer);\n return __spreadProps$5(__spreadValues$7({}, fixedAnswer), { amount: answer.amount / productAmount });\n });\n};\nconst operationOnProductQA = (product, answerEnhancer) => {\n const { amount: productAmount = 1, questionsAndAnswers = [] } = product;\n const newQuestionsAndAnswers = questionsAndAnswers.map((question) => {\n const answers = question.answers.map((answer) => {\n return answerEnhancer(answer, productAmount);\n });\n return __spreadProps$5(__spreadValues$7({}, question), { answers });\n });\n return __spreadProps$5(__spreadValues$7({}, product), {\n questionsAndAnswers: newQuestionsAndAnswers\n });\n};\n\nvar questionsAndAnswers_utils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n multiplyProductQA: multiplyProductQA,\n divideProductQA: divideProductQA,\n operationOnProductQA: operationOnProductQA\n});\n\nvar __defProp$6 = Object.defineProperty;\nvar __defProps$4 = Object.defineProperties;\nvar __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$6 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$6 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$6 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$6.call(b, prop))\n __defNormalProp$6(a, prop, b[prop]);\n if (__getOwnPropSymbols$6)\n for (var prop of __getOwnPropSymbols$6(b)) {\n if (__propIsEnum$6.call(b, prop))\n __defNormalProp$6(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));\nconst toCartProduct = (product, overrides = {}) => {\n if (isCartProduct(product)) {\n return __spreadValues$6(__spreadValues$6({}, product), overrides);\n }\n if (isProductDetails(product)) {\n return toCartProductFromProductDetails(product, overrides);\n }\n const productDetails = toProductDetails(product);\n return toCartProductFromProductDetails(productDetails, overrides);\n};\nconst toCartProductFromProductDetails = (product, overrides = {}) => {\n const { questionsAndAnswers, priceCategory, amount } = product;\n const newCartProduct = __spreadValues$6(__spreadProps$4(__spreadValues$6({}, product), {\n questionsAndAnswers: questionsAndAnswers != null ? questionsAndAnswers : [],\n amount: amount != null ? amount : 0,\n priceCategory: priceCategory != null ? priceCategory : \"NORMAL\",\n comment: \"\",\n alerts: [],\n hash: \"\",\n createdAt: \"\",\n updatedAt: \"\"\n }), overrides);\n return newCartProduct;\n};\nconst toProductDetails = (product, overrides = {}) => {\n return __spreadValues$6(__spreadProps$4(__spreadValues$6({}, product), {\n addDirectlyToCart: true,\n isPriceVip: false,\n manufacturer: [],\n maxAmountForSale: 0,\n questions: [],\n schedule: [],\n benefitId: null,\n categories: null\n }), overrides);\n};\nconst toFormCartProduct = (product, overrides = {}) => {\n if (isFormCartProduct(product)) {\n return __spreadValues$6(__spreadValues$6({}, product), overrides);\n }\n if (isProductDetails(product)) {\n return toFormCartProductFromProductDetails(product, overrides);\n }\n const productDetails = toProductDetails(product);\n return toFormCartProductFromProductDetails(productDetails, overrides);\n};\nconst toFormCartProductHelper = (product, overrides = {}) => {\n const fixedProduct = divideProductQA(product);\n const { priceCategory, productId, amount } = fixedProduct;\n const newQuestions = fixedProduct.questions.map((question) => {\n var _a;\n const pairQuestion = (_a = fixedProduct.questionsAndAnswers) == null ? void 0 : _a.find((q) => {\n return q.questionId === question.questionId;\n });\n const selectedQuestion = pairQuestion != null ? pairQuestion : question;\n const { questionId, min, max } = selectedQuestion;\n const answerConfig = {\n rootId: productId,\n min,\n max,\n type: getGroupType(selectedQuestion),\n modifiersCount: question.answers.length,\n amount,\n path: []\n };\n return __spreadProps$4(__spreadValues$6({}, selectedQuestion), {\n answers: question.answers.map((answer) => {\n var _a2;\n const pairAnswer = pairQuestion == null ? void 0 : pairQuestion.answers.find((a) => {\n return a.amount > 0 && a.productId === answer.productId;\n });\n const selectedAnswer = pairAnswer != null ? pairAnswer : answer;\n const min2 = getModifierMin(answerConfig);\n const max2 = getModifierMax(answerConfig);\n const type = getModifierType({\n min: min2,\n max: max2,\n groupType: answerConfig.type,\n type: selectedAnswer.renderType\n });\n const nested = selectedAnswer.questions.length;\n const partialNewAnswer = __spreadProps$4(__spreadValues$6({}, selectedAnswer), {\n amount: (_a2 = selectedAnswer == null ? void 0 : selectedAnswer.amount) != null ? _a2 : 0,\n priceCategory,\n questionId,\n min: min2,\n max: max2,\n renderType: type\n });\n return __spreadProps$4(__spreadValues$6({}, partialNewAnswer), {\n questions: nested ? toFormCartProductHelper(partialNewAnswer).questions : []\n });\n })\n });\n });\n return __spreadValues$6(__spreadProps$4(__spreadValues$6({}, fixedProduct), {\n questions: newQuestions\n }), overrides);\n};\nconst toFormCartProductFromProductDetails = (product, overrides = {}) => {\n const cartProduct = toCartProductFromProductDetails(product);\n return toFormCartProductHelper(cartProduct, overrides);\n};\nconst toFormCartProductFromAnswer = (modifier, overrides = {}) => {\n return toFormCartProductHelper(modifier, overrides);\n};\nconst normalizeProductDetails = (product) => {\n const { questions } = product;\n return __spreadProps$4(__spreadValues$6({}, product), {\n questions: questions.map((question) => {\n const { answers } = question;\n return __spreadProps$4(__spreadValues$6({}, question), {\n answers: answers.map((answer) => {\n const { questions: questions2 } = answer;\n return __spreadProps$4(__spreadValues$6({}, answer), {\n questions: questions2 != null ? questions2 : []\n });\n })\n });\n })\n });\n};\n\nvar transformers_utils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n toCartProduct: toCartProduct,\n toFormCartProduct: toFormCartProduct,\n toFormCartProductHelper: toFormCartProductHelper,\n toFormCartProductFromProductDetails: toFormCartProductFromProductDetails,\n toFormCartProductFromAnswer: toFormCartProductFromAnswer,\n normalizeProductDetails: normalizeProductDetails\n});\n\nvar __defProp$5 = Object.defineProperty;\nvar __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$5 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$5 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$5 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$5.call(b, prop))\n __defNormalProp$5(a, prop, b[prop]);\n if (__getOwnPropSymbols$5)\n for (var prop of __getOwnPropSymbols$5(b)) {\n if (__propIsEnum$5.call(b, prop))\n __defNormalProp$5(a, prop, b[prop]);\n }\n return a;\n};\nlet state = null;\nconst initState = (initialState) => {\n Object.freeze(initialState);\n state = __spreadValues$5({}, initialState);\n Object.seal(state);\n};\nconst setState = (overrides) => {\n const tempState = state ? __spreadValues$5({}, state) : {};\n state = null;\n state = __spreadValues$5(__spreadValues$5({}, tempState), overrides);\n Object.seal(state);\n};\nconst getState = () => {\n if (state === null) {\n throw new Error(\"The state has not been initialized, make sure to call initState beforehand\");\n }\n return __spreadValues$5({}, state);\n};\nconst checkInit = () => {\n return !!state;\n};\n\nconst initialState = {\n forms: {}\n};\n\nvar __defProp$4 = Object.defineProperty;\nvar __defProps$3 = Object.defineProperties;\nvar __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$4 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$4 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$4 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$4.call(b, prop))\n __defNormalProp$4(a, prop, b[prop]);\n if (__getOwnPropSymbols$4)\n for (var prop of __getOwnPropSymbols$4(b)) {\n if (__propIsEnum$4.call(b, prop))\n __defNormalProp$4(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));\nconst buildProductFromRenderer = (renderer, product) => {\n const baseCartProduct = toCartProduct(product);\n return __spreadProps$3(__spreadValues$4({}, baseCartProduct), {\n questionsAndAnswers: buildQuestionAndAnswersFromRenderer(renderer),\n updatedAt: \"\"\n });\n};\nconst buildQuestionAndAnswersFromRenderer = (groups) => {\n return groups.map((group) => {\n return __spreadProps$3(__spreadValues$4({}, group.data), {\n answers: buildAnswersFromRenderer(group.modifiers)\n });\n });\n};\nconst buildAnswersFromRenderer = (modifiers) => {\n return modifiers.map((modifier) => {\n if (!modifier.amount) {\n return __spreadProps$3(__spreadValues$4({}, modifier.data), { questionsAndAnswers: [] });\n }\n return __spreadProps$3(__spreadValues$4({}, modifier.data), {\n questionsAndAnswers: buildQuestionAndAnswersFromRenderer(modifier.groups)\n });\n });\n};\n\nvar __defProp$3 = Object.defineProperty;\nvar __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$3 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$3 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$3 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$3.call(b, prop))\n __defNormalProp$3(a, prop, b[prop]);\n if (__getOwnPropSymbols$3)\n for (var prop of __getOwnPropSymbols$3(b)) {\n if (__propIsEnum$3.call(b, prop))\n __defNormalProp$3(a, prop, b[prop]);\n }\n return a;\n};\nconst getRendererPathNode = (groups, path) => {\n let remainingPath = [...path];\n let segments = groups;\n let node = groups[0];\n while (remainingPath.length) {\n node = findNodeInPath(segments, remainingPath[0]);\n remainingPath = remainingPath.slice(1);\n const isGroup = Object.prototype.hasOwnProperty.call(node, \"modifiers\");\n if (isGroup) {\n segments = node.modifiers;\n } else {\n segments = node.groups;\n }\n }\n return node;\n};\nconst setRendererPathNode = (renderer, path, replacement) => {\n let remainingPath = [...path];\n let segments = renderer;\n let node = findNodeInPath(segments, remainingPath[0]);\n let isGroup = Object.prototype.hasOwnProperty.call(node, \"modifiers\");\n while (remainingPath.length > 1) {\n node = findNodeInPath(segments, remainingPath[0]);\n remainingPath = remainingPath.slice(1);\n isGroup = Object.prototype.hasOwnProperty.call(node, \"modifiers\");\n if (isGroup) {\n segments = [...node.modifiers];\n } else {\n segments = [...node.groups];\n }\n }\n const replacerId = remainingPath[0];\n if (path.length === 1) {\n node = { groups: renderer };\n isGroup = false;\n }\n if (isGroup) {\n const newModifiers = node.modifiers.map((item) => {\n if (item.id === replacerId) {\n return __spreadValues$3({}, replacement);\n }\n return __spreadValues$3({}, item);\n });\n node.modifiers = newModifiers;\n } else {\n const newGroups = node.groups.map((item) => {\n if (item.id === replacerId) {\n return __spreadValues$3({}, replacement);\n }\n return __spreadValues$3({}, item);\n });\n node.groups = newGroups;\n }\n if (path.length === 1) {\n return [...node.groups];\n }\n return [...renderer];\n};\nconst findNodeInPath = (segments, segmentId) => {\n const node = segments.find((segment) => {\n return segment.id === segmentId;\n });\n if (!node) {\n throw new Error(`Path segment ${segmentId} doesn't exist in segments ${JSON.stringify(segments.map((segment) => segment.id))}`);\n }\n return node;\n};\n\nconst getProductTotals = (product, amount = product.amount > 0 ? product.amount : 1) => {\n if (amount < 1) {\n throw new Error(\"Cannot set the amount of getProductTotals with a value less than 1\");\n }\n const cartProduct = product;\n const sanitize = !!cartProduct.updatedAt;\n const sanitized = sanitize ? divideProductQA(cartProduct) : product;\n return {\n unitGrossPrice: getProductGrossPrice(sanitized, 1),\n unitTotalDiscounts: getProductTotalDiscounts(),\n unitTotalTaxes: getProductTotalTaxes(sanitized, 1),\n unitNetPrice: getProductNetPrice(sanitized, 1),\n amount,\n grossPrice: getProductGrossPrice(sanitized, amount),\n totalDiscounts: getProductTotalDiscounts(),\n totalTaxes: getProductTotalTaxes(sanitized, amount),\n netPrice: getProductNetPrice(sanitized, amount)\n };\n};\nconst getProductTotalTaxes = (product, setAmount) => {\n const cartProduct = toCartProduct(product, { amount: setAmount });\n const { prices, amount, priceCategory } = cartProduct;\n const { taxes, grossPrice } = prices[priceCategory];\n const taxTotal = getTaxTotal(taxes, grossPrice);\n const questionsSum = getModifiersTotalTaxes(cartProduct, setAmount);\n if (taxTotal === null || questionsSum === null) {\n return null;\n }\n return questionsSum + taxTotal * amount;\n};\nconst getModifiersTotalTaxes = (product, setAmount) => {\n var _a, _b;\n return (_b = (_a = product.questionsAndAnswers) == null ? void 0 : _a.reduce((acc, question) => {\n const answersSum = question.answers.reduce((acc2, answer) => {\n const { prices, amount, priceCategory } = answer;\n const { taxes, grossPrice } = prices[priceCategory];\n const taxTotal = getTaxTotal(taxes, grossPrice);\n const childrenTotal = getModifiersTotalTaxes(answer, setAmount);\n return acc2 + amount * (Number(taxTotal) + childrenTotal);\n }, 0);\n return acc + answersSum * setAmount;\n }, 0)) != null ? _b : 0;\n};\nconst getProductGrossPrice = (product, setAmount) => {\n return getProductFieldPrice(product, \"grossPrice\", setAmount);\n};\nconst getProductTotalDiscounts = (product, setAmount) => {\n return null;\n};\nconst getProductNetPrice = (product, setAmount) => {\n return getProductFieldPrice(product, \"netPrice\", setAmount);\n};\nconst getProductFieldPrice = (product, field, setAmount) => {\n const cartProduct = toCartProduct(product, { amount: setAmount });\n const { prices, amount, priceCategory } = cartProduct;\n const priceField = prices[priceCategory][field];\n const questionsSum = getModifiersFieldTotal(cartProduct, field);\n return (questionsSum + priceField) * amount;\n};\nconst getModifiersFieldTotal = (product, field) => {\n var _a, _b;\n return (_b = (_a = product.questionsAndAnswers) == null ? void 0 : _a.reduce((acc, question) => {\n const answersSum = question.answers.reduce((acc2, answer) => {\n const { prices, amount, priceCategory } = answer;\n const priceField = prices[priceCategory][field];\n const childrenTotal = getModifiersFieldTotal(answer, field);\n return acc2 + amount * (priceField + childrenTotal);\n }, 0);\n return acc + answersSum;\n }, 0)) != null ? _b : 0;\n};\nconst getTaxTotal = (taxes, grossPrice) => {\n if (!taxes.length) {\n return null;\n }\n return taxes.reduce((acc, tax) => {\n return acc + tax.percentage / 100 * grossPrice;\n }, 0);\n};\n\nvar __defProp$2 = Object.defineProperty;\nvar __defProps$2 = Object.defineProperties;\nvar __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$2 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$2 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$2 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$2.call(b, prop))\n __defNormalProp$2(a, prop, b[prop]);\n if (__getOwnPropSymbols$2)\n for (var prop of __getOwnPropSymbols$2(b)) {\n if (__propIsEnum$2.call(b, prop))\n __defNormalProp$2(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));\nconst buildRenderer = (product, config, previous) => {\n const { rootId, path } = config;\n const groupsRenderer = product.questions.map((modifierGroup) => {\n const previousGroup = previous == null ? void 0 : previous.find((group) => {\n return group.id === modifierGroup.questionId;\n });\n return buildModifierGroupRenderer(modifierGroup, {\n amount: product.amount,\n rootId,\n path: [...path]\n }, previousGroup);\n });\n return groupsRenderer;\n};\nconst buildModifierGroupRenderer = (modifierGroup, parentConfig, previous) => {\n const { questionId, name, description, max, min, images } = modifierGroup;\n const { amount, rootId, path } = parentConfig;\n const { errors, touched } = previous != null ? previous : {};\n const partialGroup = {\n id: questionId,\n name,\n description: description != null ? description : \"\",\n images: [...images != null ? images : []],\n data: __spreadValues$2({}, modifierGroup),\n errors: errors != null ? errors : [],\n touched: touched != null ? touched : false,\n status: \"IDLE\",\n hidden: amount < 1,\n required: min > 0,\n type: getGroupType(modifierGroup)\n };\n const config = {\n rootId,\n max,\n min,\n type: partialGroup.type,\n modifiersCount: modifierGroup.answers.length,\n amount,\n path: [...path, questionId]\n };\n const modifiersRenderer = modifierGroup.answers.map((modifier) => {\n const previousModifier = previous == null ? void 0 : previous.modifiers.find((modifierRenderer) => {\n return modifierRenderer.id === modifier.productId;\n });\n return buildModifierRenderer(modifier, config, previousModifier);\n });\n const groupWithoutStatus = __spreadProps$2(__spreadValues$2({}, partialGroup), {\n modifiers: modifiersRenderer\n });\n return __spreadProps$2(__spreadValues$2({}, groupWithoutStatus), {\n status: getGroupRendererStatus(groupWithoutStatus)\n });\n};\nconst buildModifierRenderer = (modifier, config, previous) => {\n var _a, _b;\n const { productId, questionId, name, images, amount } = modifier;\n const { renderType, min, max } = modifier;\n const subproduct = toFormCartProductFromAnswer(modifier);\n const { rootId, path } = config;\n const updatedPath = [...path, productId];\n const groups = buildRenderer(subproduct, {\n rootId,\n path: updatedPath\n }, previous == null ? void 0 : previous.groups);\n const modifierWithoutStatus = {\n id: productId,\n groupId: questionId,\n name,\n images: [...images],\n amount,\n data: __spreadValues$2({}, modifier),\n groups,\n errors: (_a = previous == null ? void 0 : previous.errors) != null ? _a : [],\n hidden: config.amount < 1,\n min,\n max,\n required: min > 0,\n touched: (_b = previous == null ? void 0 : previous.touched) != null ? _b : false,\n status: \"IDLE\",\n totals: getProductTotals(__spreadProps$2(__spreadValues$2({}, modifier), { amount })),\n type: renderType,\n handleChange: (amount2) => {\n handleModifierChange(config.rootId, updatedPath, amount2);\n }\n };\n return __spreadProps$2(__spreadValues$2({}, modifierWithoutStatus), {\n status: getModifierRendererStatus(modifierWithoutStatus)\n });\n};\nconst handleModifierChange = (productId, path, amount) => {\n const forms = __spreadValues$2({}, getState().forms);\n const form = forms[productId];\n const node = getRendererPathNode(form.renderer, path);\n let newRenderer = updateModifier(form.renderer, path, node, amount, false);\n newRenderer = updateParentGroup(productId, newRenderer, path, false);\n const updatedProduct = buildProductFromRenderer(newRenderer, form.product);\n const updatedForm = __spreadProps$2(__spreadValues$2({}, form), {\n renderer: newRenderer,\n product: updatedProduct,\n status: mapGlobalRendererStatus(newRenderer)\n });\n const newForms = __spreadProps$2(__spreadValues$2({}, forms), { [productId]: updatedForm });\n setState({ forms: newForms });\n const returnForm = __spreadValues$2({}, updatedForm);\n delete returnForm.callback;\n form.callback(returnForm);\n};\nconst updateModifier = (renderer, path, node, amount, strict) => {\n const newModifierRenderer = __spreadProps$2(__spreadValues$2({}, node), {\n amount,\n touched: true,\n errors: getModifierErrors(node, amount, strict),\n totals: getProductTotals(__spreadProps$2(__spreadValues$2({}, node.data), { amount })),\n data: __spreadProps$2(__spreadValues$2({}, node.data), {\n amount\n })\n });\n newModifierRenderer.status = getModifierRendererStatus(newModifierRenderer);\n return setRendererPathNode(renderer, path, newModifierRenderer);\n};\nconst updateParentGroup = (rootId, renderer, path, strict) => {\n const parentPath = path.slice(0, -1);\n const parentGroup = getRendererPathNode(renderer, parentPath);\n let newModifierRenderers = [...parentGroup.modifiers];\n if (parentGroup.type === \"RADIO\" && !strict) {\n newModifierRenderers = parentGroup.modifiers.map((modifier) => {\n if (modifier.type !== \"RADIO\") {\n return __spreadValues$2({}, modifier);\n }\n if (modifier.id === path[path.length - 1]) {\n return __spreadValues$2({}, modifier);\n }\n return __spreadProps$2(__spreadValues$2({}, modifier), {\n amount: 0,\n error: \"\",\n totals: getProductTotals(__spreadProps$2(__spreadValues$2({}, modifier.data), { amount: 0 })),\n data: __spreadProps$2(__spreadValues$2({}, modifier.data), {\n amount: 0\n })\n });\n });\n }\n newModifierRenderers = newModifierRenderers.map((modifier) => {\n const subproduct = toFormCartProductFromAnswer(modifier.data);\n const newPath = [...path.slice(0, -1), modifier.id];\n const updatedModifier = __spreadProps$2(__spreadValues$2({}, modifier), {\n groups: buildRenderer(subproduct, {\n rootId,\n path: newPath\n }, modifier.groups)\n });\n updatedModifier.errors = getModifierErrors(updatedModifier, updatedModifier.amount, strict);\n updatedModifier.status = getModifierRendererStatus(updatedModifier);\n return updatedModifier;\n });\n const updatedGroupAnswers = newModifierRenderers.map((modifier) => {\n return __spreadValues$2({}, modifier.data);\n });\n const newGroupData = __spreadProps$2(__spreadValues$2({}, parentGroup.data), { answers: updatedGroupAnswers });\n const newGroupRenderer = __spreadProps$2(__spreadValues$2({}, parentGroup), {\n touched: true,\n modifiers: newModifierRenderers,\n data: newGroupData\n });\n newGroupRenderer.errors = getGroupModifierErrors(newGroupRenderer, strict);\n newGroupRenderer.status = getGroupRendererStatus(newGroupRenderer);\n let newRenderer = setRendererPathNode(renderer, parentPath, newGroupRenderer);\n if (parentPath.length > 1) {\n newRenderer = updateParentModifier(rootId, newRenderer, parentPath, strict);\n }\n return newRenderer;\n};\nconst updateParentModifier = (rootId, renderer, path, strict) => {\n const parentPath = path.slice(0, -1);\n const parentModifier = getRendererPathNode(renderer, parentPath);\n const updatedModifierQuestions = parentModifier.groups.map((group) => {\n return __spreadValues$2({}, group.data);\n });\n const newModifierData = __spreadProps$2(__spreadValues$2({}, parentModifier.data), {\n questions: updatedModifierQuestions\n });\n const newModifierGroups = parentModifier.groups.map((group) => {\n const newGroup = __spreadValues$2({}, group);\n newGroup.errors = getGroupModifierErrors(newGroup, strict);\n newGroup.status = getGroupRendererStatus(newGroup);\n return newGroup;\n });\n const newModifierRenderer = __spreadProps$2(__spreadValues$2({}, parentModifier), {\n touched: true,\n groups: newModifierGroups,\n data: newModifierData\n });\n newModifierRenderer.errors = getModifierErrors(newModifierRenderer, newModifierRenderer.amount, strict);\n newModifierRenderer.status = getModifierRendererStatus(newModifierRenderer);\n let newRenderer = setRendererPathNode(renderer, parentPath, newModifierRenderer);\n if (parentPath.length > 1) {\n newRenderer = updateParentGroup(rootId, newRenderer, parentPath, strict);\n }\n return newRenderer;\n};\n\nvar __defProp$1 = Object.defineProperty;\nvar __defProps$1 = Object.defineProperties;\nvar __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$1 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$1 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n if (__getOwnPropSymbols$1)\n for (var prop of __getOwnPropSymbols$1(b)) {\n if (__propIsEnum$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));\nconst validateProduct = (productId) => {\n const forms = __spreadValues$1({}, getState().forms);\n const form = forms[productId];\n const { renderer, callback, product } = form;\n let latestRenderer = [...renderer];\n renderer.forEach((group) => {\n const path = [group.id];\n latestRenderer = validateChildModifiers(group, latestRenderer, productId, path);\n });\n const updatedProduct = buildProductFromRenderer(latestRenderer, product);\n const updatedForm = __spreadProps$1(__spreadValues$1({}, form), {\n renderer: latestRenderer,\n product: updatedProduct,\n status: mapGlobalRendererStatus(latestRenderer)\n });\n const newForms = __spreadProps$1(__spreadValues$1({}, forms), { [productId]: updatedForm });\n setState({ forms: newForms });\n const returnForm = __spreadValues$1({}, updatedForm);\n delete returnForm.callback;\n callback(returnForm);\n return updatedForm.status;\n};\nconst validateChildModifiers = (group, renderer, productId, path) => {\n const { modifiers, id } = group;\n const isLeaft = !modifiers.length;\n let latestRenderer = [...renderer];\n if (!isLeaft) {\n modifiers.forEach((modifier) => {\n const newPath = [...path, modifier.id];\n latestRenderer = validateChildGroups(modifier, latestRenderer, productId, newPath);\n });\n return latestRenderer;\n } else {\n console.warn(`Attempting to validate a Modifier group without modifiers, this will likely result in unexpected behaviour. \n Please update the bad group ${id} of product ${0}.`);\n return latestRenderer;\n }\n};\nconst validateChildGroups = (modifier, renderer, productId, path) => {\n const { groups, amount, status, required } = modifier;\n const isLeaft = !groups.length || amount === 0;\n let latestRenderer = [...renderer];\n if (isLeaft) {\n const badIdle = status === \"IDLE\" && required;\n const badStatus = badIdle || status === \"FAIL\" || status === \"INCOMPLETE\";\n const newStatus = badStatus ? \"FAIL\" : status;\n const replacement = __spreadProps$1(__spreadValues$1({}, modifier), { status: newStatus });\n const newPath = [...path];\n latestRenderer = updateModifier(latestRenderer, newPath, replacement, replacement.amount, true);\n latestRenderer = updateParentGroup(productId, latestRenderer, newPath, true);\n } else {\n groups.forEach((group) => {\n const newPath = [...path, group.id];\n latestRenderer = validateChildModifiers(group, latestRenderer, productId, newPath);\n });\n }\n return latestRenderer;\n};\n\nconst createForm = (product) => {\n var _a;\n const formCartProduct = toFormCartProduct(product, {\n amount: (_a = product.amount) != null ? _a : 1\n });\n const renderer = buildRenderer(formCartProduct, {\n rootId: formCartProduct.productId,\n path: []\n });\n const updatedProduct = buildProductFromRenderer(renderer, product);\n return {\n product: updatedProduct,\n renderer,\n validate: () => validateProduct(product.productId),\n status: mapGlobalRendererStatus(renderer)\n };\n};\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst registerModifiersForm = (product, callback) => {\n const { productId } = product;\n if (!checkInit())\n initState(initialState);\n const { forms } = getState();\n const formExists = !!forms[productId];\n if (formExists) {\n logError(`Form for product with id ${productId} has already been register. Please unsubscribe if you need to register a new form.`);\n return () => {\n };\n }\n const form = createForm(product);\n const newForms = __spreadProps(__spreadValues({}, forms), { [productId]: __spreadProps(__spreadValues({}, form), { callback }) });\n setState({ forms: newForms });\n callback(__spreadValues({}, form));\n return () => unsubscriber(productId);\n};\nconst unsubscriber = (productId) => {\n const { forms } = getState();\n const newForms = __spreadValues({}, forms);\n delete newForms[productId];\n setState({ forms: newForms });\n};\n\nexport { assertions_utils as assertions, getProductTotals, questionsAndAnswers_utils as modifierUtils, registerModifiersForm, transformers_utils as transformers, validateProduct };\n//# sourceMappingURL=bundle.esm.js.map\n","// validation utility functions\nimport { getState } from \"./state.utils\";\nimport { noActiveVendor, vendorNotIncluded } from \"./logs.utils\";\nimport AnalyticsProvider from \"../lib/providers/AnalyticsProvider/AnalyticsProvider\";\n\n/**\n * Checks if the event should be emmit because the active vendor is not included.\n *\n * @since 0.1.0\n * @param {string} eventName The name of the event that will be emmited\n * @param {AnalyticsProvider} provider Provider that will emit the event\n * @returns {boolean} Whether the vendor will be skipped\n */\nexport const skipVendor = (eventName: string, provider: AnalyticsProvider) => {\n const { vendors } = provider;\n const { activeVendor } = getState();\n if (activeVendor === -1) {\n return false;\n }\n if (typeof vendors === \"undefined\") {\n return false;\n }\n if (activeVendor && vendors.includes(activeVendor)) {\n return false;\n }\n if (typeof activeVendor === \"undefined\") {\n // Log active vendor not defined while trying to emmit an event\n noActiveVendor();\n } else {\n // Log vendor will be skipped\n vendorNotIncluded(eventName, provider);\n }\n return true;\n};\n","// events utility functions\nimport { CartProduct, CurrencyCodes, Product } from \"@artisan-commerce/types\";\nimport { ShoppingCart } from \"@artisan-commerce/types\";\nimport { getShoppingCartProducts } from \"@artisan-commerce/shopping-cart\";\nimport { getProductTotals } from \"@artisan-commerce/products\";\n\nimport { ProvidersHandlers } from \"../types/event.types\";\nimport { eventSent, logMessage } from \"./logs.utils\";\nimport { getState } from \"./state.utils\";\nimport { skipVendor } from \"./validations.utils\";\nimport { Gtag } from \"../lib/providers/GoogleAnalytics/GoogleAnalytics.types\";\nimport { Segment } from \"../lib/providers/Segment/Segment.types\";\nimport AnalyticsProvider from \"../lib/providers/AnalyticsProvider/AnalyticsProvider\";\n\n/**\n * Triage event to each provider handler.\n *\n * @since 0.1.0\n * @param {string} eventName The Artisn event name\n * @param {T} params The event parameters\n * @param {ProvidersHandlers<T>} providersHandlers The providers handlers\n */\nexport const triageEventToProviders = <T>(\n eventName: string,\n params: T,\n providersHandlers: ProvidersHandlers<T>\n) => {\n const { facebookPixelHandler, googleAnalyticsHandler } = providersHandlers;\n const { segmentHandler } = providersHandlers;\n const { providers } = getState();\n if (!providers.length) {\n return logMessage(\n \"There are no set providers, make sure you have called the initAnalytics function before emiting any event\",\n \"severe\"\n );\n }\n const enhancedParams = { ...params, artisnEvent: eventName };\n const targetedProviders = providers.reduce<AnalyticsProvider[]>(\n (acc, provider) => {\n if (skipVendor(eventName, provider)) {\n return acc;\n }\n switch (provider.type) {\n case \"FACEBOOK_PIXEL\":\n facebookPixelHandler(provider, enhancedParams);\n break;\n case \"GOOGLE_ANALYTICS\":\n googleAnalyticsHandler(provider, enhancedParams);\n break;\n case \"SEGMENT\":\n // @ts-ignore\n segmentHandler(provider, enhancedParams);\n break;\n default:\n throw new Error(`Provider of type ${provider.type} is not supported`);\n }\n return [...acc, provider];\n },\n []\n );\n\n eventSent(eventName, targetedProviders);\n};\n\n/**\n * Gets an array of the product ids in the shopping cart.\n *\n * @since 0.1.0\n * @param {ShoppingCart} shoppingCart The shopping cart with the wanted product ids\n * @returns An array of the product ids in the shopping cart\n */\nexport const getProductIdsFromShoppingCart = (shoppingCart: ShoppingCart) => {\n const products = getShoppingCartProducts(shoppingCart);\n return products.map(product => product.productId);\n};\n\n/**\n * Gets the name and price of all shopping cart products.\n *\n * @since 0.1.0\n * @param {ShoppingCart} shoppingCart The shopping cart with the wanted product's data\n * @returns The name and price of all shopping cart products\n */\nexport const getProductContentFromShoppingCart = (\n shoppingCart: ShoppingCart\n) => {\n const products = getShoppingCartProducts(shoppingCart);\n return products.map(product => getProductContent(product));\n};\n\n/**\n * Gets the name and price of a product.\n *\n * @since 0.1.0\n * @param {Product} product The wanted product's data\n * @returns The name and price of a product\n */\nexport const getProductContent = (product: Product) => {\n const totals = getProductTotals(product);\n return `${product.name}:${totals.netPrice}`;\n};\n\n/**\n * Maps the shopping cart products into google items.\n *\n * @since 0.1.0\n * @param {ShoppingCart} shoppingCart The shopping cart with the wanted product's data\n * @param {CurrencyCodes} currency Currency of the purchase or items associated with the event (e.g. USD)\n * @returns {Gtag.Item[]} An array of objects with google items data\n */\nexport const mapProductsToGoogleItems = (\n shoppingCart: ShoppingCart,\n currency?: CurrencyCodes\n): Gtag.Item[] => {\n const products = getShoppingCartProducts(shoppingCart);\n return products.map(product => mapProductToGoogleItem(product, currency));\n};\n\n/**\n * Maps a cart product into a google item.\n *\n * @since 0.1.0\n * @param {Product} product The wanted product's data\n * @param {CurrencyCodes} currency Currency of the purchase or items associated with the event (e.g. USD)\n * @returns {Gtag.Item} An object with Item data\n */\nexport const mapProductToGoogleItem = (\n product: CartProduct,\n currency?: CurrencyCodes\n): Gtag.Item => {\n const totals = getProductTotals(product);\n const { productId, name, amount } = product;\n return {\n item_id: productId,\n item_name: name,\n quantity: amount,\n price: totals.netPrice,\n currency\n };\n};\n\n/**\n * Transform array parameter to support mobile format parameters.\n *\n * @param {unknown} param Parameter to be transformed\n * @since 0.1.0\n * @returns {string} The accepted parameter type\n */\nexport const transformArrayParam = (param: unknown[]) => {\n return param.join(\",\");\n};\n\n/**\n * Maps a product into a segment product.\n *\n * @since 0.1.0\n * @param {Product} product The wanted product's data\n * @returns {Segment.Product} An object with Item data\n */\nexport const mapProductToSegmentProduct = (\n product: Product\n): Segment.Product => {\n const { productId, name } = product;\n const totals = getProductTotals(product);\n return {\n product_id: productId,\n name,\n price: totals.netPrice\n };\n};\n\n/**\n * Maps the order products into segment products.\n *\n * @since 0.1.0\n * @param {Product[]} products The order product's data\n * @returns {Segment.Product[]} An array of objects with google items data\n */\nexport const mapProductsToSegmentProducts = (\n products: Product[]\n): Segment.Product[] => {\n return products.map(product => mapProductToSegmentProduct(product));\n};\n","import facebookChangePasswordAttempt from \"../../../providers/FacebookPixel/events/auth/changePasswordAttempt/changePasswordAttempt\";\nimport googleChangePasswordAttempt from \"../../../providers/GoogleAnalytics/events/auth/changePasswordAttempt/changePasswordAttempt\";\nimport segmentChangePasswordAttempt from \"../../../providers/Segment/events/auth/changePasswordAttempt/changePasswordAttempt\";\nimport { ChangePasswordAttemptParams } from \"./changePasswordAttempt.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a changePasswordAttempt event to every configured provider.\n *\n * Log this event when users show an intention to change their password.\n *\n * @since 0.1.0\n * @param {ChangePasswordAttemptParams} params ChangePasswordAttempt event parameters\n */\n\nconst logChangePasswordAttempt = (params: ChangePasswordAttemptParams) => {\n triageEventToProviders(\"changePasswordAttempt\", params, {\n googleAnalyticsHandler: googleChangePasswordAttempt,\n facebookPixelHandler: facebookChangePasswordAttempt,\n segmentHandler: segmentChangePasswordAttempt\n });\n};\n\nexport default logChangePasswordAttempt;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SignUpAttemptParams } from \"./signUpAttempt.types\";\n\n/**\n * Emits a SignUpAttempt event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SignUpAttemptParams} params Event configuration parameters\n */\nconst SignUpAttempt = (\n provider: GoogleAnalyticsProvider,\n params: SignUpAttemptParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"sign_up_attempt\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default SignUpAttempt;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SignUpAttemptParams } from \"./signUpAttempt.types\";\n\n/**\n * Emits a signUpAttempt event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {signUpAttemptParams} params Event configuration parameters\n */\nconst signUpAttempt = (\n provider: SegmentProvider,\n params: SignUpAttemptParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Sign Up Attempt\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default signUpAttempt;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SignUpAttemptParams } from \"./signUpAttempt.types\";\n\n/**\n * Emits a signUpAttempt event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {signUpAttemptParams} params Event configuration parameters\n */\nconst signUpAttempt = (\n provider: FacebookPixelProvider,\n params: SignUpAttemptParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SignUpAttempt\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default signUpAttempt;\n","import googleSignUpAttempt from \"../../../providers/GoogleAnalytics/events/auth/signUpAttempt/signUpAttempt\";\nimport segmentSignUpAttempt from \"../../../providers/Segment/events/auth/signUpAttempt/signUpAttempt\";\nimport facebookSignUpAttempt from \"../../../providers/FacebookPixel/events/auth/signUpAttempt/signUpAttempt\";\nimport { SignUpAttemptParams } from \"./signUpAttempt.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a signUpAttempt event to every configured provider.\n *\n * Log this event when submitting the sign up action. It should not be triggered\n * after the sign up action has resolved.\n *\n * @since 0.1.0\n * @param {SignUpAttemptParams} params SignUpAttempt event parameters\n */\nconst logSignUpAttempt = (params: SignUpAttemptParams) => {\n triageEventToProviders(\"signUpAttempt\", params, {\n googleAnalyticsHandler: googleSignUpAttempt,\n facebookPixelHandler: facebookSignUpAttempt,\n segmentHandler: segmentSignUpAttempt\n });\n};\n\nexport default logSignUpAttempt;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ChangePasswordFailParams } from \"./changePasswordFail.types\";\n\n/**\n * Emits a changePasswordFail event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ChangePasswordFailParams} params Event configuration parameters\n */\nconst changePasswordFail = (\n provider: FacebookPixelProvider,\n params: ChangePasswordFailParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ChangePasswordFail\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default changePasswordFail;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ChangePasswordFailParams } from \"./changePasswordFail.types\";\n\n/**\n * Emits a ChangePasswordFail event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ChangePasswordFailParams} params Event configuration parameters\n */\nconst ChangePasswordFail = (\n provider: GoogleAnalyticsProvider,\n params: ChangePasswordFailParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"change_password_fail\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default ChangePasswordFail;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ChangePasswordFailParams } from \"./changePasswordFail.types\";\n\n/**\n * Emits a changePasswordFail event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ChangePasswordFailParams} params Event configuration parameters\n */\nconst changePasswordFail = (\n provider: SegmentProvider,\n params: ChangePasswordFailParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Change Password Fail\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default changePasswordFail;\n","import facebookChangePasswordFail from \"../../../providers/FacebookPixel/events/auth/changePasswordFail/changePasswordFail\";\nimport googleChangePasswordFail from \"../../../providers/GoogleAnalytics/events/auth/changePasswordFail/changePasswordFail\";\nimport segmentChangePasswordFail from \"../../../providers/Segment/events/auth/changePasswordFail/changePasswordFail\";\nimport { ChangePasswordFailParams } from \"./changePasswordFail.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a changePasswordFail event to every configured provider.\n *\n * Log this event when your change password request has failed.\n *\n * @since 0.1.0\n * @param {ChangePasswordFailParams} params ChangePasswordFail event parameters\n */\nconst logChangePasswordFail = (params: ChangePasswordFailParams) => {\n triageEventToProviders(\"changePasswordFail\", params, {\n googleAnalyticsHandler: googleChangePasswordFail,\n facebookPixelHandler: facebookChangePasswordFail,\n segmentHandler: segmentChangePasswordFail\n });\n};\n\nexport default logChangePasswordFail;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ChangePasswordSuccessParams } from \"./changePasswordSuccess.types\";\n\n/**\n * Emits a ChangePasswordSuccess event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ChangePasswordSuccessParams} params Event configuration parameters\n */\nconst ChangePasswordSuccess = (\n provider: GoogleAnalyticsProvider,\n params: ChangePasswordSuccessParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"change_password_success\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default ChangePasswordSuccess;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ChangePasswordSuccessParams } from \"./changePasswordSuccess.types\";\n\n/**\n * Emits a changePasswordSuccess event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ChangePasswordSuccessParams} params Event configuration parameters\n */\nconst changePasswordSuccess = (\n provider: SegmentProvider,\n params: ChangePasswordSuccessParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Change Password Success\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default changePasswordSuccess;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ChangePasswordSuccessParams } from \"./changePasswordSuccess.types\";\n\n/**\n * Emits a changePasswordSuccess event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ChangePasswordSuccessParams} params Event configuration parameters\n */\nconst changePasswordSuccess = (\n provider: FacebookPixelProvider,\n params: ChangePasswordSuccessParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ChangePasswordSuccess\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default changePasswordSuccess;\n","import googleChangePasswordSuccess from \"../../../providers/GoogleAnalytics/events/auth/changePasswordSuccess/changePasswordSuccess\";\nimport segmentChangePasswordSuccess from \"../../../providers/Segment/events/auth/changePasswordSuccess/changePasswordSuccess\";\nimport facebookChangePasswordSuccess from \"../../../providers/FacebookPixel/events/auth/changePasswordSuccess/changePasswordSuccess\";\nimport { ChangePasswordSuccessParams } from \"./changePasswordSuccess.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a changePasswordSuccess event to every configured provider.\n *\n * Log this event when your change password request has resolved successfully.\n *\n * @since 0.1.0\n * @param {ChangePasswordSuccessParams} params ChangePasswordSuccess event parameters\n */\nconst logChangePasswordSuccess = (params: ChangePasswordSuccessParams) => {\n triageEventToProviders(\"changePasswordSuccess\", params, {\n googleAnalyticsHandler: googleChangePasswordSuccess,\n facebookPixelHandler: facebookChangePasswordSuccess,\n segmentHandler: segmentChangePasswordSuccess\n });\n};\n\nexport default logChangePasswordSuccess;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SignInParams } from \"./signIn.types\";\n\n/**\n * Emits a SignIn event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SignInParams} params Event configuration parameters\n */\nconst SignIn = (provider: GoogleAnalyticsProvider, params: SignInParams) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n delete rest.identify;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"login\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default SignIn;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SignInParams } from \"./signIn.types\";\n\n/**\n * Emits a signIn event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {signInParams} params Event configuration parameters\n */\nconst signIn = (provider: SegmentProvider, params: SignInParams) => {\n const { name, identify, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest, username: name };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Signed In\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n if (!identify) return;\n const { name: nameTrait = name, ...traits } = identify;\n analytics.identify(identify.id, {\n name: nameTrait,\n ...traits\n });\n};\n\nexport default signIn;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SignInParams } from \"./signIn.types\";\n\n/**\n * Emits a signIn event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {signInParams} params Event configuration parameters\n */\nconst signIn = (provider: FacebookPixelProvider, params: SignInParams) => {\n const { ...rest } = params;\n delete rest.userId;\n delete rest.identify;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SignIn\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default signIn;\n","import googleSignIn from \"../../../providers/GoogleAnalytics/events/auth/signIn/signIn\";\nimport segmentSignIn from \"../../../providers/Segment/events/auth/signIn/signIn\";\nimport facebookSignIn from \"../../../providers/FacebookPixel/events/auth/signIn/signIn\";\nimport { SignInParams } from \"./signIn.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a signIn event to every configured provider.\n *\n * Log this event when your sign in request has resolved successfully.\n *\n * @since 0.1.0\n * @param {SignInParams} params SingIn event parameters\n */\nconst logSignIn = (params: SignInParams) => {\n triageEventToProviders(\"signIn\", params, {\n googleAnalyticsHandler: googleSignIn,\n facebookPixelHandler: facebookSignIn,\n segmentHandler: segmentSignIn\n });\n};\n\nexport default logSignIn;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SignOutParams } from \"./signOut.types\";\n\n/**\n * Emits a SignOut event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SignOutParams} params Event configuration parameters\n */\nconst SignOut = (provider: GoogleAnalyticsProvider, params: SignOutParams) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"sign_out\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default SignOut;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SignOutParams } from \"./signOut.types\";\n\n/**\n * Emits a signOut event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {signOutParams} params Event configuration parameters\n */\nconst signOut = (provider: SegmentProvider, params: SignOutParams) => {\n const { name, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest, username: name };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Signed Out\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n analytics.reset();\n};\n\nexport default signOut;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SignOutParams } from \"./signOut.types\";\n\n/**\n * Emits a signOut event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {signOutParams} params Event configuration parameters\n */\nconst signOut = (provider: FacebookPixelProvider, params: SignOutParams) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SignOut\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default signOut;\n","import googleSignOut from \"../../../providers/GoogleAnalytics/events/auth/signOut/signOut\";\nimport segmentSignOut from \"../../../providers/Segment/events/auth/signOut/signOut\";\nimport facebookSignOut from \"../../../providers/FacebookPixel/events/auth/signOut/signOut\";\nimport { SignOutParams } from \"./signOut.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a signOut event to every configured provider.\n *\n * Log this event when your sign out request has resolved successfully.\n *\n * @since 0.1.0\n * @param {SignOutParams} params SignOut event parameters\n */\nconst logSignOut = (params: SignOutParams) => {\n triageEventToProviders(\"signOut\", params, {\n googleAnalyticsHandler: googleSignOut,\n facebookPixelHandler: facebookSignOut,\n segmentHandler: segmentSignOut\n });\n};\n\nexport default logSignOut;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SignUpParams } from \"./signUp.types\";\n\n/**\n * Emits a SignUp event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SignUpParams} params Event configuration parameters\n */\nconst SignUp = (provider: GoogleAnalyticsProvider, params: SignUpParams) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n delete rest.identify;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"sign_up\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default SignUp;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SignUpParams } from \"./signUp.types\";\n\n/**\n * Emits a signUp event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {signUpParams} params Event configuration parameters\n */\nconst signUp = (provider: SegmentProvider, params: SignUpParams) => {\n const { name, method, identify, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest, username: name, type: method };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Signed Up\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n if (!identify) return;\n const { name: nameTrait = name, email = rest.email, ...traits } = identify;\n analytics.identify(identify.id, {\n name: nameTrait,\n email,\n ...traits\n });\n};\n\nexport default signUp;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SignUpParams } from \"./signUp.types\";\n\n/**\n * Emits a signUp event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {signUpParams} params Event configuration parameters\n */\nconst signUp = (provider: FacebookPixelProvider, params: SignUpParams) => {\n const { method, ...rest } = params;\n delete rest.userId;\n delete rest.identify;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"fb_mobile_complete_registration\", {\n fb_registration_method: method,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default signUp;\n","import googleSignUp from \"../../../providers/GoogleAnalytics/events/auth/signUp/signUp\";\nimport segmentSignUp from \"../../../providers/Segment/events/auth/signUp/signUp\";\nimport facebookSignUp from \"../../../providers/FacebookPixel/events/auth/signUp/signUp\";\nimport { SignUpParams } from \"./signUp.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a signUp event to every configured provider.\n *\n * Log this event when your sign up request has resolved successfully.\n *\n * @since 0.1.0\n * @param {SignUpParams} params SignUp event parameters\n */\nconst logSignUp = (params: SignUpParams) => {\n triageEventToProviders(\"signUp\", params, {\n googleAnalyticsHandler: googleSignUp,\n facebookPixelHandler: facebookSignUp,\n segmentHandler: segmentSignUp\n });\n};\n\nexport default logSignUp;\n","// events index\nimport logChangePasswordAttempt from \"./changePasswordAttempt/changePasswordAttempt\";\nimport logSignUpAttempt from \"./signUpAttempt/signUpAttempt\";\nimport logChangePasswordFail from \"./changePasswordFail/changePasswordFail\";\nimport logChangePasswordSuccess from \"./changePasswordSuccess/changePasswordSuccess\";\nimport logSignIn from \"./signIn/signIn\";\nimport logSignOut from \"./signOut/signOut\";\nimport logSignUp from \"./signUp/signUp\";\n\nconst events = {\n logChangePasswordAttempt,\n logSignUpAttempt,\n logChangePasswordFail,\n logChangePasswordSuccess,\n logSignIn,\n logSignOut,\n logSignUp\n};\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { BannerImpressionParams } from \"./bannerImpression.types\";\n\n/**\n * Emits a bannerImpression event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {BannerImpressionParams} params Event configuration parameters\n */\nconst bannerImpression = (\n provider: GoogleAnalyticsProvider,\n params: BannerImpressionParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"banner_impression\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default bannerImpression;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { BannerImpressionParams } from \"./bannerImpression.types\";\n\n/**\n * Emits a bannerImpression event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {BannerImpressionParams} params event configuration parameters\n */\nconst bannerImpression = (\n provider: SegmentProvider,\n params: BannerImpressionParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Banner Impression\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default bannerImpression;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { BannerImpressionParams } from \"./bannerImpression.types\";\n\n/**\n * Emits a bannerImpression event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {BannerImpressionParams} params event configuration parameters\n */\nconst bannerImpression = (\n provider: FacebookPixelProvider,\n params: BannerImpressionParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"BannerImpression\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default bannerImpression;\n","import googleBannerImpression from \"../../../providers/GoogleAnalytics/events/banner/bannerImpression/bannerImpression\";\nimport segmentBannerImpression from \"../../../providers/Segment/events/banner/bannerImpression/bannerImpression\";\nimport facebookBannerImpression from \"../../../providers/FacebookPixel/events/banner/bannerImpression/bannerImpression\";\nimport { BannerImpressionParams } from \"./bannerImpression.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a bannerImpression event to every configured provider.\n *\n * Log this event when a banner is visible on the screen.\n *\n * @since 0.1.0\n * @property {BannerImpressionParams} params BannerImpression event parameters\n */\nconst logBannerImpression = (params: BannerImpressionParams) => {\n triageEventToProviders(\"bannerImpression\", params, {\n googleAnalyticsHandler: googleBannerImpression,\n facebookPixelHandler: facebookBannerImpression,\n segmentHandler: segmentBannerImpression\n });\n};\n\nexport default logBannerImpression;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SelectBannerParams } from \"./selectBanner.types\";\n\n/**\n * Emits a selectBanner event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SelectBannerParams} params Event configuration parameters\n */\nconst selectBanner = (\n provider: GoogleAnalyticsProvider,\n params: SelectBannerParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"select_content\", {\n content_type: \"banner\",\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectBanner;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SelectBannerParams } from \"./selectBanner.types\";\n\n/**\n * Emits a selectBanner event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SelectBannerParams} params event configuration parameters\n */\nconst selectBanner = (\n provider: SegmentProvider,\n params: SelectBannerParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Select Banner\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default selectBanner;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SelectBannerParams } from \"./selectBanner.types\";\n\n/**\n * Emits a selectBanner event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SelectBannerParams} params event configuration parameters\n */\nconst selectBanner = (\n provider: FacebookPixelProvider,\n params: SelectBannerParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SelectBanner\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectBanner;\n","import googleSelectBanner from \"../../../providers/GoogleAnalytics/events/banner/selectBanner/selectBanner\";\nimport segmentSelectBanner from \"../../../providers/Segment/events/banner/selectBanner/selectBanner\";\nimport facebookSelectBanner from \"../../../providers/FacebookPixel/events/banner/selectBanner/selectBanner\";\nimport { SelectBannerParams } from \"./selectBanner.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a selectBanner event to every configured provider.\n *\n * Log this event when users select a banner.\n *\n * @since 0.1.0\n * @property {SelectBannerParams} params SelectBanner event parameters\n */\nconst logSelectBanner = (params: SelectBannerParams) => {\n triageEventToProviders(\"selectBanner\", params, {\n googleAnalyticsHandler: googleSelectBanner,\n facebookPixelHandler: facebookSelectBanner,\n segmentHandler: segmentSelectBanner\n });\n};\n\nexport default logSelectBanner;\n","// events index\nimport logBannerImpression from \"./bannerImpression/bannerImpression\";\nimport logSelectBanner from \"./selectBanner/selectBanner\";\n\nconst events = { logBannerImpression, logSelectBanner };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { AddBillingInfoParams } from \"./addBillingInfo.types\";\n\n/**\n * Emits a addBillingInfo event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {AddBillingInfoParams} params Event configuration parameters\n */\nconst addBillingInfo = (\n provider: GoogleAnalyticsProvider,\n params: AddBillingInfoParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"add_billing_info\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default addBillingInfo;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { AddBillingInfoParams } from \"./addBillingInfo.types\";\n\n/**\n * Emits a addBillingInfo event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {AddBillingInfoParams} params Event configuration parameters\n */\nconst addBillingInfo = (\n provider: SegmentProvider,\n params: AddBillingInfoParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Add Billing Info\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default addBillingInfo;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { AddBillingInfoParams } from \"./addBillingInfo.types\";\n\n/**\n * Emits a addBillingInfo event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {AddBillingInfoParams} params Event configuration parameters\n */\nconst addBillingInfo = (\n provider: FacebookPixelProvider,\n params: AddBillingInfoParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"AddBillingInfo\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default addBillingInfo;\n","import googleAddBillingInfo from \"../../../providers/GoogleAnalytics/events/billing/addBillingInfo/addBillingInfo\";\nimport segmentAddBillingInfo from \"../../../providers/Segment/events/billing/addBillingInfo/addBillingInfo\";\nimport facebookAddBillingInfo from \"../../../providers/FacebookPixel/events/billing/addBillingInfo/addBillingInfo\";\nimport { AddBillingInfoParams } from \"./addBillingInfo.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a addBillingInfo event to every configured provider.\n *\n * Log this event when users add their billing information.\n *\n * @since 0.1.0\n * @property {AddBillingInfoParams} params AddBillingInfo event parameters\n */\nconst logAddBillingInfo = (params: AddBillingInfoParams) => {\n triageEventToProviders(\"addBillingInfo\", params, {\n googleAnalyticsHandler: googleAddBillingInfo,\n facebookPixelHandler: facebookAddBillingInfo,\n segmentHandler: segmentAddBillingInfo\n });\n};\n\nexport default logAddBillingInfo;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SelectBillingInfoParams } from \"./selectBillingInfo.types\";\n\n/**\n * Emits a selectBillingInfo event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SelectBillingInfoParams} params Event configuration parameters\n */\nconst selectBillingInfo = (\n provider: GoogleAnalyticsProvider,\n params: SelectBillingInfoParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"select_billing_info\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectBillingInfo;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SelectBillingInfoParams } from \"./selectBillingInfo.types\";\n\n/**\n * Emits a selectBillingInfo event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SelectBillingInfoParams} params Event configuration parameters\n */\nconst selectBillingInfo = (\n provider: SegmentProvider,\n params: SelectBillingInfoParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"SelectBilling Info\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default selectBillingInfo;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SelectBillingInfoParams } from \"./selectBillingInfo.types\";\n\n/**\n * Emits a selectBillingInfo event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SelectBillingInfoParams} params Event configuration parameters\n */\nconst selectBillingInfo = (\n provider: FacebookPixelProvider,\n params: SelectBillingInfoParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SelectBillingInfo\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectBillingInfo;\n","import googleSelectBillingInfo from \"../../../providers/GoogleAnalytics/events/billing/selectBillingInfo/selectBillingInfo\";\nimport segmentSelectBillingInfo from \"../../../providers/Segment/events/billing/selectBillingInfo/selectBillingInfo\";\nimport facebookSelectBillingInfo from \"../../../providers/FacebookPixel/events/billing/selectBillingInfo/selectBillingInfo\";\nimport { SelectBillingInfoParams } from \"./selectBillingInfo.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a selectBillingInfo event to every configured provider.\n *\n * Log this event when users select a billing information.\n *\n * @since 0.1.0\n * @property {SelectBillingInfoParams} params SelectBillingInfo event parameters\n */\nconst logSelectBillingInfo = (params: SelectBillingInfoParams) => {\n triageEventToProviders(\"selectBillingInfo\", params, {\n googleAnalyticsHandler: googleSelectBillingInfo,\n facebookPixelHandler: facebookSelectBillingInfo,\n segmentHandler: segmentSelectBillingInfo\n });\n};\n\nexport default logSelectBillingInfo;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { UpdateBillingInfoParams } from \"./updateBillingInfo.types\";\n\n/**\n * Emits a updateBillingInfo event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {UpdateBillingInfoParams} params Event configuration parameters\n */\nconst updateBillingInfo = (\n provider: GoogleAnalyticsProvider,\n params: UpdateBillingInfoParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, fields, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n fields: transformArrayParam(fields)\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"update_billing_info\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default updateBillingInfo;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { UpdateBillingInfoParams } from \"./updateBillingInfo.types\";\n\n/**\n * Emits a updateBillingInfo event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {UpdateBillingInfoParams} params Event configuration parameters\n */\nconst updateBillingInfo = (\n provider: SegmentProvider,\n params: UpdateBillingInfoParams\n) => {\n const { fields, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest, fields: transformArrayParam(fields) };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Update Billing Info\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default updateBillingInfo;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { UpdateBillingInfoParams } from \"./updateBillingInfo.types\";\n\n/**\n * Emits a updateBillingInfo event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {UpdateBillingInfoParams} params Event configuration parameters\n */\nconst updateBillingInfo = (\n provider: FacebookPixelProvider,\n params: UpdateBillingInfoParams\n) => {\n const { fields, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest, fields: transformArrayParam(fields) };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"UpdateBillingInfo\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default updateBillingInfo;\n","import googleUpdateBillingInfo from \"../../../providers/GoogleAnalytics/events/billing/updateBillingInfo/updateBillingInfo\";\nimport segmentUpdateBillingInfo from \"../../../providers/Segment/events/billing/updateBillingInfo/updateBillingInfo\";\nimport facebookUpdateBillingInfo from \"../../../providers/FacebookPixel/events/billing/updateBillingInfo/updateBillingInfo\";\nimport { UpdateBillingInfoParams } from \"./updateBillingInfo.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a updateBillingInfo event to every configured provider.\n *\n * Log this event when users update their billing information.\n *\n * @since 0.1.0\n * @property {UpdateBillingInfoParams} params UpdateBillingInfo event parameters\n */\nconst logUpdateBillingInfo = (params: UpdateBillingInfoParams) => {\n triageEventToProviders(\"updateBillingInfo\", params, {\n googleAnalyticsHandler: googleUpdateBillingInfo,\n facebookPixelHandler: facebookUpdateBillingInfo,\n segmentHandler: segmentUpdateBillingInfo\n });\n};\n\nexport default logUpdateBillingInfo;\n","// events index\nimport logAddBillingInfo from \"./addBillingInfo/addBillingInfo\";\nimport logSelectBillingInfo from \"./selectBillingInfo/selectBillingInfo\";\nimport logUpdateBillingInfo from \"./updateBillingInfo/updateBillingInfo\";\n\nconst events = {\n logAddBillingInfo,\n logSelectBillingInfo,\n logUpdateBillingInfo\n};\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { BookAppointmentParams } from \"./bookAppointment.types\";\n\n/**\n * Emits a bookAppointment event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {BookAppointmentParams} params Event configuration parameters\n */\nconst bookAppointment = (\n provider: GoogleAnalyticsProvider,\n params: BookAppointmentParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"book_appointment\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default bookAppointment;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { BookAppointmentParams } from \"./bookAppointment.types\";\n\n/**\n * Emits a bookAppointment event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {BookAppointmentParams} params Event configuration parameters\n */\nconst bookAppointment = (\n provider: SegmentProvider,\n params: BookAppointmentParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Book Appointment\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default bookAppointment;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { BookAppointmentParams } from \"./bookAppointment.types\";\n\n/**\n * Emits a bookAppointment event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {BookAppointmentParams} params Event configuration parameters\n */\nconst bookAppointment = (\n provider: FacebookPixelProvider,\n params: BookAppointmentParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"Schedule\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default bookAppointment;\n","import googleBookAppointment from \"../../../providers/GoogleAnalytics/events/booking/bookAppointment/bookAppointment\";\nimport segmentBookAppointment from \"../../../providers/Segment/events/booking/bookAppointment/bookAppointment\";\nimport facebookBookAppointment from \"../../../providers/FacebookPixel/events/booking/bookAppointment/bookAppointment\";\nimport { BookAppointmentParams } from \"./bookAppointment.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a bookAppointment event to every configured provider.\n *\n * Log this event after users successfully book an appointment.\n *\n * @since 0.1.0\n * @property {BookAppointmentParams} params BookAppointment event parameters\n */\nconst logBookAppointment = (params: BookAppointmentParams) => {\n triageEventToProviders(\"bookAppointment\", params, {\n googleAnalyticsHandler: googleBookAppointment,\n facebookPixelHandler: facebookBookAppointment,\n segmentHandler: segmentBookAppointment\n });\n};\n\nexport default logBookAppointment;\n","// events index\n\nimport logBookAppointment from \"./bookAppointment/bookAppointment\";\n\nconst events = { logBookAppointment };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider, Gtag } from \"../../../GoogleAnalytics.types\";\nimport { CategoryImpressionParams } from \"./categoryImpression.types\";\n\n/**\n * Emits a categoryImpression event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {CategoryImpressionParams} params Event configuration parameters\n */\nconst categoryImpression = (\n provider: GoogleAnalyticsProvider,\n params: CategoryImpressionParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, category, list, itemBrand, ...rest } = params;\n const { position } = params;\n const { categoryId, name } = category;\n const items: Gtag.Item[] = [\n {\n item_brand: itemBrand,\n item_id: `${categoryId}`,\n item_list_name: list,\n item_name: name,\n index: position\n }\n ];\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"view_item_list\", {\n item_list_name: list,\n items,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default categoryImpression;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { CategoryImpressionParams } from \"./categoryImpression.types\";\n\n/**\n * Emits a categoryImpression event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {CategoryImpressionParams} params Event configuration parameters\n */\nconst categoryImpression = (\n provider: SegmentProvider,\n params: CategoryImpressionParams\n) => {\n const { category, ...rest } = params;\n delete rest.userId;\n const { categoryId, name: categoryName } = category;\n const enhancedParams = { ...rest, categoryId, categoryName };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Category Impression\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default categoryImpression;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { CategoryImpressionParams } from \"./categoryImpression.types\";\n\n/**\n * Emits a categoryImpression event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {CategoryImpressionParams} params Event configuration parameters\n */\nconst categoryImpression = (\n provider: FacebookPixelProvider,\n params: CategoryImpressionParams\n) => {\n const { category, ...rest } = params;\n delete rest.userId;\n const { categoryId, name: categoryName } = category;\n const enhancedParams = { ...rest, categoryId, categoryName };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"CategoryImpression\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default categoryImpression;\n","import googleCategoryImpression from \"../../../providers/GoogleAnalytics/events/category/categoryImpression/categoryImpression\";\nimport segmentCategoryImpression from \"../../../providers/Segment/events/category/categoryImpression/categoryImpression\";\nimport facebookCategoryImpression from \"../../../providers/FacebookPixel/events/category/categoryImpression/categoryImpression\";\nimport { CategoryImpressionParams } from \"./categoryImpression.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a categoryImpression event to every configured provider.\n *\n * Log this event when a category is visible on the screen.\n *\n * @since 0.1.0\n * @property {CategoryImpressionParams} params CategoryImpression event parameters\n */\nconst logCategoryImpression = (params: CategoryImpressionParams) => {\n triageEventToProviders(\"categoryImpression\", params, {\n googleAnalyticsHandler: googleCategoryImpression,\n facebookPixelHandler: facebookCategoryImpression,\n segmentHandler: segmentCategoryImpression\n });\n};\n\nexport default logCategoryImpression;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SearchCategoryAttemptParams } from \"./searchCategoryAttempt.types\";\n\n/**\n * Emits a searchCategoryAttempt event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SearchCategoryAttemptParams} params Event configuration parameters\n */\nconst searchCategoryAttempt = (\n provider: GoogleAnalyticsProvider,\n params: SearchCategoryAttemptParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, query, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"search\", {\n search_term: query,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default searchCategoryAttempt;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SearchCategoryAttemptParams } from \"./searchCategoryAttempt.types\";\n\n/**\n * Emits a searchCategoryAttempt event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SearchCategoryAttemptParams} params Event configuration parameters\n */\nconst searchCategoryAttempt = (\n provider: SegmentProvider,\n params: SearchCategoryAttemptParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Search Category\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default searchCategoryAttempt;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SearchCategoryAttemptParams } from \"./searchCategoryAttempt.types\";\n\n/**\n * Emits a searchCategoryAttempt event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SearchCategoryAttemptParams} params Event configuration parameters\n */\nconst searchCategoryAttempt = (\n provider: FacebookPixelProvider,\n params: SearchCategoryAttemptParams\n) => {\n const { query, contentType, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"fb_mobile_search\", {\n fb_search_string: query,\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default searchCategoryAttempt;\n","import googleSearchCategoryAttempt from \"../../../providers/GoogleAnalytics/events/category/searchCategoryAttempt/searchCategoryAttempt\";\nimport segmentSearchCategoryAttempt from \"../../../providers/Segment/events/category/searchCategoryAttempt/searchCategoryAttempt\";\nimport facebookSearchCategoryAttempt from \"../../../providers/FacebookPixel/events/category/searchCategoryAttempt/searchCategoryAttempt\";\nimport { SearchCategoryAttemptParams } from \"./searchCategoryAttempt.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a SearchCategoryAttempt event to every configured provider.\n *\n * Log this event when users try to search an specific category.\n *\n * @since 0.1.0\n * @property {SearchCategoryAttemptParams} params SearchCategoryAttempt event parameters\n */\nconst logSearchCategoryAttempt = (params: SearchCategoryAttemptParams) => {\n triageEventToProviders(\"searchCategoryAttempt\", params, {\n googleAnalyticsHandler: googleSearchCategoryAttempt,\n facebookPixelHandler: facebookSearchCategoryAttempt,\n segmentHandler: segmentSearchCategoryAttempt\n });\n};\n\nexport default logSearchCategoryAttempt;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SelectCategoryParams } from \"./selectCategory.types\";\n\n/**\n * Emits a selectCategory event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SelectCategoryParams} params Event configuration parameters\n */\nconst selectCategory = (\n provider: GoogleAnalyticsProvider,\n params: SelectCategoryParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, category, ...rest } = params;\n if (rest.contentType) {\n delete rest.contentType;\n }\n const { categoryId, name: categoryName } = category;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n categoryId,\n categoryName\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"select_content\", {\n content_type: \"category\",\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectCategory;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SelectCategoryParams } from \"./selectCategory.types\";\n\n/**\n * Emits a selectCategory event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SelectCategoryParams} params Event configuration parameters\n */\nconst selectCategory = (\n provider: SegmentProvider,\n params: SelectCategoryParams\n) => {\n const { category, ...rest } = params;\n delete rest.userId;\n const { categoryId, name: categoryName } = category;\n const enhancedParams = { ...rest, categoryId, categoryName };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Select Category\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default selectCategory;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SelectCategoryParams } from \"./selectCategory.types\";\n\n/**\n * Emits a selectCategory event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SelectCategoryParams} params Event configuration parameters\n */\nconst selectCategory = (\n provider: FacebookPixelProvider,\n params: SelectCategoryParams\n) => {\n const { category, ...rest } = params;\n delete rest.userId;\n const { categoryId, name: categoryName } = category;\n const enhancedParams = { ...rest, categoryId, categoryName };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SelectCategory\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectCategory;\n","import googleSelectCategory from \"../../../providers/GoogleAnalytics/events/category/selectCategory/selectCategory\";\nimport segmentSelectCategory from \"../../../providers/Segment/events/category/selectCategory/selectCategory\";\nimport facebookSelectCategory from \"../../../providers/FacebookPixel/events/category/selectCategory/selectCategory\";\nimport { SelectCategoryParams } from \"./selectCategory.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a selectCategory event to every configured provider.\n *\n * Log this event when users select a category. This category may or may not\n * be on a list.\n *\n * @since 0.1.0\n * @property {SelectCategoryParams} params SelectCategory event parameters\n */\nconst logSelectCategory = (params: SelectCategoryParams) => {\n triageEventToProviders(\"selectCategory\", params, {\n googleAnalyticsHandler: googleSelectCategory,\n facebookPixelHandler: facebookSelectCategory,\n segmentHandler: segmentSelectCategory\n });\n};\n\nexport default logSelectCategory;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ViewCategoryParams } from \"./viewCategory.types\";\n\n/**\n * Emits a viewCategory event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ViewCategoryParams} params Event configuration parameters\n */\nconst viewCategory = (\n provider: GoogleAnalyticsProvider,\n params: ViewCategoryParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, category, ...rest } = params;\n delete rest.products;\n const { categoryId, name: categoryName } = category;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n categoryId,\n categoryName\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"view_cateogry\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewCategory;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { mapProductsToSegmentProducts } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ViewCategoryParams } from \"./viewCategory.types\";\n\n/**\n * Emits a viewCategory event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ViewCategoryParams} params Event configuration parameters\n */\nconst viewCategory = (\n provider: SegmentProvider,\n params: ViewCategoryParams\n) => {\n const { category, products, ...rest } = params;\n delete rest.userId;\n const { categoryId, name } = category;\n const enhancedParams = { ...rest, listId: categoryId, category: name };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Product List Viewed\", {\n products: mapProductsToSegmentProducts(products),\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default viewCategory;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ViewCategoryParams } from \"./viewCategory.types\";\n\n/**\n * Emits a viewCategory event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ViewCategoryParams} params Event configuration parameters\n */\nconst viewCategory = (\n provider: FacebookPixelProvider,\n params: ViewCategoryParams\n) => {\n const { category, ...rest } = params;\n delete rest.userId;\n delete rest.products;\n const { categoryId, name: categoryName } = category;\n const enhancedParams = { ...rest, categoryId, categoryName };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ViewCategory\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewCategory;\n","import googleViewCategory from \"../../../providers/GoogleAnalytics/events/category/viewCategory/viewCategory\";\nimport segmentViewCategory from \"../../../providers/Segment/events/category/viewCategory/viewCategory\";\nimport facebookViewCategory from \"../../../providers/FacebookPixel/events/category/viewCategory/viewCategory\";\nimport { ViewCategoryParams } from \"./viewCategory.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a viewCategory event to every configured provider.\n *\n * Log this event when the details or products of a category load successfully\n * and are shown to the user.\n *\n * @since 0.1.0\n * @property {ViewCategoryParams} params ViewCategory event parameters\n */\nconst logViewCategory = (params: ViewCategoryParams) => {\n triageEventToProviders(\"viewCategory\", params, {\n googleAnalyticsHandler: googleViewCategory,\n facebookPixelHandler: facebookViewCategory,\n segmentHandler: segmentViewCategory\n });\n};\n\nexport default logViewCategory;\n","// events index\nimport logCategoryImpression from \"./categoryImpression/categoryImpression\";\nimport logSearchCategoryAttempt from \"./searchCategoryAttempt/searchCategoryAttempt\";\nimport logSelectCategory from \"./selectCategory/selectCategory\";\nimport logViewCategory from \"./viewCategory/viewCategory\";\n\nconst events = {\n logCategoryImpression,\n logSearchCategoryAttempt,\n logSelectCategory,\n logViewCategory\n};\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { CheckoutActionParams } from \"./checkoutAction.types\";\n\n/**\n * Emits a checkoutAction event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {CheckoutActionParams} params Event configuration parameters\n */\nconst checkoutAction = (\n provider: GoogleAnalyticsProvider,\n params: CheckoutActionParams\n) => {\n const { userId: providerUserId, currency } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId, currency };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"checkout_action\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default checkoutAction;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { CheckoutActionParams } from \"./checkoutAction.types\";\n\n/**\n * Emits a checkoutAction event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {CheckoutActionParams} params Event configuration parameters\n */\nconst checkoutAction = (\n provider: SegmentProvider,\n params: CheckoutActionParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Checkout Step Completed\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default checkoutAction;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { CheckoutActionParams } from \"./checkoutAction.types\";\n\n/**\n * Emits a checkoutAction event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {CheckoutActionParams} params Event configuration parameters\n */\nconst checkoutAction = (\n provider: FacebookPixelProvider,\n params: CheckoutActionParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"CheckoutAction\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default checkoutAction;\n","import googleCheckoutAction from \"../../../providers/GoogleAnalytics/events/checkout/checkoutAction/checkoutAction\";\nimport segmentCheckoutAction from \"../../../providers/Segment/events/checkout/checkoutAction/checkoutAction\";\nimport facebookCheckoutAction from \"../../../providers/FacebookPixel/events/checkout/checkoutAction/checkoutAction\";\nimport { CheckoutActionParams } from \"./checkoutAction.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a checkoutAction event to every configured provider.\n *\n * Log this event when users complete a step in the checkout progress.\n *\n * @since 0.1.0\n * @property {CheckoutActionParams} params CheckoutAction event parameters\n */\nconst logCheckoutAction = (params: CheckoutActionParams) => {\n triageEventToProviders(\"checkoutAction\", params, {\n googleAnalyticsHandler: googleCheckoutAction,\n facebookPixelHandler: facebookCheckoutAction,\n segmentHandler: segmentCheckoutAction\n });\n};\n\nexport default logCheckoutAction;\n","import { getShoppingCartTotal } from \"@artisan-commerce/shopping-cart\";\n\nimport analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { mapProductsToGoogleItems } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { InitiateCheckoutParams } from \"./initiateCheckout.types\";\n\n/**\n * Emits a initiateCheckout event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {InitiateCheckoutParams} params Event configuration parameters\n */\nconst initiateCheckout = (\n provider: GoogleAnalyticsProvider,\n params: InitiateCheckoutParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, shoppingCart, currency, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { total, totalPoints } = getShoppingCartTotal(shoppingCart);\n analytics().logEvent(\"begin_checkout\", {\n items: mapProductsToGoogleItems(shoppingCart, selectedCurrency),\n value: total,\n points: totalPoints ?? 0,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default initiateCheckout;\n","import { getShoppingCartProducts } from \"@artisan-commerce/shopping-cart\";\nimport { getShoppingCartTotal } from \"@artisan-commerce/shopping-cart\";\nimport analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { mapProductsToSegmentProducts } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { InitiateCheckoutParams } from \"./initiateCheckout.types\";\n\n/**\n * Emits a initiateCheckout event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {InitiateCheckoutParams} params Event configuration parameters\n */\nconst initiateCheckout = (\n provider: SegmentProvider,\n params: InitiateCheckoutParams\n) => {\n const { currency: providerCurrency } = provider;\n const { shoppingCart, currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const products = getShoppingCartProducts(shoppingCart);\n const { total, totalTaxes, shippingCost, totalPoints } =\n getShoppingCartTotal(shoppingCart);\n analytics.track(\"Initiate Checkout\", {\n total,\n revenue: total - (totalTaxes ?? 0) - (shippingCost ?? 0),\n shipping: shippingCost ?? 0,\n tax: totalTaxes ?? 0,\n products: mapProductsToSegmentProducts(products),\n points: totalPoints ?? 0,\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default initiateCheckout;\n","import { getShoppingCartTotal } from \"@artisan-commerce/shopping-cart\";\n\nimport { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getProductContentFromShoppingCart } from \"../../../../../../utils/events.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getProductIdsFromShoppingCart } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { InitiateCheckoutParams } from \"./initiateCheckout.types\";\n\n/**\n * Emits a initiateCheckout event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {InitiateCheckoutParams} params Event configuration parameters\n */\nconst initiateCheckout = (\n provider: FacebookPixelProvider,\n params: InitiateCheckoutParams\n) => {\n const { currency: providerCurrency } = provider;\n const { shoppingCart, currency, contentType, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const productsIds = getProductIdsFromShoppingCart(shoppingCart);\n const productContents = getProductContentFromShoppingCart(shoppingCart);\n const { total, totalPoints } = getShoppingCartTotal(shoppingCart);\n AppEventsLogger.logEvent(\"fb_mobile_initiated_checkout\", total, {\n fb_content_id: transformArrayParam(productsIds),\n fb_contents: transformArrayParam(productContents),\n fb_num_items: productsIds.length,\n fb_currency: selectedCurrency,\n fb_content_type: contentType,\n points: totalPoints ?? 0,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default initiateCheckout;\n","import googleInitiateCheckout from \"../../../providers/GoogleAnalytics/events/checkout/initiateCheckout/initiateCheckout\";\nimport segmentInitiateCheckout from \"../../../providers/Segment/events/checkout/initiateCheckout/initiateCheckout\";\nimport facebookInitiateCheckout from \"../../../providers/FacebookPixel/events/checkout/initiateCheckout/initiateCheckout\";\nimport { InitiateCheckoutParams } from \"./initiateCheckout.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a initiateCheckout event to every configured provider.\n *\n * Log this event at the start of a checkout process.\n *\n * @since 0.1.0\n * @property {InitiateCheckoutParams} params InitiateCheckout event parameters\n */\nconst logInitiateCheckout = (params: InitiateCheckoutParams) => {\n triageEventToProviders(\"initiateCheckout\", params, {\n googleAnalyticsHandler: googleInitiateCheckout,\n facebookPixelHandler: facebookInitiateCheckout,\n segmentHandler: segmentInitiateCheckout\n });\n};\n\nexport default logInitiateCheckout;\n","// events index\nimport logCheckoutAction from \"./checkoutAction/checkoutAction\";\nimport logInitiateCheckout from \"./initiateCheckout/initiateCheckout\";\n\nconst events = { logCheckoutAction, logInitiateCheckout };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ApplyBenefitParams } from \"./applyBenefit.types\";\n\n/**\n * Emits a applyBenefit event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ApplyBenefitParams} params Event configuration parameters\n */\nconst applyBenefit = (\n provider: GoogleAnalyticsProvider,\n params: ApplyBenefitParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, currency, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"apply_benefit\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default applyBenefit;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ApplyBenefitParams } from \"./applyBenefit.types\";\n\n/**\n * Emits a applyBenefit event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ApplyBenefitParams} params Event configuration parameters\n */\nconst applyBenefit = (\n provider: SegmentProvider,\n params: ApplyBenefitParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Apply Benefit\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default applyBenefit;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ApplyBenefitParams } from \"./applyBenefit.types\";\n\n/**\n * Emits a applyBenefit event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ApplyBenefitParams} params Event configuration parameters\n */\nconst applyBenefit = (\n provider: FacebookPixelProvider,\n params: ApplyBenefitParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ApplyBenefit\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default applyBenefit;\n","import googleApplyBenefit from \"../../../providers/GoogleAnalytics/events/coupon/applyBenefit/applyBenefit\";\nimport segmentApplyBenefit from \"../../../providers/Segment/events/coupon/applyBenefit/applyBenefit\";\nimport facebookApplyBenefit from \"../../../providers/FacebookPixel/events/coupon/applyBenefit/applyBenefit\";\nimport { ApplyBenefitParams } from \"./applyBenefit.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a applyBenefit event to every configured provider.\n *\n * Log this event when users apply a coupon on their order.\n *\n * @since 0.1.0\n * @property {ApplyBenefitParams} params ApplyBenefit event parameters\n */\nconst logApplyBenefit = (params: ApplyBenefitParams) => {\n triageEventToProviders(\"applyBenefit\", params, {\n googleAnalyticsHandler: googleApplyBenefit,\n facebookPixelHandler: facebookApplyBenefit,\n segmentHandler: segmentApplyBenefit\n });\n};\n\nexport default logApplyBenefit;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { CouponCodeErrorParams } from \"./couponCodeError.types\";\n\n/**\n * Emits a couponCodeError event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {CouponCodeErrorParams} params Event configuration parameters\n */\nconst couponCodeError = (\n provider: GoogleAnalyticsProvider,\n params: CouponCodeErrorParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, currency, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"coupon_code_error\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default couponCodeError;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { CouponCodeErrorParams } from \"./couponCodeError.types\";\n\n/**\n * Emits a couponCodeError event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {CouponCodeErrorParams} params Event configuration parameters\n */\nconst couponCodeError = (\n provider: SegmentProvider,\n params: CouponCodeErrorParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Coupon Code Error\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default couponCodeError;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { CouponCodeErrorParams } from \"./couponCodeError.types\";\n\n/**\n * Emits a couponCodeError event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {CouponCodeErrorParams} params Event configuration parameters\n */\nconst couponCodeError = (\n provider: FacebookPixelProvider,\n params: CouponCodeErrorParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"CouponCodeError\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default couponCodeError;\n","import googleCouponCodeError from \"../../../providers/GoogleAnalytics/events/coupon/couponCodeError/couponCodeError\";\nimport segmentCouponCodeError from \"../../../providers/Segment/events/coupon/couponCodeError/couponCodeError\";\nimport facebookCouponCodeError from \"../../../providers/FacebookPixel/events/coupon/couponCodeError/couponCodeError\";\nimport { CouponCodeErrorParams } from \"./couponCodeError.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a couponCodeError event to every configured provider.\n *\n * Log this event when your redeem coupon request has failed.\n *\n * @since 0.1.0\n * @property {CouponCodeErrorParams} params CouponCodeError event parameters\n */\nconst logCouponCodeError = (params: CouponCodeErrorParams) => {\n triageEventToProviders(\"couponCodeError\", params, {\n googleAnalyticsHandler: googleCouponCodeError,\n facebookPixelHandler: facebookCouponCodeError,\n segmentHandler: segmentCouponCodeError\n });\n};\n\nexport default logCouponCodeError;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { RedeemCouponCodeParams } from \"./redeemCouponCode.types\";\n\n/**\n * Emits a redeemCouponCode event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {RedeemCouponCodeParams} params Event configuration parameters\n */\nconst redeemCouponCode = (\n provider: GoogleAnalyticsProvider,\n params: RedeemCouponCodeParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"redeem_coupon_code\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default redeemCouponCode;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { RedeemCouponCodeParams } from \"./redeemCouponCode.types\";\n\n/**\n * Emits a redeemCouponCode event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {RedeemCouponCodeParams} params Event configuration parameters\n */\nconst redeemCouponCode = (\n provider: SegmentProvider,\n params: RedeemCouponCodeParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Redeem Coupon Code\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default redeemCouponCode;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { RedeemCouponCodeParams } from \"./redeemCouponCode.types\";\n\n/**\n * Emits a redeemCouponCode event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {RedeemCouponCodeParams} params Event configuration parameters\n */\nconst redeemCouponCode = (\n provider: FacebookPixelProvider,\n params: RedeemCouponCodeParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"RedeemCouponCode\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default redeemCouponCode;\n","import googleRedeemCouponCode from \"../../../providers/GoogleAnalytics/events/coupon/redeemCouponCode/redeemCouponCode\";\nimport segmentRedeemCouponCode from \"../../../providers/Segment/events/coupon/redeemCouponCode/redeemCouponCode\";\nimport facebookRedeemCouponCode from \"../../../providers/FacebookPixel/events/coupon/redeemCouponCode/redeemCouponCode\";\nimport { RedeemCouponCodeParams } from \"./redeemCouponCode.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a redeemCouponCode event to every configured provider.\n *\n * Log this event when users successfully redeem a coupon.\n *\n * @since 0.1.0\n * @property {RedeemCouponCodeParams} params RedeemCouponCode event parameters\n */\nconst logRedeemCouponCode = (params: RedeemCouponCodeParams) => {\n triageEventToProviders(\"redeemCouponCode\", params, {\n googleAnalyticsHandler: googleRedeemCouponCode,\n facebookPixelHandler: facebookRedeemCouponCode,\n segmentHandler: segmentRedeemCouponCode\n });\n};\n\nexport default logRedeemCouponCode;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { RemoveBenefitParams } from \"./removeBenefit.types\";\n\n/**\n * Emits a removeBenefit event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {RemoveBenefitParams} params Event configuration parameters\n */\nconst removeBenefit = (\n provider: GoogleAnalyticsProvider,\n params: RemoveBenefitParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, currency, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"remove_benefit\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default removeBenefit;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { RemoveBenefitParams } from \"./removeBenefit.types\";\n\n/**\n * Emits a removeBenefit event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {RemoveBenefitParams} params Event configuration parameters\n */\nconst removeBenefit = (\n provider: SegmentProvider,\n params: RemoveBenefitParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Remove Benefit\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default removeBenefit;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { RemoveBenefitParams } from \"./removeBenefit.types\";\n\n/**\n * Emits a removeBenefit event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {RemoveBenefitParams} params Event configuration parameters\n */\nconst removeBenefit = (\n provider: FacebookPixelProvider,\n params: RemoveBenefitParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"RemoveBenefit\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default removeBenefit;\n","import googleRemoveBenefit from \"../../../providers/GoogleAnalytics/events/coupon/removeBenefit/removeBenefit\";\nimport segmentRemoveBenefit from \"../../../providers/Segment/events/coupon/removeBenefit/removeBenefit\";\nimport facebookRemoveBenefit from \"../../../providers/FacebookPixel/events/coupon/removeBenefit/removeBenefit\";\nimport { RemoveBenefitParams } from \"./removeBenefit.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a removeBenefit event to every configured provider.\n *\n * Log this event when users remove coupon from their order.\n *\n * @since 0.1.0\n * @property {RemoveBenefitParams} params RemoveBenefit event parameters\n */\nconst logRemoveBenefit = (params: RemoveBenefitParams) => {\n triageEventToProviders(\"removeBenefit\", params, {\n googleAnalyticsHandler: googleRemoveBenefit,\n facebookPixelHandler: facebookRemoveBenefit,\n segmentHandler: segmentRemoveBenefit\n });\n};\n\nexport default logRemoveBenefit;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ViewBenefitDetailsParams } from \"./viewBenefitDetails.types\";\n\n/**\n * Emits a viewBenefitDetails event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ViewBenefitDetailsParams} params Event configuration parameters\n */\nconst viewBenefitDetails = (\n provider: GoogleAnalyticsProvider,\n params: ViewBenefitDetailsParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, currency, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"view_benefit_details\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewBenefitDetails;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ViewBenefitDetailsParams } from \"./viewBenefitDetails.types\";\n\n/**\n * Emits a viewBenefitDetails.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ViewBenefitDetailsParams} params Event configuration parameters\n */\nconst viewBenefitDetails = (\n provider: SegmentProvider,\n params: ViewBenefitDetailsParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"View Benefit Details\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default viewBenefitDetails;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ViewBenefitDetailsParams } from \"./viewBenefitDetails.types\";\n\n/**\n * Emits a viewBenefitDetails.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ViewBenefitDetailsParams} params Event configuration parameters\n */\nconst viewBenefitDetails = (\n provider: FacebookPixelProvider,\n params: ViewBenefitDetailsParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ViewBenefitDetails\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewBenefitDetails;\n","import googleViewBenefitDetails from \"../../../providers/GoogleAnalytics/events/coupon/viewBenefitDetails/viewBenefitDetails\";\nimport segmentViewBenefitDetails from \"../../../providers/Segment/events/coupon/viewBenefitDetails/viewBenefitDetails\";\nimport facebookViewBenefitDetails from \"../../../providers/FacebookPixel/events/coupon/viewBenefitDetails/viewBenefitDetails\";\nimport { ViewBenefitDetailsParams } from \"./viewBenefitDetails.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a viewBenefitDetails event to every configured provider.\n *\n * Log this event when users see the benefits of a coupon.\n *\n * @since 0.1.0\n * @property {ViewBenefitDetailsParams} params ViewBenefitDetails event parameters\n */\nconst logViewBenefitDetails = (params: ViewBenefitDetailsParams) => {\n triageEventToProviders(\"viewBenefitDetails\", params, {\n googleAnalyticsHandler: googleViewBenefitDetails,\n facebookPixelHandler: facebookViewBenefitDetails,\n segmentHandler: segmentViewBenefitDetails\n });\n};\n\nexport default logViewBenefitDetails;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ViewBenefitsWalletParams } from \"./viewBenefitsWallet.types\";\n\n/**\n * Emits a viewBenefitsWallet event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ViewBenefitsWalletParams} params Event configuration parameters\n */\nconst viewBenefitsWallet = (\n provider: GoogleAnalyticsProvider,\n params: ViewBenefitsWalletParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"view_benefits_wallet\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewBenefitsWallet;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ViewBenefitsWalletParams } from \"./viewBenefitsWallet.types\";\n\n/**\n * Emits a viewBenefitsWallet.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ViewBenefitsWalletParams} params Event configuration parameters\n */\nconst viewBenefitsWallet = (\n provider: SegmentProvider,\n params: ViewBenefitsWalletParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"View Benefits Wallet\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default viewBenefitsWallet;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ViewBenefitsWalletParams } from \"./viewBenefitsWallet.types\";\n\n/**\n * Emits a viewBenefitsWallet.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ViewBenefitsWalletParams} params Event configuration parameters\n */\nconst viewBenefitsWallet = (\n provider: FacebookPixelProvider,\n params: ViewBenefitsWalletParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ViewBenefitsWallet\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewBenefitsWallet;\n","import googleViewBenefitsWallet from \"../../../providers/GoogleAnalytics/events/coupon/viewBenefitsWallet/viewBenefitsWallet\";\nimport segmentViewBenefitsWallet from \"../../../providers/Segment/events/coupon/viewBenefitsWallet/viewBenefitsWallet\";\nimport facebookViewBenefitsWallet from \"../../../providers/FacebookPixel/events/coupon/viewBenefitsWallet/viewBenefitsWallet\";\nimport { ViewBenefitsWalletParams } from \"./viewBenefitsWallet.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a viewBenefitsWallet event to every configured provider.\n *\n * Log this event when users see their available coupons in the wallet.\n *\n * @since 0.1.0\n * @property {ViewBenefitsWalletParams} params ViewBenefitsWallet event parameters\n */\nconst logViewBenefitsWallet = (params: ViewBenefitsWalletParams) => {\n triageEventToProviders(\"viewBenefitsWallet\", params, {\n googleAnalyticsHandler: googleViewBenefitsWallet,\n facebookPixelHandler: facebookViewBenefitsWallet,\n segmentHandler: segmentViewBenefitsWallet\n });\n};\n\nexport default logViewBenefitsWallet;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ViewQRStoreCouponParams } from \"./viewQRStoreCoupon.types\";\n\n/**\n * Emits a viewQRStoreCoupon event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ViewQRStoreCouponParams} params Event configuration parameters\n */\nconst viewQRStoreCoupon = (\n provider: GoogleAnalyticsProvider,\n params: ViewQRStoreCouponParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"view_qr_store_coupon\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewQRStoreCoupon;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ViewQRStoreCouponParams } from \"./viewQRStoreCoupon.types\";\n\n/**\n * Emits a viewQRStoreCoupon event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ViewQRStoreCouponParams} params Event configuration parameters\n */\nconst viewQRStoreCoupon = (\n provider: SegmentProvider,\n params: ViewQRStoreCouponParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"View QR Store Coupon\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default viewQRStoreCoupon;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ViewQRStoreCouponParams } from \"./viewQRStoreCoupon.types\";\n\n/**\n * Emits a viewQRStoreCoupon event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ViewQRStoreCouponParams} params Event configuration parameters\n */\nconst viewQRStoreCoupon = (\n provider: FacebookPixelProvider,\n params: ViewQRStoreCouponParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ViewQRStoreCoupon\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewQRStoreCoupon;\n","import googleViewQRStoreCoupon from \"../../../providers/GoogleAnalytics/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon\";\nimport segmentViewQRStoreCoupon from \"../../../providers/Segment/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon\";\nimport facebookViewQRStoreCoupon from \"../../../providers/FacebookPixel/events/coupon/viewQRStoreCoupon/viewQRStoreCoupon\";\nimport { ViewQRStoreCouponParams } from \"./viewQRStoreCoupon.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a viewQrStoreCoupon event to every configured provider.\n *\n * Log this event when users view the details of a store coupon that has a QR\n * code.\n *\n * @since 0.1.0\n * @property {ViewQrStoreCouponParams} params ViewQrStoreCoupon event parameters\n */\nconst logViewQRStoreCoupon = (params: ViewQRStoreCouponParams = {}) => {\n triageEventToProviders(\"viewQRStoreCoupon\", params, {\n googleAnalyticsHandler: googleViewQRStoreCoupon,\n facebookPixelHandler: facebookViewQRStoreCoupon,\n segmentHandler: segmentViewQRStoreCoupon\n });\n};\n\nexport default logViewQRStoreCoupon;\n","// events index\nimport logApplyBenefit from \"./applyBenefit/applyBenefit\";\nimport logCouponCodeError from \"./couponCodeError/couponCodeError\";\nimport logRedeemCouponCode from \"./redeemCouponCode/redeemCouponCode\";\nimport logRemoveBenefit from \"./removeBenefit/removeBenefit\";\nimport logViewBenefitDetails from \"./viewBenefitDetails/viewBenefitDetails\";\nimport logViewBenefitsWallet from \"./viewBenefitsWallet/viewBenefitsWallet\";\nimport logViewQRStoreCoupon from \"./viewQRStoreCoupon/viewQRStoreCoupon\";\n\nconst events = {\n logApplyBenefit,\n logCouponCodeError,\n logRedeemCouponCode,\n logRemoveBenefit,\n logViewBenefitDetails,\n logViewBenefitsWallet,\n logViewQRStoreCoupon\n};\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { AddCreditsParams } from \"./addCredits.types\";\n\n/**\n * Emits a addCredits event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {AddCreditsParams} params Event configuration parameters\n */\nconst addCredits = (\n provider: GoogleAnalyticsProvider,\n params: AddCreditsParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, currency, amount, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency,\n amount,\n value: amount\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"add_credits\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default addCredits;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { AddCreditsParams } from \"./addCredits.types\";\n\n/**\n * Emits a addCredits event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {AddCreditsParams} params Event configuration parameters\n */\nconst addCredits = (provider: SegmentProvider, params: AddCreditsParams) => {\n const { currency: providerCurrency } = provider;\n const { amount, currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency,\n amount,\n value: amount\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Add Credits\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default addCredits;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { AddCreditsParams } from \"./addCredits.types\";\n\n/**\n * Emits a addCredits event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {AddCreditsParams} params Event configuration parameters\n */\nconst addCredits = (\n provider: FacebookPixelProvider,\n params: AddCreditsParams\n) => {\n const { currency: providerCurrency } = provider;\n const { amount, currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n amount\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"AddCredits\", amount, {\n fb_currency: selectedCurrency,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default addCredits;\n","import googleAddCredits from \"../../../providers/GoogleAnalytics/events/credit/addCredits/addCredits\";\nimport segmentAddCredits from \"../../../providers/Segment/events/credit/addCredits/addCredits\";\nimport facebookAddCredits from \"../../../providers/FacebookPixel/events/credit/addCredits/addCredits\";\nimport { AddCreditsParams } from \"./addCredits.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a addCredits event to every configured provider.\n *\n * Log this event when users add credits to their accounts.\n *\n * @since 0.1.0\n * @property {AddCreditsParams} params AddCredits event parameters\n */\nconst logAddCredits = (params: AddCreditsParams) => {\n triageEventToProviders(\"addCredits\", params, {\n googleAnalyticsHandler: googleAddCredits,\n facebookPixelHandler: facebookAddCredits,\n segmentHandler: segmentAddCredits\n });\n};\n\nexport default logAddCredits;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SpendCreditsParams } from \"./spendCredits.types\";\n\n/**\n * Emits a spendCredits event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SpendCreditsParams} params Event configuration parameters\n */\nconst spendCredits = (\n provider: GoogleAnalyticsProvider,\n params: SpendCreditsParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, currency, amount, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency,\n amount,\n value: amount\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"spend_credits\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default spendCredits;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SpendCreditsParams } from \"./spendCredits.types\";\n\n/**\n * Emits a spendCredits event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SpendCreditsParams} params Event configuration parameters\n */\nconst spendCredits = (\n provider: SegmentProvider,\n params: SpendCreditsParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, amount, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency,\n amount,\n value: amount\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Spend Credits\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default spendCredits;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SpendCreditsParams } from \"./spendCredits.types\";\n\n/**\n * Emits a spendCredits event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SpendCreditsParams} params Event configuration parameters\n */\nconst spendCredits = (\n provider: FacebookPixelProvider,\n params: SpendCreditsParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, amount, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n amount\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"fb_mobile_spent_credits\", amount, {\n fb_currency: selectedCurrency,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default spendCredits;\n","import googleSpendCredits from \"../../../providers/GoogleAnalytics/events/credit/spendCredits/spendCredits\";\nimport segmentSpendCredits from \"../../../providers/Segment/events/credit/spendCredits/spendCredits\";\nimport facebookSpendCredits from \"../../../providers/FacebookPixel/events/credit/spendCredits/spendCredits\";\nimport { SpendCreditsParams } from \"./spendCredits.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a spendCredits event to every configured provider.\n *\n * Log this event when users spend their credits.\n *\n * @since 0.1.0\n * @property {SpendCreditsParams} params SpendCredits event parameters\n */\nconst logSpendCredits = (params: SpendCreditsParams) => {\n triageEventToProviders(\"spendCredits\", params, {\n googleAnalyticsHandler: googleSpendCredits,\n facebookPixelHandler: facebookSpendCredits,\n segmentHandler: segmentSpendCredits\n });\n};\n\nexport default logSpendCredits;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ViewCreditsParams } from \"./viewCredits.types\";\n\n/**\n * Emits a viewCredits event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ViewCreditsParams} params Event configuration parameters\n */\nconst viewCredits = (\n provider: GoogleAnalyticsProvider,\n params: ViewCreditsParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"view_credits\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewCredits;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ViewCreditsParams } from \"./viewCredits.types\";\n\n/**\n * Emits a viewCredits event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ViewCreditsParams} params Event configuration parameters\n */\nconst viewCredits = (provider: SegmentProvider, params: ViewCreditsParams) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = {\n ...rest\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"View Credits\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default viewCredits;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ViewCreditsParams } from \"./viewCredits.types\";\n\n/**\n * Emits a viewCredits event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ViewCreditsParams} params Event configuration parameters\n */\nconst viewCredits = (\n provider: FacebookPixelProvider,\n params: ViewCreditsParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = {\n ...rest\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ViewCredits\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewCredits;\n","import googleViewCredits from \"../../../providers/GoogleAnalytics/events/credit/viewCredits/viewCredits\";\nimport segmentViewCredits from \"../../../providers/Segment/events/credit/viewCredits/viewCredits\";\nimport facebookViewCredits from \"../../../providers/FacebookPixel/events/credit/viewCredits/viewCredits\";\nimport { ViewCreditsParams } from \"./viewCredits.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a viewCredits event to every configured provider.\n *\n * Log this event when users see how much credits they have.\n *\n * @since 0.1.0\n * @property {ViewCreditsParams} params ViewCredits event parameters\n */\nconst logViewCredits = (params: ViewCreditsParams) => {\n triageEventToProviders(\"viewCredits\", params, {\n googleAnalyticsHandler: googleViewCredits,\n facebookPixelHandler: facebookViewCredits,\n segmentHandler: segmentViewCredits\n });\n};\n\nexport default logViewCredits;\n","// events index\nimport logAddCredits from \"./addCredits/addCredits\";\nimport logSpendCredits from \"./spendCredits/spendCredits\";\nimport logViewCredits from \"./viewCredits/viewCredits\";\n\nconst events = { logAddCredits, logSpendCredits, logViewCredits };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../GoogleAnalytics.types\";\nimport { CustomEventParams } from \"./customEvent.types\";\n\n/**\n * Emits a customEvent event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {CustomEventParams} params Event configuration parameters\n */\nconst customEvent = (\n eventName: string,\n provider: GoogleAnalyticsProvider,\n params: CustomEventParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(eventName, {\n ...transformedParams,\n artisn_event: \"custom_event\",\n ...transformedMeta\n });\n};\n\nexport default customEvent;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../FacebookPixel.types\";\nimport { CustomEventParams } from \"./customEvent.types\";\n\n/**\n * Emits a customEvent event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {CustomEventParams} params Event configuration parameters\n */\nconst customEvent = (\n eventName: string,\n provider: FacebookPixelProvider,\n params: CustomEventParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(eventName, {\n ...transformedParams,\n artisn_event: \"CustomEvent\",\n ...transformedMeta\n });\n};\n\nexport default customEvent;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../Segment.types\";\nimport { CustomEventParams } from \"./customEvent.types\";\n\n/**\n * Emits a customEvent event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {CustomEventParams} params Event configuration parameters\n */\nconst customEvent = (\n eventName: string,\n provider: SegmentProvider,\n params: CustomEventParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(eventName, {\n ...transformedParams,\n artisn_event: \"Custom Event\",\n ...(transformedMeta as any)\n });\n};\n\nexport default customEvent;\n","import googleCustomEvent from \"../../providers/GoogleAnalytics/events/customEvent/customEvent\";\nimport facebookCustomEvent from \"../../providers/FacebookPixel/events/customEvent/customEvent\";\nimport segmentCustomEvent from \"../../providers/Segment/events/customEvent/customEvent\";\nimport { CustomEventParams } from \"./customEvent.types\";\nimport { triageEventToProviders } from \"../../../utils/events.utils\";\n\n/**\n * Emits a customEvent event to every configured provider.\n *\n * Log this event when\n *\n * @since 0.1.0\n * @param {string} eventName The name of the custom event\n * @param {CustomEventParams} params CustomEvent event parameters\n */\nconst logCustomEvent = (eventName: string, params: CustomEventParams = {}) => {\n triageEventToProviders(eventName, params, {\n googleAnalyticsHandler: (provider, params) =>\n googleCustomEvent(eventName, provider, params),\n facebookPixelHandler: (provider, params) =>\n facebookCustomEvent(eventName, provider, params),\n segmentHandler: (provider, params) =>\n segmentCustomEvent(eventName, provider, params)\n });\n};\n\nexport default logCustomEvent;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ViewFulfillmentStepParams } from \"./viewFulfillmentStep.types\";\n\n/**\n * Emits a viewFulfillmentStep event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ViewFulfillmentStepParams} params Event configuration parameters\n */\nconst viewFulfillmentStep = (\n provider: GoogleAnalyticsProvider,\n params: ViewFulfillmentStepParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"view_fulfillment_step\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewFulfillmentStep;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ViewFulfillmentStepParams } from \"./viewFulfillmentStep.types\";\n\n/**\n * Emits a viewFulfillmentStep.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ViewFulfillmentStepParams} params Event configuration parameters\n */\nconst viewFulfillmentStep = (\n provider: SegmentProvider,\n params: ViewFulfillmentStepParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"View Fulfillment Step\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default viewFulfillmentStep;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ViewFulfillmentStepParams } from \"./viewFulfillmentStep.types\";\n\n/**\n * Emits a viewFulfillmentStep.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ViewFulfillmentStepParams} params Event configuration parameters\n */\nconst viewFulfillmentStep = (\n provider: FacebookPixelProvider,\n params: ViewFulfillmentStepParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ViewFulfillmentStep\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewFulfillmentStep;\n","import googleViewFulfillmentStep from \"../../../providers/GoogleAnalytics/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep\";\nimport segmentViewFulfillmentStep from \"../../../providers/Segment/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep\";\nimport facebookViewFulfillmentStep from \"../../../providers/FacebookPixel/events/fulfillment/viewFulfillmentStep/viewFulfillmentStep\";\nimport { ViewFulfillmentStepParams } from \"./viewFulfillmentStep.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a viewFulfillmentStep event to every configured provider.\n *\n * Log this event when users see what step the order is in.\n *\n * @since 0.1.0\n * @property {ViewFulfillmentStepParams} params ViewFulfillmentStep event parameters\n */\nconst logViewFulfillmentStep = (params: ViewFulfillmentStepParams) => {\n triageEventToProviders(\"viewFulfillmentStep\", params, {\n googleAnalyticsHandler: googleViewFulfillmentStep,\n facebookPixelHandler: facebookViewFulfillmentStep,\n segmentHandler: segmentViewFulfillmentStep\n });\n};\n\nexport default logViewFulfillmentStep;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ViewTrackingParams } from \"./viewTracking.types\";\n\n/**\n * Emits a viewTracking event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ViewTrackingParams} params Event configuration parameters\n */\nconst viewTracking = (\n provider: GoogleAnalyticsProvider,\n params: ViewTrackingParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"view_tracking\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewTracking;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ViewTrackingParams } from \"./viewTracking.types\";\n\n/**\n * Emits a viewTracking event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ViewTrackingParams} params Event configuration parameters\n */\nconst viewTracking = (\n provider: SegmentProvider,\n params: ViewTrackingParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"View Tracking\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default viewTracking;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ViewTrackingParams } from \"./viewTracking.types\";\n\n/**\n * Emits a viewTracking event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ViewTrackingParams} params Event configuration parameters\n */\nconst viewTracking = (\n provider: FacebookPixelProvider,\n params: ViewTrackingParams\n) => {\n const { orderId, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ViewTracking\", {\n fb_content_id: orderId,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewTracking;\n","import googleViewTracking from \"../../../providers/GoogleAnalytics/events/fulfillment/viewTracking/viewTracking\";\nimport segmentViewTracking from \"../../../providers/Segment/events/fulfillment/viewTracking/viewTracking\";\nimport facebookViewTracking from \"../../../providers/FacebookPixel/events/fulfillment/viewTracking/viewTracking\";\nimport { ViewTrackingParams } from \"./viewTracking.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a viewTracking event to every configured provider.\n *\n * Log this event when users see where the delivery man is on the map.\n *\n * @since 0.1.0\n * @property {ViewTrackingParams} params ViewTracking event parameters\n */\nconst logViewTracking = (params: ViewTrackingParams) => {\n triageEventToProviders(\"viewTracking\", params, {\n googleAnalyticsHandler: googleViewTracking,\n facebookPixelHandler: facebookViewTracking,\n segmentHandler: segmentViewTracking\n });\n};\n\nexport default logViewTracking;\n","// events index\nimport logViewFulfillmentStep from \"./viewFulfillmentStep/viewFulfillmentStep\";\nimport logViewTracking from \"./viewTracking/viewTracking\";\n\nconst events = { logViewFulfillmentStep, logViewTracking };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ChangeLocationParams } from \"./changeLocation.types\";\n\n/**\n * Emits a changeLocation event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ChangeLocationParams} params Event configuration parameters\n */\nconst changeLocation = (\n provider: GoogleAnalyticsProvider,\n params: ChangeLocationParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"change_location\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default changeLocation;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ChangeLocationParams } from \"./changeLocation.types\";\n\n/**\n * Emits a changeLocation event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ChangeLocationParams} params Event configuration parameters\n */\nconst changeLocation = (\n provider: SegmentProvider,\n params: ChangeLocationParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Change Location\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default changeLocation;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ChangeLocationParams } from \"./changeLocation.types\";\n\n/**\n * Emits a changeLocation event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ChangeLocationParams} params Event configuration parameters\n */\nconst changeLocation = (\n provider: FacebookPixelProvider,\n params: ChangeLocationParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ChangeLocation\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default changeLocation;\n","import googleChangeLocation from \"../../../providers/GoogleAnalytics/events/geo/changeLocation/changeLocation\";\nimport segmentChangeLocation from \"../../../providers/Segment/events/geo/changeLocation/changeLocation\";\nimport facebookChangeLocation from \"../../../providers/FacebookPixel/events/geo/changeLocation/changeLocation\";\nimport { ChangeLocationParams } from \"./changeLocation.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a changeLocation event to every configured provider.\n *\n * Log this event when users change their location.\n *\n * @since 0.1.0\n * @property {ChangeLocationParams} params ChangeLocation event parameters\n */\nconst logChangeLocation = (params: ChangeLocationParams = {}) => {\n triageEventToProviders(\"changeLocation\", params, {\n googleAnalyticsHandler: googleChangeLocation,\n facebookPixelHandler: facebookChangeLocation,\n segmentHandler: segmentChangeLocation\n });\n};\n\nexport default logChangeLocation;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { FindLocationParams } from \"./findLocation.types\";\n\n/**\n * Emits a findLocation event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {FindLocationParams} params Event configuration parameters\n */\nconst findLocation = (\n provider: GoogleAnalyticsProvider,\n params: FindLocationParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"find_location\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default findLocation;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { FindLocationParams } from \"./findLocation.types\";\n\n/**\n * Emits a findLocation event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {FindLocationParams} params Event configuration parameters\n */\nconst findLocation = (\n provider: SegmentProvider,\n params: FindLocationParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Find Location\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default findLocation;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { FindLocationParams } from \"./findLocation.types\";\n\n/**\n * Emits a findLocation event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {FindLocationParams} params Event configuration parameters\n */\nconst findLocation = (\n provider: FacebookPixelProvider,\n params: FindLocationParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"FindLocation\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default findLocation;\n","import googleFindLocation from \"../../../providers/GoogleAnalytics/events/geo/findLocation/findLocation\";\nimport segmentFindLocation from \"../../../providers/Segment/events/geo/findLocation/findLocation\";\nimport facebookFindLocation from \"../../../providers/FacebookPixel/events/geo/findLocation/findLocation\";\nimport { FindLocationParams } from \"./findLocation.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a findLocation event to every configured provider.\n *\n * Log this event after users have searched for a location.\n *\n * @since 0.1.0\n * @property {FindLocationParams} params FindLocation event parameters\n */\nconst logFindLocation = (params: FindLocationParams = {}) => {\n triageEventToProviders(\"findLocation\", params, {\n googleAnalyticsHandler: googleFindLocation,\n facebookPixelHandler: facebookFindLocation,\n segmentHandler: segmentFindLocation\n });\n};\n\nexport default logFindLocation;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { OutOfCoverageParams } from \"./outOfCoverage.types\";\n\n/**\n * Emits a outOfCoverage event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {OutOfCoverageParams} params Event configuration parameters\n */\nconst outOfCoverage = (\n provider: GoogleAnalyticsProvider,\n params: OutOfCoverageParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"out_of_coverage\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default outOfCoverage;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { OutOfCoverageParams } from \"./outOfCoverage.types\";\n\n/**\n * Emits a outOfCoverage event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {OutOfCoverageParams} params Event configuration parameters\n */\nconst outOfCoverage = (\n provider: SegmentProvider,\n params: OutOfCoverageParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Out Of Coverage\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default outOfCoverage;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { OutOfCoverageParams } from \"./outOfCoverage.types\";\n\n/**\n * Emits a outOfCoverage event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {OutOfCoverageParams} params Event configuration parameters\n */\nconst outOfCoverage = (\n provider: FacebookPixelProvider,\n params: OutOfCoverageParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"OutOfCoverage\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default outOfCoverage;\n","import googleOutOfCoverage from \"../../../providers/GoogleAnalytics/events/geo/outOfCoverage/outOfCoverage\";\nimport segmentOutOfCoverage from \"../../../providers/Segment/events/geo/outOfCoverage/outOfCoverage\";\nimport facebookOutOfCoverage from \"../../../providers/FacebookPixel/events/geo/outOfCoverage/outOfCoverage\";\nimport { OutOfCoverageParams } from \"./outOfCoverage.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a outOfCoverage event to every configured provider.\n *\n * Log this event when users are in a location out of coverage.\n *\n * @since 0.1.0\n * @property {OutOfCoverageParams} params OutOfCoverage event parameters\n */\nconst logOutOfCoverage = (params: OutOfCoverageParams = {}) => {\n triageEventToProviders(\"outOfCoverage\", params, {\n googleAnalyticsHandler: googleOutOfCoverage,\n facebookPixelHandler: facebookOutOfCoverage,\n segmentHandler: segmentOutOfCoverage\n });\n};\n\nexport default logOutOfCoverage;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SetLocationParams } from \"./setLocation.types\";\n\n/**\n * Emits a setLocation event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SetLocationParams} params Event configuration parameters\n */\nconst setLocation = (\n provider: GoogleAnalyticsProvider,\n params: SetLocationParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"set_location\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default setLocation;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SetLocationParams } from \"./setLocation.types\";\n\n/**\n * Emits a setLocation event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SetLocationParams} params Event configuration parameters\n */\nconst setLocation = (provider: SegmentProvider, params: SetLocationParams) => {\n const { lat, lng, ...rest } = params;\n delete rest.userId;\n const location = lat && lng ? `${lat}, ${lng}` : \"Not available\";\n const enhancedParams = { ...rest, location };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Set Location\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default setLocation;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SetLocationParams } from \"./setLocation.types\";\n\n/**\n * Emits a setLocation event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SetLocationParams} params Event configuration parameters\n */\nconst setLocation = (\n provider: FacebookPixelProvider,\n params: SetLocationParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SetLocation\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default setLocation;\n","import googleSetLocation from \"../../../providers/GoogleAnalytics/events/geo/setLocation/setLocation\";\nimport segmentSetLocation from \"../../../providers/Segment/events/geo/setLocation/setLocation\";\nimport facebookSetLocation from \"../../../providers/FacebookPixel/events/geo/setLocation/setLocation\";\nimport { SetLocationParams } from \"./setLocation.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a setLocation event to every configured provider.\n *\n * Log this event when users set their location.\n *\n * @since 0.1.0\n * @property {SetLocationParams} params SetLocation event parameters\n */\nconst logSetLocation = (params: SetLocationParams = {}) => {\n triageEventToProviders(\"setLocation\", params, {\n googleAnalyticsHandler: googleSetLocation,\n facebookPixelHandler: facebookSetLocation,\n segmentHandler: segmentSetLocation\n });\n};\n\nexport default logSetLocation;\n","// events index\nimport logChangeLocation from \"./changeLocation/changeLocation\";\nimport logFindLocation from \"./findLocation/findLocation\";\nimport logOutOfCoverage from \"./outOfCoverage/outOfCoverage\";\nimport logSetLocation from \"./setLocation/setLocation\";\n\nconst events = {\n logChangeLocation,\n logFindLocation,\n logOutOfCoverage,\n logSetLocation\n};\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { RequestAssistanceParams } from \"./requestAssistance.types\";\n\n/**\n * Emits a requestAssistance event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {RequestAssistanceParams} params Event configuration parameters\n */\nconst requestAssistance = (\n provider: GoogleAnalyticsProvider,\n params: RequestAssistanceParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"request_assistance\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default requestAssistance;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { RequestAssistanceParams } from \"./requestAssistance.types\";\n\n/**\n * Emits a requestAssistance event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {RequestAssistanceParams} params Event configuration parameters\n */\nconst requestAssistance = (\n provider: SegmentProvider,\n params: RequestAssistanceParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Request Assistance\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default requestAssistance;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { RequestAssistanceParams } from \"./requestAssistance.types\";\n\n/**\n * Emits a requestAssistance event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {RequestAssistanceParams} params Event configuration parameters\n */\nconst requestAssistance = (\n provider: FacebookPixelProvider,\n params: RequestAssistanceParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"Contact\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default requestAssistance;\n","import googleRequestAssistance from \"../../../providers/GoogleAnalytics/events/help/requestAssistance/requestAssistance\";\nimport segmentRequestAssistance from \"../../../providers/Segment/events/help/requestAssistance/requestAssistance\";\nimport facebookRequestAssistance from \"../../../providers/FacebookPixel/events/help/requestAssistance/requestAssistance\";\nimport { RequestAssistanceParams } from \"./requestAssistance.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a requestAssistance event to every configured provider.\n *\n * Log this event when users try to contact the business by phone/SMS, email,\n * chat, or other means.\n *\n * @since 0.1.0\n * @property {RequestAssistanceParams} params RequestAssistance event parameters\n */\nconst logRequestAssistance = (params: RequestAssistanceParams) => {\n triageEventToProviders(\"requestAssistance\", params, {\n googleAnalyticsHandler: googleRequestAssistance,\n facebookPixelHandler: facebookRequestAssistance,\n segmentHandler: segmentRequestAssistance\n });\n};\n\nexport default logRequestAssistance;\n","// events index\nimport logRequestAssistance from \"./requestAssistance/requestAssistance\";\n\nconst events = { logRequestAssistance };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { EarnPointsParams } from \"./earnPoints.types\";\n\n/**\n * Emits a earnPoints event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {EarnPointsParams} params Event configuration parameters\n */\nconst earnPoints = (\n provider: GoogleAnalyticsProvider,\n params: EarnPointsParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, currencyName, amount, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"earn_virtual_currency\", {\n virtual_currency_name: currencyName,\n value: amount,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default earnPoints;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { EarnPointsParams } from \"./earnPoints.types\";\n\n/**\n * Emits a earnPoints event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {EarnPointsParams} params Event configuration parameters\n */\nconst earnPoints = (provider: SegmentProvider, params: EarnPointsParams) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Earn Points\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default earnPoints;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { EarnPointsParams } from \"./earnPoints.types\";\n\n/**\n * Emits a earnPoints event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {EarnPointsParams} params Event configuration parameters\n */\nconst earnPoints = (\n provider: FacebookPixelProvider,\n params: EarnPointsParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"EarnPoints\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default earnPoints;\n","import googleEarnPoints from \"../../../providers/GoogleAnalytics/events/loyalty/earnPoints/earnPoints\";\nimport segmentEarnPoints from \"../../../providers/Segment/events/loyalty/earnPoints/earnPoints\";\nimport facebookEarnPoints from \"../../../providers/FacebookPixel/events/loyalty/earnPoints/earnPoints\";\nimport { EarnPointsParams } from \"./earnPoints.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a earnPoints event to every configured provider.\n *\n * Log this event when users earn points.\n *\n * @since 0.1.0\n * @property {EarnPointsParams} params EarnPoints event parameters\n */\nconst logEarnPoints = (params: EarnPointsParams) => {\n triageEventToProviders(\"earnPoints\", params, {\n googleAnalyticsHandler: googleEarnPoints,\n facebookPixelHandler: facebookEarnPoints,\n segmentHandler: segmentEarnPoints\n });\n};\n\nexport default logEarnPoints;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SharePointsParams } from \"./sharePoints.types\";\n\n/**\n * Emits a sharePoints event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SharePointsParams} params Event configuration parameters\n */\nconst sharePoints = (\n provider: GoogleAnalyticsProvider,\n params: SharePointsParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"share_points\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default sharePoints;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SharePointsParams } from \"./sharePoints.types\";\n\n/**\n * Emits a sharePoints event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SharePointsParams} params Event configuration parameters\n */\nconst sharePoints = (provider: SegmentProvider, params: SharePointsParams) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Share Points\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default sharePoints;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SharePointsParams } from \"./sharePoints.types\";\n\n/**\n * Emits a sharePoints event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SharePointsParams} params Event configuration parameters\n */\nconst sharePoints = (\n provider: FacebookPixelProvider,\n params: SharePointsParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SharePoints\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default sharePoints;\n","import googleSharePoints from \"../../../providers/GoogleAnalytics/events/loyalty/sharePoints/sharePoints\";\nimport segmentSharePoints from \"../../../providers/Segment/events/loyalty/sharePoints/sharePoints\";\nimport facebookSharePoints from \"../../../providers/FacebookPixel/events/loyalty/sharePoints/sharePoints\";\nimport { SharePointsParams } from \"./sharePoints.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a sharePoints event to every configured provider.\n *\n * Log this event when users share their points.\n *\n * @since 0.1.0\n * @property {SharePointsParams} params SharePoints event parameters\n */\nconst logSharePoints = (params: SharePointsParams) => {\n triageEventToProviders(\"sharePoints\", params, {\n googleAnalyticsHandler: googleSharePoints,\n facebookPixelHandler: facebookSharePoints,\n segmentHandler: segmentSharePoints\n });\n};\n\nexport default logSharePoints;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SpendPointsParams } from \"./spendPoints.types\";\n\n/**\n * Emits a spendPoints event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SpendPointsParams} params Event configuration parameters\n */\nconst spendPoints = (\n provider: GoogleAnalyticsProvider,\n params: SpendPointsParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, currencyName, amount, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"spend_virtual_currency\", {\n virtual_currency_name: currencyName,\n value: amount,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default spendPoints;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SpendPointsParams } from \"./spendPoints.types\";\n\n/**\n * Emits a spendPoints event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SpendPointsParams} params Event configuration parameters\n */\nconst spendPoints = (provider: SegmentProvider, params: SpendPointsParams) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Spend Points\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default spendPoints;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SpendPointsParams } from \"./spendPoints.types\";\n\n/**\n * Emits a spendPoints event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SpendPointsParams} params Event configuration parameters\n */\nconst spendPoints = (\n provider: FacebookPixelProvider,\n params: SpendPointsParams\n) => {\n const { amount, contentType, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SpendPoints\", amount, {\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default spendPoints;\n","import googleSpendPoints from \"../../../providers/GoogleAnalytics/events/loyalty/spendPoints/spendPoints\";\nimport segmentSpendPoints from \"../../../providers/Segment/events/loyalty/spendPoints/spendPoints\";\nimport facebookSpendPoints from \"../../../providers/FacebookPixel/events/loyalty/spendPoints/spendPoints\";\nimport { SpendPointsParams } from \"./spendPoints.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a spendPoints event to every configured provider.\n *\n * Log this event when users spend their points.\n *\n * @since 0.1.0\n * @property {SpendPointsParams} params SpendPoints event parameters\n */\nconst logSpendPoints = (params: SpendPointsParams) => {\n triageEventToProviders(\"spendPoints\", params, {\n googleAnalyticsHandler: googleSpendPoints,\n facebookPixelHandler: facebookSpendPoints,\n segmentHandler: segmentSpendPoints\n });\n};\n\nexport default logSpendPoints;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ViewLoyaltyLevelParams } from \"./viewLoyaltyLevel.types\";\n\n/**\n * Emits a viewLoyaltyLevel event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ViewLoyaltyLevelParams} params Event configuration parameters\n */\nconst viewLoyaltyLevel = (\n provider: GoogleAnalyticsProvider,\n params: ViewLoyaltyLevelParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"view_loyalty_level\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewLoyaltyLevel;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ViewLoyaltyLevelParams } from \"./viewLoyaltyLevel.types\";\n\n/**\n * Emits a viewLoyaltyLevel event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ViewLoyaltyLevelParams} params Event configuration parameters\n */\nconst viewLoyaltyLevel = (\n provider: SegmentProvider,\n params: ViewLoyaltyLevelParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"View Loyalty Level\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default viewLoyaltyLevel;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ViewLoyaltyLevelParams } from \"./viewLoyaltyLevel.types\";\n\n/**\n * Emits a viewLoyaltyLevel event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ViewLoyaltyLevelParams} params Event configuration parameters\n */\nconst viewLoyaltyLevel = (\n provider: FacebookPixelProvider,\n params: ViewLoyaltyLevelParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ViewLoyaltyLevel\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewLoyaltyLevel;\n","import googleViewLoyaltyLevel from \"../../../providers/GoogleAnalytics/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel\";\nimport segmentViewLoyaltyLevel from \"../../../providers/Segment/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel\";\nimport facebookViewLoyaltyLevel from \"../../../providers/FacebookPixel/events/loyalty/viewLoyaltyLevel/viewLoyaltyLevel\";\nimport { ViewLoyaltyLevelParams } from \"./viewLoyaltyLevel.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a viewLoyaltyLevel event to every configured provider.\n *\n * Log this event when users view a loyalty level.\n *\n * @since 0.1.0\n * @property {ViewLoyaltyLevelParams} params ViewLoyaltyLevel event parameters\n */\nconst logViewLoyaltyLevel = (params: ViewLoyaltyLevelParams) => {\n triageEventToProviders(\"viewLoyaltyLevel\", params, {\n googleAnalyticsHandler: googleViewLoyaltyLevel,\n facebookPixelHandler: facebookViewLoyaltyLevel,\n segmentHandler: segmentViewLoyaltyLevel\n });\n};\n\nexport default logViewLoyaltyLevel;\n","// events index\nimport logEarnPoints from \"./earnPoints/earnPoints\";\nimport logSharePoints from \"./sharePoints/sharePoints\";\nimport logSpendPoints from \"./spendPoints/spendPoints\";\nimport logViewLoyaltyLevel from \"./viewLoyaltyLevel/viewLoyaltyLevel\";\n\nconst events = {\n logEarnPoints,\n logSharePoints,\n logSpendPoints,\n logViewLoyaltyLevel\n};\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { CancelOrderParams } from \"./cancelOrder.types\";\n\n/**\n * Emits a cancelOrder event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {CancelOrderParams} params Event configuration parameters\n */\nconst cancelOrder = (\n provider: GoogleAnalyticsProvider,\n params: CancelOrderParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n delete rest.products;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"cancel_order\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default cancelOrder;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { mapProductsToSegmentProducts } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { CancelOrderParams } from \"./cancelOrder.types\";\n\n/**\n * Emits a cancelOrder event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {CancelOrderParams} params Event configuration parameters\n */\nconst cancelOrder = (provider: SegmentProvider, params: CancelOrderParams) => {\n const { currency: providerCurrency } = provider;\n const { currency, orderTotal, products, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n revenue: orderTotal,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Order Cancelled\", {\n products: mapProductsToSegmentProducts(products),\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default cancelOrder;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { CancelOrderParams } from \"./cancelOrder.types\";\n\n/**\n * Emits a cancelOrder event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {CancelOrderParams} params Event configuration parameters\n */\nconst cancelOrder = (\n provider: FacebookPixelProvider,\n params: CancelOrderParams\n) => {\n const { orderId, ...rest } = params;\n delete rest.userId;\n delete rest.products;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"CancelOrder\", {\n fb_content_id: orderId,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default cancelOrder;\n","import googleCancelOrder from \"../../../providers/GoogleAnalytics/events/order/cancelOrder/cancelOrder\";\nimport segmentCancelOrder from \"../../../providers/Segment/events/order/cancelOrder/cancelOrder\";\nimport facebookCancelOrder from \"../../../providers/FacebookPixel/events/order/cancelOrder/cancelOrder\";\nimport { CancelOrderParams } from \"./cancelOrder.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a cancelOrder event to every configured provider.\n *\n * Log this event when users cancel an order.\n *\n * @since 0.1.0\n * @property {CancelOrderParams} params CancelOrder event parameters\n */\nconst logCancelOrder = (params: CancelOrderParams) => {\n triageEventToProviders(\"cancelOrder\", params, {\n googleAnalyticsHandler: googleCancelOrder,\n facebookPixelHandler: facebookCancelOrder,\n segmentHandler: segmentCancelOrder\n });\n};\n\nexport default logCancelOrder;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { RateOrderParams } from \"./rateOrder.types\";\n\n/**\n * Emits a rateOrder event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {RateOrderParams} params Event configuration parameters\n */\nconst rateOrder = (\n provider: GoogleAnalyticsProvider,\n params: RateOrderParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"rate_order\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default rateOrder;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { RateOrderParams } from \"./rateOrder.types\";\n\n/**\n * Emits a rateOrder event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {RateOrderParams} params Event configuration parameters\n */\nconst rateOrder = (provider: SegmentProvider, params: RateOrderParams) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Rate Order\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default rateOrder;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { RateOrderParams } from \"./rateOrder.types\";\n\n/**\n * Emits a rateOrder event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {RateOrderParams} params Event configuration parameters\n */\nconst rateOrder = (\n provider: FacebookPixelProvider,\n params: RateOrderParams\n) => {\n const { maxScore, score, orderId, contentType, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest, maxScore, score };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"fb_mobile_rate\", score, {\n fb_content_id: orderId,\n fb_max_rating_value: maxScore,\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default rateOrder;\n","import googleRateOrder from \"../../../providers/GoogleAnalytics/events/order/rateOrder/rateOrder\";\nimport segmentRateOrder from \"../../../providers/Segment/events/order/rateOrder/rateOrder\";\nimport facebookRateOrder from \"../../../providers/FacebookPixel/events/order/rateOrder/rateOrder\";\nimport { RateOrderParams } from \"./rateOrder.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a rateOrder event to every configured provider.\n *\n * Log this event when users rate an order.\n *\n * @since 0.1.0\n * @property {RateOrderParams} params RateOrder event parameters\n */\nconst logRateOrder = (params: RateOrderParams) => {\n triageEventToProviders(\"rateOrder\", params, {\n googleAnalyticsHandler: googleRateOrder,\n facebookPixelHandler: facebookRateOrder,\n segmentHandler: segmentRateOrder\n });\n};\n\nexport default logRateOrder;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { RequestRefundParams } from \"./requestRefund.types\";\n\n/**\n * Emits a requestRefund event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {RequestRefundParams} params Event configuration parameters\n */\nconst requestRefund = (\n provider: GoogleAnalyticsProvider,\n params: RequestRefundParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, currency, orderId, orderTotal, ...rest } = params;\n delete rest.products;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"refund\", {\n transaction_id: orderId,\n value: orderTotal,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default requestRefund;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { mapProductsToSegmentProducts } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { RequestRefundParams } from \"./requestRefund.types\";\n\n/**\n * Emits a requestRefund event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {RequestRefundParams} params Event configuration parameters\n */\nconst requestRefund = (\n provider: SegmentProvider,\n params: RequestRefundParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, orderTotal, products, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n revenue: orderTotal,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Order Refunded\", {\n products: mapProductsToSegmentProducts(products),\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default requestRefund;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { RequestRefundParams } from \"./requestRefund.types\";\n\n/**\n * Emits a requestRefund event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {RequestRefundParams} params Event configuration parameters\n */\nconst requestRefund = (\n provider: FacebookPixelProvider,\n params: RequestRefundParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, orderTotal, orderId, ...rest } = params;\n delete rest.userId;\n delete rest.products;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"RequestRefund\", orderTotal, {\n fb_content_id: orderId,\n fb_currency: selectedCurrency,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default requestRefund;\n","import googleRequestRefund from \"../../../providers/GoogleAnalytics/events/order/requestRefund/requestRefund\";\nimport segmentRequestRefund from \"../../../providers/Segment/events/order/requestRefund/requestRefund\";\nimport facebookRequestRefund from \"../../../providers/FacebookPixel/events/order/requestRefund/requestRefund\";\nimport { RequestRefundParams } from \"./requestRefund.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a requestRefund event to every configured provider.\n *\n * Log this event when users request a refund of the order.\n *\n * @since 0.1.0\n * @property {RequestRefundParams} params RequestRefund event parameters\n */\nconst logRequestRefund = (params: RequestRefundParams) => {\n triageEventToProviders(\"requestRefund\", params, {\n googleAnalyticsHandler: googleRequestRefund,\n facebookPixelHandler: facebookRequestRefund,\n segmentHandler: segmentRequestRefund\n });\n};\n\nexport default logRequestRefund;\n","// events index\nimport logCancelOrder from \"./cancelOrder/cancelOrder\";\nimport logRateOrder from \"./rateOrder/rateOrder\";\nimport logRequestRefund from \"./requestRefund/requestRefund\";\n\nconst events = { logCancelOrder, logRateOrder, logRequestRefund };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { GenerateLeadParams } from \"./generateLead.types\";\n\n/**\n * Emits a generateLead event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {GenerateLeadParams} params Event configuration parameters\n */\nconst generateLead = (\n provider: GoogleAnalyticsProvider,\n params: GenerateLeadParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"generate_lead\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default generateLead;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { GenerateLeadParams } from \"./generateLead.types\";\n\n/**\n * Emits a generateLead event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {GenerateLeadParams} params Event configuration parameters\n */\nconst generateLead = (\n provider: SegmentProvider,\n params: GenerateLeadParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Generate Lead\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default generateLead;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { GenerateLeadParams } from \"./generateLead.types\";\n\n/**\n * Emits a generateLead event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {GenerateLeadParams} params Event configuration parameters\n */\nconst generateLead = (\n provider: FacebookPixelProvider,\n params: GenerateLeadParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"Lead\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default generateLead;\n","import googleGenerateLead from \"../../../providers/GoogleAnalytics/events/other/generateLead/generateLead\";\nimport segmentGenerateLead from \"../../../providers/Segment/events/other/generateLead/generateLead\";\nimport facebookGenerateLead from \"../../../providers/FacebookPixel/events/other/generateLead/generateLead\";\nimport { GenerateLeadParams } from \"./generateLead.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a generateLead event to every configured provider.\n *\n * Log this event when users take an action that tells you they can be a lead.\n *\n * @since 0.1.0\n * @property {GenerateLeadParams} params GenerateLead event parameters\n */\nconst logGenerateLead = (params: GenerateLeadParams = {}) => {\n triageEventToProviders(\"generateLead\", params, {\n googleAnalyticsHandler: googleGenerateLead,\n facebookPixelHandler: facebookGenerateLead,\n segmentHandler: segmentGenerateLead\n });\n};\n\nexport default logGenerateLead;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ScreenViewParams } from \"./screenView.types\";\n\n/**\n * Emits a screenView event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ScreenViewParams} params Event configuration parameters\n */\nconst screenView = (\n provider: FacebookPixelProvider,\n params: ScreenViewParams = {}\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ScreenView\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default screenView;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ScreenViewParams } from \"./screenView.types\";\n\n/**\n * Emits a screenView event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ScreenViewParams} params Event configuration parameters\n */\nconst screenView = (\n provider: GoogleAnalyticsProvider,\n params: ScreenViewParams = {}\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"screen_view\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default screenView;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ScreenViewParams } from \"./screenView.types\";\n\n/**\n * Emits a screenView event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ScreenViewParams} params Event configuration parameters\n */\nconst screenView = (provider: SegmentProvider, params: ScreenViewParams) => {\n const { screenName, ...rest } = params;\n const transformedParams = eventParamsToSnakeCase(rest);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.screen(screenName, {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default screenView;\n","import facebookScreenView from \"../../../providers/FacebookPixel/events/other/screenView/screenView\";\nimport googleScreenView from \"../../../providers/GoogleAnalytics/events/other/screenView/screenView\";\nimport segmentScreenView from \"../../../providers/Segment/events/other/screenView/screenView\";\nimport { ScreenViewParams } from \"./screenView.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a screenView event to every configured provider.\n *\n * Log this event when for each visited screen.\n *\n * @since 0.1.0\n * @param {ScreenViewParams} params ScreenView event parameters\n */\nconst logScreenView = (params: ScreenViewParams) => {\n triageEventToProviders(\"screenView\", params, {\n googleAnalyticsHandler: googleScreenView,\n facebookPixelHandler: facebookScreenView,\n segmentHandler: segmentScreenView\n });\n};\n\nexport default logScreenView;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SearchPageContentParams } from \"./searchPageContent.types\";\n\n/**\n * Emits a searchPageContent event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SearchPageContentParams} params Event configuration parameters\n */\nconst searchPageContent = (\n provider: GoogleAnalyticsProvider,\n params: SearchPageContentParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, query, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"search\", {\n search_term: query,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default searchPageContent;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SearchPageContentParams } from \"./searchPageContent.types\";\n\n/**\n * Emits a searchPageContent event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SearchPageContentParams} params Event configuration parameters\n */\nconst searchPageContent = (\n provider: SegmentProvider,\n params: SearchPageContentParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Search Page Content\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default searchPageContent;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SearchPageContentParams } from \"./searchPageContent.types\";\n\n/**\n * Emits a searchPageContent event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SearchPageContentParams} params Event configuration parameters\n */\nconst searchPageContent = (\n provider: FacebookPixelProvider,\n params: SearchPageContentParams\n) => {\n const { query, contentType, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"fb_mobile_search\", {\n fb_search_string: query,\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default searchPageContent;\n","import googleSearchPageContent from \"../../../providers/GoogleAnalytics/events/other/searchPageContent/searchPageContent\";\nimport segmentSearchPageContent from \"../../../providers/Segment/events/other/searchPageContent/searchPageContent\";\nimport facebookSearchPageContent from \"../../../providers/FacebookPixel/events/other/searchPageContent/searchPageContent\";\nimport { SearchPageContentParams } from \"./searchPageContent.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a searchPageContent event to every configured provider.\n *\n * Log this event when users search for any content in the application.\n *\n * @since 0.1.0\n * @property {SearchPageContentParams} params SearchPageContent event parameters\n */\nconst logSearchPageContent = (params: SearchPageContentParams) => {\n triageEventToProviders(\"searchPageContent\", params, {\n googleAnalyticsHandler: googleSearchPageContent,\n facebookPixelHandler: facebookSearchPageContent,\n segmentHandler: segmentSearchPageContent\n });\n};\n\nexport default logSearchPageContent;\n","// events index\nimport logGenerateLead from \"./generateLead/generateLead\";\nimport logScreenView from \"./screenView/screenView\";\nimport logSearchPageContent from \"./searchPageContent/searchPageContent\";\n\nconst events = { logGenerateLead, logScreenView, logSearchPageContent };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ChangePaymentTypeParams } from \"./changePaymentType.types\";\n\n/**\n * Emits a changePaymentType event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ChangePaymentTypeParams} params Event configuration parameters\n */\nconst changePaymentType = (\n provider: GoogleAnalyticsProvider,\n params: ChangePaymentTypeParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, currency, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"change_payment_type\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default changePaymentType;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ChangePaymentTypeParams } from \"./changePaymentType.types\";\n\n/**\n * Emits a changePaymentType event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ChangePaymentTypeParams} params Event configuration parameters\n */\nconst changePaymentType = (\n provider: SegmentProvider,\n params: ChangePaymentTypeParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Change Payment Type\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default changePaymentType;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ChangePaymentTypeParams } from \"./changePaymentType.types\";\n\n/**\n * Emits a changePaymentType event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ChangePaymentTypeParams} params Event configuration parameters\n */\nconst changePaymentType = (\n provider: FacebookPixelProvider,\n params: ChangePaymentTypeParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ChangePaymentType\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default changePaymentType;\n","import googleChangePaymentType from \"../../../providers/GoogleAnalytics/events/payment/changePaymentType/changePaymentType\";\nimport segmentChangePaymentType from \"../../../providers/Segment/events/payment/changePaymentType/changePaymentType\";\nimport facebookChangePaymentType from \"../../../providers/FacebookPixel/events/payment/changePaymentType/changePaymentType\";\nimport { ChangePaymentTypeParams } from \"./changePaymentType.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a changePaymentType event to every configured provider.\n *\n * Log this event when users change the payment type.\n *\n * @since 0.1.0\n * @property {ChangePaymentTypeParams} params ChangePaymentType event parameters\n */\nconst logChangePaymentType = (params: ChangePaymentTypeParams) => {\n triageEventToProviders(\"changePaymentType\", params, {\n googleAnalyticsHandler: googleChangePaymentType,\n facebookPixelHandler: facebookChangePaymentType,\n segmentHandler: segmentChangePaymentType\n });\n};\n\nexport default logChangePaymentType;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SelectPaymentTypeParams } from \"./selectPaymentType.types\";\n\n/**\n * Emits a selectPaymentType event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SelectPaymentTypeParams} params Event configuration parameters\n */\nconst selectPaymentType = (\n provider: GoogleAnalyticsProvider,\n params: SelectPaymentTypeParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, currency, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"select_payment_type\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectPaymentType;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SelectPaymentTypeParams } from \"./selectPaymentType.types\";\n\n/**\n * Emits a selectPaymentType event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SelectPaymentTypeParams} params Event configuration parameters\n */\nconst selectPaymentType = (\n provider: SegmentProvider,\n params: SelectPaymentTypeParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Select Payment Type\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default selectPaymentType;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SelectPaymentTypeParams } from \"./selectPaymentType.types\";\n\n/**\n * Emits a selectPaymentType event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SelectPaymentTypeParams} params Event configuration parameters\n */\nconst selectPaymentType = (\n provider: FacebookPixelProvider,\n params: SelectPaymentTypeParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SelectPaymentType\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectPaymentType;\n","import googleSelectPaymentType from \"../../../providers/GoogleAnalytics/events/payment/selectPaymentType/selectPaymentType\";\nimport segmentSelectPaymentType from \"../../../providers/Segment/events/payment/selectPaymentType/selectPaymentType\";\nimport facebookSelectPaymentType from \"../../../providers/FacebookPixel/events/payment/selectPaymentType/selectPaymentType\";\nimport { SelectPaymentTypeParams } from \"./selectPaymentType.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a selectPaymentType event to every configured provider.\n *\n * Log this event when users select the payment type.\n *\n * @since 0.1.0\n * @property {SelectPaymentTypeParams} params SelectPaymentType event parameters\n */\nconst logSelectPaymentType = (params: SelectPaymentTypeParams) => {\n triageEventToProviders(\"selectPaymentType\", params, {\n googleAnalyticsHandler: googleSelectPaymentType,\n facebookPixelHandler: facebookSelectPaymentType,\n segmentHandler: segmentSelectPaymentType\n });\n};\n\nexport default logSelectPaymentType;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SetPaymentInfoParams } from \"./setPaymentInfo.types\";\n\n/**\n * Emits a setPaymentInfo event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SetPaymentInfoParams} params Event configuration parameters\n */\nconst setPaymentInfo = (\n provider: GoogleAnalyticsProvider,\n params: SetPaymentInfoParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, currency, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"add_payment_info\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default setPaymentInfo;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SetPaymentInfoParams } from \"./setPaymentInfo.types\";\n\n/**\n * Emits a setPaymentInfo event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SetPaymentInfoParams} params Event configuration parameters\n */\nconst setPaymentInfo = (\n provider: SegmentProvider,\n params: SetPaymentInfoParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Set Payment Info\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default setPaymentInfo;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SetPaymentInfoParams } from \"./setPaymentInfo.types\";\n\n/**\n * Emits a setPaymentInfo event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SetPaymentInfoParams} params Event configuration parameters\n */\nconst setPaymentInfo = (\n provider: FacebookPixelProvider,\n params: SetPaymentInfoParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"fb_mobile_add_payment_info\", {\n fb_success: 1,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default setPaymentInfo;\n","import googleSetPaymentInfo from \"../../../providers/GoogleAnalytics/events/payment/setPaymentInfo/setPaymentInfo\";\nimport segmentSetPaymentInfo from \"../../../providers/Segment/events/payment/setPaymentInfo/setPaymentInfo\";\nimport facebookSetPaymentInfo from \"../../../providers/FacebookPixel/events/payment/setPaymentInfo/setPaymentInfo\";\nimport { SetPaymentInfoParams } from \"./setPaymentInfo.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a setPaymentInfo event to every configured provider.\n *\n * Log this event when users set the payment type for the first time.\n *\n * @since 0.1.0\n * @property {SetPaymentInfoParams} params SetPaymentInfo event parameters\n */\nconst logSetPaymentInfo = (params: SetPaymentInfoParams) => {\n triageEventToProviders(\"setPaymentInfo\", params, {\n googleAnalyticsHandler: googleSetPaymentInfo,\n facebookPixelHandler: facebookSetPaymentInfo,\n segmentHandler: segmentSetPaymentInfo\n });\n};\n\nexport default logSetPaymentInfo;\n","// events index\nimport logChangePaymentType from \"./changePaymentType/changePaymentType\";\nimport logSelectPaymentType from \"./selectPaymentType/selectPaymentType\";\nimport logSetPaymentInfo from \"./setPaymentInfo/setPaymentInfo\";\n\nconst events = {\n logChangePaymentType,\n logSelectPaymentType,\n logSetPaymentInfo\n};\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { CustomizeProductParams } from \"./customizeProduct.types\";\n\n/**\n * Emits a customizeProduct event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {CustomizeProductParams} params Event configuration parameters\n */\nconst customizeProduct = (\n provider: GoogleAnalyticsProvider,\n params: CustomizeProductParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, product, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const { productId, name: productName } = product;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n productId,\n productName\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"customize_product\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default customizeProduct;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { CustomizeProductParams } from \"./customizeProduct.types\";\n\n/**\n * Emits a customizeProduct event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {CustomizeProductParams} params Event configuration parameters\n */\nconst customizeProduct = (\n provider: SegmentProvider,\n params: CustomizeProductParams\n) => {\n const { product, ...rest } = params;\n delete rest.userId;\n const { productId, name: productName } = product;\n const enhancedParams = {\n ...rest,\n productId,\n productName\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Customize Product\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default customizeProduct;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { CustomizeProductParams } from \"./customizeProduct.types\";\n\n/**\n * Emits a customizeProduct event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {CustomizeProductParams} params Event configuration parameters\n */\nconst customizeProduct = (\n provider: FacebookPixelProvider,\n params: CustomizeProductParams\n) => {\n const { product, contentType, ...rest } = params;\n delete rest.userId;\n const { productId, name } = product;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"CustomizeProduct\", {\n fb_content_id: productId,\n fb_content_name: name,\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default customizeProduct;\n","import googleCustomizeProduct from \"../../../providers/GoogleAnalytics/events/product/customizeProduct/customizeProduct\";\nimport segmentCustomizeProduct from \"../../../providers/Segment/events/product/customizeProduct/customizeProduct\";\nimport facebookCustomizeProduct from \"../../../providers/FacebookPixel/events/product/customizeProduct/customizeProduct\";\nimport { CustomizeProductParams } from \"./customizeProduct.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a customizeProduct event to every configured provider.\n *\n * Log this event when users add extras to the base offered product.\n *\n * @since 0.1.0\n * @property {CustomizeProductParams} params CustomizeProduct event parameters\n */\nconst logCustomizeProduct = (params: CustomizeProductParams) => {\n triageEventToProviders(\"customizeProduct\", params, {\n googleAnalyticsHandler: googleCustomizeProduct,\n facebookPixelHandler: facebookCustomizeProduct,\n segmentHandler: segmentCustomizeProduct\n });\n};\n\nexport default logCustomizeProduct;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { FilterProductsParams } from \"./filterProducts.types\";\n\n/**\n * Emits a filterProducts event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {FilterProductsParams} params Event configuration parameters\n */\nconst filterProducts = (\n provider: GoogleAnalyticsProvider,\n params: FilterProductsParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, filterBy, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n filterBy: transformArrayParam(filterBy)\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"filter_products\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default filterProducts;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { FilterProductsParams } from \"./filterProducts.types\";\n\n/**\n * Emits a filterProducts event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {FilterProductsParams} params Event configuration parameters\n */\nconst filterProducts = (\n provider: SegmentProvider,\n params: FilterProductsParams\n) => {\n const { filterBy, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest, filterBy: transformArrayParam(filterBy) };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Filter Products\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default filterProducts;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { FilterProductsParams } from \"./filterProducts.types\";\n\n/**\n * Emits a filterProducts event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {FilterProductsParams} params Event configuration parameters\n */\nconst filterProducts = (\n provider: FacebookPixelProvider,\n params: FilterProductsParams\n) => {\n const { filterBy, contentType, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest, filterBy: transformArrayParam(filterBy) };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"FilterProducts\", {\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default filterProducts;\n","import googleFilterProducts from \"../../../providers/GoogleAnalytics/events/product/filterProducts/filterProducts\";\nimport segmentFilterProducts from \"../../../providers/Segment/events/product/filterProducts/filterProducts\";\nimport facebookFilterProducts from \"../../../providers/FacebookPixel/events/product/filterProducts/filterProducts\";\nimport { FilterProductsParams } from \"./filterProducts.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a filterProducts event to every configured provider.\n *\n * Log this event when users try to filter a list of products.\n *\n * @since 0.1.0\n * @property {FilterProductsParams} params FilterProducts event parameters\n */\nconst logFilterProducts = (params: FilterProductsParams) => {\n triageEventToProviders(\"filterProducts\", params, {\n googleAnalyticsHandler: googleFilterProducts,\n facebookPixelHandler: facebookFilterProducts,\n segmentHandler: segmentFilterProducts\n });\n};\n\nexport default logFilterProducts;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ProductImpressionParams } from \"./productImpression.types\";\n\n/**\n * Emits a productImpression event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ProductImpressionParams} params Event configuration parameters\n */\nconst productImpression = (\n provider: GoogleAnalyticsProvider,\n params: ProductImpressionParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, product, currency, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name: productName } = product;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n productId,\n productName,\n currency: selectedCurrency\n };\n const total = getProductTotals(product);\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"product_impression\", {\n value: total.netPrice,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default productImpression;\n","import { getProductTotals } from \"@artisan-commerce/products\";\nimport analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ProductImpressionParams } from \"./productImpression.types\";\n\n/**\n * Emits a productImpression event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ProductImpressionParams} params Event configuration parameters\n */\nconst productImpression = (\n provider: SegmentProvider,\n params: ProductImpressionParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name } = product;\n const enhancedParams = {\n ...rest,\n productId,\n name,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const totals = getProductTotals(product);\n analytics.track(\"Product Viewed\", {\n price: totals.netPrice,\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default productImpression;\n","import { getProductTotals } from \"@artisan-commerce/products\";\nimport { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ProductImpressionParams } from \"./productImpression.types\";\n\n/**\n * Emits a productImpression event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ProductImpressionParams} params Event configuration parameters\n */\nconst productImpression = (\n provider: FacebookPixelProvider,\n params: ProductImpressionParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, currency, contentType, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name } = product;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n AppEventsLogger.logEvent(\"ProductImpression\", netPrice, {\n fb_content_id: productId,\n fb_content_name: name,\n fb_currency: selectedCurrency,\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default productImpression;\n","import googleProductImpression from \"../../../providers/GoogleAnalytics/events/product/productImpression/productImpression\";\nimport segmentProductImpression from \"../../../providers/Segment/events/product/productImpression/productImpression\";\nimport facebookProductImpression from \"../../../providers/FacebookPixel/events/product/productImpression/productImpression\";\nimport { ProductImpressionParams } from \"./productImpression.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a productImpression event to every configured provider.\n *\n * Log this event when a product is visible on the screen.\n *\n * @since 0.1.0\n * @property {ProductImpressionParams} params ProductImpression event parameters\n */\nconst logProductImpression = (params: ProductImpressionParams) => {\n triageEventToProviders(\"productImpression\", params, {\n googleAnalyticsHandler: googleProductImpression,\n facebookPixelHandler: facebookProductImpression,\n segmentHandler: segmentProductImpression\n });\n};\n\nexport default logProductImpression;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SearchProductSuccessParams } from \"./searchProductSuccess.types\";\n\n/**\n * Emits a searchProductSuccess event to a Google Analytics Provider.\n *\n * @since 0.1.0\n */\nconst searchProductSuccess = (\n provider: GoogleAnalyticsProvider,\n params: SearchProductSuccessParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"search_product_success\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default searchProductSuccess;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SearchProductSuccessParams } from \"./searchProductSuccess.types\";\n\n/**\n * Emits a searchProductSuccess.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SearchProductSuccessParams} params Event configuration parameters\n */\nconst searchProductSuccess = (\n provider: SegmentProvider,\n params: SearchProductSuccessParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Products Searched\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default searchProductSuccess;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SearchProductSuccessParams } from \"./searchProductSuccess.types\";\n\n/**\n * Emits a searchProductSuccess.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SearchProductSuccessParams} params Event configuration parameters\n */\nconst searchProductSuccess = (\n provider: FacebookPixelProvider,\n params: SearchProductSuccessParams\n) => {\n const { query, contentType, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"fb_mobile_search\", {\n fb_search_string: query,\n fb_success: 1,\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default searchProductSuccess;\n","import googleSearchProductSuccess from \"../../../providers/GoogleAnalytics/events/product/searchProductSuccess/searchProductSuccess\";\nimport segmentSearchProductSuccess from \"../../../providers/Segment/events/product/searchProductSuccess/searchProductSuccess\";\nimport facebookSearchProductSuccess from \"../../../providers/FacebookPixel/events/product/searchProductSuccess/searchProductSuccess\";\nimport { SearchProductSuccessParams } from \"./searchProductSuccess.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a searchProductSuccess event to every configured provider.\n *\n * Log this event when your search request has resolved successfully.\n *\n * @since 0.1.0\n * @property {SearchProductSuccessParams} params SearchProductSuccess event parameters\n */\nconst logSearchProductSuccess = (params: SearchProductSuccessParams) => {\n triageEventToProviders(\"searchProductSuccess\", params, {\n googleAnalyticsHandler: googleSearchProductSuccess,\n facebookPixelHandler: facebookSearchProductSuccess,\n segmentHandler: segmentSearchProductSuccess\n });\n};\n\nexport default logSearchProductSuccess;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SearchProductAttemptParams } from \"./searchProductAttempt.types\";\n\n/**\n * Emits a searchProductAttempt event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SearchProductAttemptParams} params Event configuration parameters\n */\nconst searchProductAttempt = (\n provider: GoogleAnalyticsProvider,\n params: SearchProductAttemptParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, query, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"search\", {\n search_term: query,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default searchProductAttempt;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SearchProductAttemptParams } from \"./searchProductAttempt.types\";\n\n/**\n * Emits a searchProductAttempt.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SearchProductAttemptParams} params Event configuration parameters\n */\nconst searchProductAttempt = (\n provider: SegmentProvider,\n params: SearchProductAttemptParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Search Product Attempt\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default searchProductAttempt;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SearchProductAttemptParams } from \"./searchProductAttempt.types\";\n\n/**\n * Emits a searchProductAttempt.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SearchProductAttemptParams} params Event configuration parameters\n */\nconst searchProductAttempt = (\n provider: FacebookPixelProvider,\n params: SearchProductAttemptParams\n) => {\n const { query, contentType, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"fb_mobile_search\", {\n fb_search_string: query,\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default searchProductAttempt;\n","import googleSearchProductAttempt from \"../../../providers/GoogleAnalytics/events/product/searchProductAttempt/searchProductAttempt\";\nimport segmentSearchProductAttempt from \"../../../providers/Segment/events/product/searchProductAttempt/searchProductAttempt\";\nimport facebookSearchProductAttempt from \"../../../providers/FacebookPixel/events/product/searchProductAttempt/searchProductAttempt\";\nimport { SearchProductAttemptParams } from \"./searchProductAttempt.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a searchProductAttempt event to every configured provider.\n *\n * Log this event when users try to search an specific product.\n *\n * @since 0.1.0\n * @property {SearchProductAttemptParams} params SearchProductAttempt event parameters\n */\nconst logSearchProductAttempt = (params: SearchProductAttemptParams) => {\n triageEventToProviders(\"searchProductAttempt\", params, {\n googleAnalyticsHandler: googleSearchProductAttempt,\n facebookPixelHandler: facebookSearchProductAttempt,\n segmentHandler: segmentSearchProductAttempt\n });\n};\n\nexport default logSearchProductAttempt;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SearchProductNotFoundParams } from \"./searchProductNotFound.types\";\n\n/**\n * Emits a searchProductNotFound event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SearchProductNotFoundParams} params Event configuration parameters\n */\nconst searchProductNotFound = (\n provider: GoogleAnalyticsProvider,\n params: SearchProductNotFoundParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"search_product_not_found\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default searchProductNotFound;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SearchProductNotFoundParams } from \"./searchProductNotFound.types\";\n\n/**\n * Emits a searchProductNotFound.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SearchProductNotFoundParams} params Event configuration parameters\n */\nconst searchProductNotFound = (\n provider: SegmentProvider,\n params: SearchProductNotFoundParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Search Product Not Found\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default searchProductNotFound;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SearchProductNotFoundParams } from \"./searchProductNotFound.types\";\n\n/**\n * Emits a searchProductNotFound.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SearchProductNotFoundParams} params Event configuration parameters\n */\nconst searchProductNotFound = (\n provider: FacebookPixelProvider,\n params: SearchProductNotFoundParams\n) => {\n const { query, contentType, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"fb_mobile_search\", {\n fb_search_string: query,\n fb_success: 0,\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default searchProductNotFound;\n","import googleSearchProductNotFound from \"../../../providers/GoogleAnalytics/events/product/searchProductNotFound/searchProductNotFound\";\nimport segmentSearchProductNotFound from \"../../../providers/Segment/events/product/searchProductNotFound/searchProductNotFound\";\nimport facebookSearchProductNotFound from \"../../../providers/FacebookPixel/events/product/searchProductNotFound/searchProductNotFound\";\nimport { SearchProductNotFoundParams } from \"./searchProductNotFound.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a searchProductNotFound event to every configured provider.\n *\n * Log this event when your search request has failed.\n *\n * @since 0.1.0\n * @property {SearchProductNotFoundParams} params SearchProductNotFound event parameters\n */\nconst logSearchProductNotFound = (params: SearchProductNotFoundParams) => {\n triageEventToProviders(\"searchProductNotFound\", params, {\n googleAnalyticsHandler: googleSearchProductNotFound,\n facebookPixelHandler: facebookSearchProductNotFound,\n segmentHandler: segmentSearchProductNotFound\n });\n};\n\nexport default logSearchProductNotFound;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SelectProductParams } from \"./selectProduct.types\";\n\n/**\n * Emits a selectProduct event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SelectProductParams} params Event configuration parameters\n */\nconst selectProduct = (\n provider: GoogleAnalyticsProvider,\n params: SelectProductParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, product, currency, ...rest } = params;\n if (rest.contentType) {\n delete rest.contentType;\n }\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name: productName } = product;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n productId,\n productName,\n currency: selectedCurrency\n };\n const total = getProductTotals(product);\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"select_content\", {\n content_type: \"product\",\n value: total.netPrice,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectProduct;\n","import { getProductTotals } from \"@artisan-commerce/products\";\nimport analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SelectProductParams } from \"./selectProduct.types\";\n\n/**\n * Emits a selectProduct event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SelectProductParams} params Event configuration parameters\n */\nconst selectProduct = (\n provider: SegmentProvider,\n params: SelectProductParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name } = product;\n const enhancedParams = {\n ...rest,\n productId,\n name,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const totals = getProductTotals(product);\n analytics.track(\"Product Clicked\", {\n price: totals.netPrice,\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default selectProduct;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SelectProductParams } from \"./selectProduct.types\";\n\n/**\n * Emits a selectProduct event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SelectProductParams} params Event configuration parameters\n */\nconst selectProduct = (\n provider: FacebookPixelProvider,\n params: SelectProductParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, currency, contentType, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name } = product;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n AppEventsLogger.logEvent(\"SelectProduct\", netPrice, {\n fb_content_id: productId,\n fb_content_name: name,\n fb_currency: selectedCurrency,\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectProduct;\n","import googleSelectProduct from \"../../../providers/GoogleAnalytics/events/product/selectProduct/selectProduct\";\nimport segmentSelectProduct from \"../../../providers/Segment/events/product/selectProduct/selectProduct\";\nimport facebookSelectProduct from \"../../../providers/FacebookPixel/events/product/selectProduct/selectProduct\";\nimport { SelectProductParams } from \"./selectProduct.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a selectProduct event to every configured provider.\n *\n * Log this event when users select a product. This product may or may not\n * be on a list.\n *\n * @since 0.1.0\n * @property {SelectProductParams} params SelectProduct event parameters\n */\nconst logSelectProduct = (params: SelectProductParams) => {\n triageEventToProviders(\"selectProduct\", params, {\n googleAnalyticsHandler: googleSelectProduct,\n facebookPixelHandler: facebookSelectProduct,\n segmentHandler: segmentSelectProduct\n });\n};\n\nexport default logSelectProduct;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SortProductsParams } from \"./sortProducts.types\";\n\n/**\n * Emits a sortProducts event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SortProductsParams} params Event configuration parameters\n */\nconst sortProducts = (\n provider: GoogleAnalyticsProvider,\n params: SortProductsParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"sort_products\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default sortProducts;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SortProductsParams } from \"./sortProducts.types\";\n\n/**\n * Emits a sortProducts event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SortProductsParams} params Event configuration parameters\n */\nconst sortProducts = (\n provider: SegmentProvider,\n params: SortProductsParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Sort Products\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default sortProducts;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SortProductsParams } from \"./sortProducts.types\";\n\n/**\n * Emits a sortProducts event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SortProductsParams} params Event configuration parameters\n */\nconst sortProducts = (\n provider: FacebookPixelProvider,\n params: SortProductsParams\n) => {\n const { contentType, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SortProducts\", {\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default sortProducts;\n","import googleSortProducts from \"../../../providers/GoogleAnalytics/events/product/sortProducts/sortProducts\";\nimport segmentSortProducts from \"../../../providers/Segment/events/product/sortProducts/sortProducts\";\nimport facebookSortProducts from \"../../../providers/FacebookPixel/events/product/sortProducts/sortProducts\";\nimport { SortProductsParams } from \"./sortProducts.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a sortProducts event to every configured provider.\n *\n * Log this event when users try to sort a list of products.\n *\n * @since 0.1.0\n * @property {SortProductsParams} params SortProducts event parameters\n */\nconst logSortProducts = (params: SortProductsParams) => {\n triageEventToProviders(\"sortProducts\", params, {\n googleAnalyticsHandler: googleSortProducts,\n facebookPixelHandler: facebookSortProducts,\n segmentHandler: segmentSortProducts\n });\n};\n\nexport default logSortProducts;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ViewProductDetailsParams } from \"./viewProductDetails.types\";\n\n/**\n * Emits a viewProductDetails event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ViewProductDetailsParams} params Event configuration parameters\n */\nconst viewProductDetails = (\n provider: GoogleAnalyticsProvider,\n params: ViewProductDetailsParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, product, currency, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name: productName } = product;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n productId,\n productName,\n currency: selectedCurrency\n };\n const total = getProductTotals(product);\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"view_item\", {\n value: total.netPrice,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewProductDetails;\n","import { getProductTotals } from \"@artisan-commerce/products\";\nimport analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ViewProductDetailsParams } from \"./viewProductDetails.types\";\n\n/**\n * Emits a viewProductDetails.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ViewProductDetailsParams} params Event configuration parameters\n */\nconst viewProductDetails = (\n provider: SegmentProvider,\n params: ViewProductDetailsParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, currency, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name } = product;\n const enhancedParams = {\n ...rest,\n productId,\n name,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const totals = getProductTotals(product);\n analytics.track(\"View Product Details\", {\n price: totals.netPrice,\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default viewProductDetails;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ViewProductDetailsParams } from \"./viewProductDetails.types\";\n\n/**\n * Emits a viewProductDetails.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ViewProductDetailsParams} params Event configuration parameters\n */\nconst viewProductDetails = (\n provider: FacebookPixelProvider,\n params: ViewProductDetailsParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, currency, contentType, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name } = product;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n AppEventsLogger.logEvent(\"fb_mobile_content_view\", netPrice, {\n fb_content_id: productId,\n fb_content_name: name,\n fb_currency: selectedCurrency,\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewProductDetails;\n","import googleViewProductDetails from \"../../../providers/GoogleAnalytics/events/product/viewProductDetails/viewProductDetails\";\nimport segmentViewProductDetails from \"../../../providers/Segment/events/product/viewProductDetails/viewProductDetails\";\nimport facebookViewProductDetails from \"../../../providers/FacebookPixel/events/product/viewProductDetails/viewProductDetails\";\nimport { ViewProductDetailsParams } from \"./viewProductDetails.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a viewProductDetails event to every configured provider.\n *\n * Log this event when the details of a product load successfully and are shown\n * to the user.\n *\n * @since 0.1.0\n * @property {ViewProductDetailsParams} params ViewProductDetails event parameters\n */\nconst logViewProductDetails = (params: ViewProductDetailsParams) => {\n triageEventToProviders(\"viewProductDetails\", params, {\n googleAnalyticsHandler: googleViewProductDetails,\n facebookPixelHandler: facebookViewProductDetails,\n segmentHandler: segmentViewProductDetails\n });\n};\n\nexport default logViewProductDetails;\n","// events index\nimport logCustomizeProduct from \"./customizeProduct/customizeProduct\";\nimport logFilterProducts from \"./filterProducts/filterProducts\";\nimport logProductImpression from \"./productImpression/productImpression\";\nimport logSearchProductSuccess from \"./searchProductSuccess/searchProductSuccess\";\nimport logSearchProductAttempt from \"./searchProductAttempt/searchProductAttempt\";\nimport logSearchProductNotFound from \"./searchProductNotFound/searchProductNotFound\";\nimport logSelectProduct from \"./selectProduct/selectProduct\";\nimport logSortProducts from \"./sortProducts/sortProducts\";\nimport logViewProductDetails from \"./viewProductDetails/viewProductDetails\";\n\nconst events = {\n logCustomizeProduct,\n logFilterProducts,\n logProductImpression,\n logSearchProductSuccess,\n logSearchProductAttempt,\n logSearchProductNotFound,\n logSelectProduct,\n logSortProducts,\n logViewProductDetails\n};\n\nexport default events;\n","import { getShoppingCartTotal } from \"@artisan-commerce/shopping-cart\";\n\nimport analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getProductContentFromShoppingCart } from \"../../../../../../utils/events.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { PurchaseAttemptParams } from \"./purchaseAttempt.types\";\n\n/**\n * Emits a purchaseAttempt event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {PurchaseAttemptParams} params Event configuration parameters\n */\nconst purchaseAttempt = (\n provider: GoogleAnalyticsProvider,\n params: PurchaseAttemptParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, currency, shoppingCart, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const productContents = getProductContentFromShoppingCart(shoppingCart);\n const { total, totalPoints } = getShoppingCartTotal(shoppingCart);\n analytics().logEvent(\"purchase_attempt\", {\n products: transformArrayParam(productContents),\n value: total,\n points: totalPoints ?? 0,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default purchaseAttempt;\n","import { getShoppingCartProducts } from \"@artisan-commerce/shopping-cart\";\nimport { getShoppingCartTotal } from \"@artisan-commerce/shopping-cart\";\nimport analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { mapProductsToSegmentProducts } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { PurchaseAttemptParams } from \"./purchaseAttempt.types\";\n\n/**\n * Emits a purchaseAttempt event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {PurchaseAttemptParams} params Event configuration parameters\n */\nconst purchaseAttempt = (\n provider: SegmentProvider,\n params: PurchaseAttemptParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, shoppingCart, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const products = getShoppingCartProducts(shoppingCart);\n const { total, totalTaxes, shippingCost, totalPoints } =\n getShoppingCartTotal(shoppingCart);\n analytics.track(\"Purchase Attempt\", {\n total,\n revenue: total - (totalTaxes ?? 0) - (shippingCost ?? 0),\n shipping: shippingCost ?? 0,\n tax: totalTaxes ?? 0,\n products: mapProductsToSegmentProducts(products),\n points: totalPoints ?? 0,\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default purchaseAttempt;\n","import { getShoppingCartTotal } from \"@artisan-commerce/shopping-cart\";\n\nimport { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getProductContentFromShoppingCart } from \"../../../../../../utils/events.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getProductIdsFromShoppingCart } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { PurchaseAttemptParams } from \"./purchaseAttempt.types\";\n\n/**\n * Emits a purchaseAttempt event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {PurchaseAttemptParams} params Event configuration parameters\n */\nconst purchaseAttempt = (\n provider: FacebookPixelProvider,\n params: PurchaseAttemptParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, shoppingCart, contentType, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const productsIds = getProductIdsFromShoppingCart(shoppingCart);\n const productContents = getProductContentFromShoppingCart(shoppingCart);\n const { total, totalPoints } = getShoppingCartTotal(shoppingCart);\n AppEventsLogger.logEvent(\"PurchaseAttempt\", total, {\n fb_content_id: transformArrayParam(productsIds),\n fb_contents: transformArrayParam(productContents),\n fb_num_items: productsIds.length,\n fb_content_type: contentType,\n fb_currency: selectedCurrency,\n points: totalPoints ?? 0,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default purchaseAttempt;\n","import googlePurchaseAttempt from \"../../../providers/GoogleAnalytics/events/purchase/purchaseAttempt/purchaseAttempt\";\nimport segmentPurchaseAttempt from \"../../../providers/Segment/events/purchase/purchaseAttempt/purchaseAttempt\";\nimport facebookPurchaseAttempt from \"../../../providers/FacebookPixel/events/purchase/purchaseAttempt/purchaseAttempt\";\nimport { PurchaseAttemptParams } from \"./purchaseAttempt.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a purchaseAttempt event to every configured provider.\n *\n * Log this event when users show an intention to purchase.\n *\n * @since 0.1.0\n * @property {PurchaseAttemptParams} params PurchaseAttempt event parameters\n */\nconst logPurchaseAttempt = (params: PurchaseAttemptParams) => {\n triageEventToProviders(\"purchaseAttempt\", params, {\n googleAnalyticsHandler: googlePurchaseAttempt,\n facebookPixelHandler: facebookPurchaseAttempt,\n segmentHandler: segmentPurchaseAttempt\n });\n};\n\nexport default logPurchaseAttempt;\n","import { getShoppingCartTotal } from \"@artisan-commerce/shopping-cart\";\n\nimport analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getProductContentFromShoppingCart } from \"../../../../../../utils/events.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { PurchaseFailParams } from \"./purchaseFail.types\";\n\n/**\n * Emits a purchaseFail event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {PurchaseFailParams} params Event configuration parameters\n */\nconst purchaseFail = (\n provider: GoogleAnalyticsProvider,\n params: PurchaseFailParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, currency, shoppingCart, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const productContents = getProductContentFromShoppingCart(shoppingCart);\n const { total, totalPoints } = getShoppingCartTotal(shoppingCart);\n analytics().logEvent(\"purchase_fail\", {\n products: transformArrayParam(productContents),\n value: total,\n points: totalPoints ?? 0,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default purchaseFail;\n","import { getShoppingCartProducts } from \"@artisan-commerce/shopping-cart\";\nimport { getShoppingCartTotal } from \"@artisan-commerce/shopping-cart\";\nimport analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { mapProductsToSegmentProducts } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { PurchaseFailParams } from \"./purchaseFail.types\";\n\n/**\n * Emits a purchaseFail event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {PurchaseFailParams} params Event configuration parameters\n */\nconst purchaseFail = (\n provider: SegmentProvider,\n params: PurchaseFailParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, shoppingCart, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const products = getShoppingCartProducts(shoppingCart);\n const { total, totalTaxes, shippingCost, totalPoints } =\n getShoppingCartTotal(shoppingCart);\n analytics.track(\"Purchase Fail\", {\n total,\n revenue: total - (totalTaxes ?? 0) - (shippingCost ?? 0),\n shipping: shippingCost ?? 0,\n tax: totalTaxes ?? 0,\n products: mapProductsToSegmentProducts(products),\n points: totalPoints ?? 0,\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default purchaseFail;\n","import { getShoppingCartTotal } from \"@artisan-commerce/shopping-cart\";\nimport { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getProductContentFromShoppingCart } from \"../../../../../../utils/events.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getProductIdsFromShoppingCart } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { PurchaseFailParams } from \"./purchaseFail.types\";\n\n/**\n * Emits a purchaseFail event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {PurchaseFailParams} params Event configuration parameters\n */\nconst purchaseFail = (\n provider: FacebookPixelProvider,\n params: PurchaseFailParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, shoppingCart, contentType, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const productsIds = getProductIdsFromShoppingCart(shoppingCart);\n const productContents = getProductContentFromShoppingCart(shoppingCart);\n const { total, totalPoints } = getShoppingCartTotal(shoppingCart);\n AppEventsLogger.logEvent(\"PurchaseFail\", total, {\n fb_content_id: transformArrayParam(productsIds),\n fb_contents: transformArrayParam(productContents),\n fb_num_items: productsIds.length,\n fb_content_type: contentType,\n fb_currency: selectedCurrency,\n points: totalPoints ?? 0,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default purchaseFail;\n","import googlePurchaseFail from \"../../../providers/GoogleAnalytics/events/purchase/purchaseFail/purchaseFail\";\nimport segmentPurchaseFail from \"../../../providers/Segment/events/purchase/purchaseFail/purchaseFail\";\nimport facebookPurchaseFail from \"../../../providers/FacebookPixel/events/purchase/purchaseFail/purchaseFail\";\nimport { PurchaseFailParams } from \"./purchaseFail.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a purchaseFail event to every configured provider.\n *\n * Log this event when your purchase request has failed.\n *\n * @since 0.1.0\n * @property {PurchaseFailParams} params PurchaseFail event parameters\n */\nconst logPurchaseFail = (params: PurchaseFailParams) => {\n triageEventToProviders(\"purchaseFail\", params, {\n googleAnalyticsHandler: googlePurchaseFail,\n facebookPixelHandler: facebookPurchaseFail,\n segmentHandler: segmentPurchaseFail\n });\n};\n\nexport default logPurchaseFail;\n","import { getShoppingCartTotal } from \"@artisan-commerce/shopping-cart\";\n\nimport analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { mapProductsToGoogleItems } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { PurchaseSuccessParams } from \"./purchaseSuccess.types\";\n\n/**\n * Emits a purchaseSuccess event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {PurchaseSuccessParams} params Event configuration parameters\n */\nconst purchaseSuccess = (\n provider: GoogleAnalyticsProvider,\n params: PurchaseSuccessParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, currency, shoppingCart, orderId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency\n };\n const { total, shippingCost, totalTaxes, totalPoints } =\n getShoppingCartTotal(shoppingCart);\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"purchase\", {\n items: mapProductsToGoogleItems(shoppingCart, selectedCurrency),\n value: total,\n points: totalPoints ?? 0,\n transaction_id: orderId,\n shipping: shippingCost ?? 0,\n tax: totalTaxes ?? 0,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default purchaseSuccess;\n","import { getShoppingCartProducts } from \"@artisan-commerce/shopping-cart\";\nimport { getShoppingCartTotal } from \"@artisan-commerce/shopping-cart\";\nimport analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { mapProductsToSegmentProducts } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { PurchaseSuccessParams } from \"./purchaseSuccess.types\";\n\n/**\n * Emits a purchaseSuccess event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {PurchaseSuccessParams} params Event configuration parameters\n */\nconst purchaseSuccess = (\n provider: SegmentProvider,\n params: PurchaseSuccessParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, shoppingCart, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const products = getShoppingCartProducts(shoppingCart);\n const { total, totalTaxes, shippingCost, totalPoints } =\n getShoppingCartTotal(shoppingCart);\n analytics.track(\"Order Completed\", {\n total,\n revenue: total - (totalTaxes ?? 0) - (shippingCost ?? 0),\n shipping: shippingCost ?? 0,\n tax: totalTaxes ?? 0,\n products: mapProductsToSegmentProducts(products),\n points: totalPoints ?? 0,\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default purchaseSuccess;\n","import { getShoppingCartTotal } from \"@artisan-commerce/shopping-cart\";\nimport { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getProductIdsFromShoppingCart } from \"../../../../../../utils/events.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getProductContentFromShoppingCart } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { PurchaseSuccessParams } from \"./purchaseSuccess.types\";\n\n/**\n * Emits a purchaseSuccess event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {PurchaseSuccessParams} params Event configuration parameters\n */\nconst purchaseSuccess = (\n provider: FacebookPixelProvider,\n params: PurchaseSuccessParams\n) => {\n const { currency: providerCurrency } = provider;\n const { currency, shoppingCart, orderId, contentType, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const productsIds = getProductIdsFromShoppingCart(shoppingCart);\n const productContents = getProductContentFromShoppingCart(shoppingCart);\n const { total, totalPoints } = getShoppingCartTotal(shoppingCart);\n AppEventsLogger.logPurchase(total, selectedCurrency, {\n fb_content_id: orderId,\n fb_contents_id: transformArrayParam(productsIds),\n fb_contents: transformArrayParam(productContents),\n fb_num_items: productsIds.length,\n fb_content_type: contentType,\n points: totalPoints ?? 0,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default purchaseSuccess;\n","import googlePurchaseSuccess from \"../../../providers/GoogleAnalytics/events/purchase/purchaseSuccess/purchaseSuccess\";\nimport segmentPurchaseSuccess from \"../../../providers/Segment/events/purchase/purchaseSuccess/purchaseSuccess\";\nimport facebookPurchaseSuccess from \"../../../providers/FacebookPixel/events/purchase/purchaseSuccess/purchaseSuccess\";\nimport { PurchaseSuccessParams } from \"./purchaseSuccess.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a purchaseSuccess event to every configured provider.\n *\n * Log this event when your purchase request has resolved successfully.\n *\n * @since 0.1.0\n * @property {PurchaseSuccessParams} params PurchaseSuccess event parameters\n */\nconst logPurchaseSuccess = (params: PurchaseSuccessParams) => {\n triageEventToProviders(\"purchaseSuccess\", params, {\n googleAnalyticsHandler: googlePurchaseSuccess,\n facebookPixelHandler: facebookPurchaseSuccess,\n segmentHandler: segmentPurchaseSuccess\n });\n};\n\nexport default logPurchaseSuccess;\n","// events index\nimport logPurchaseAttempt from \"./purchaseAttempt/purchaseAttempt\";\nimport logPurchaseFail from \"./purchaseFail/purchaseFail\";\nimport logPurchaseSuccess from \"./purchaseSuccess/purchaseSuccess\";\n\nconst events = { logPurchaseAttempt, logPurchaseFail, logPurchaseSuccess };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ViewSettingsParams } from \"./viewSettings.types\";\n\n/**\n * Emits a viewSettings event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ViewSettingsParams} params Event configuration parameters\n */\nconst viewSettings = (\n provider: GoogleAnalyticsProvider,\n params: ViewSettingsParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"view_settings\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewSettings;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ViewSettingsParams } from \"./viewSettings.types\";\n\n/**\n * Emits a viewSettings event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ViewSettingsParams} params Event configuration parameters\n */\nconst viewSettings = (\n provider: SegmentProvider,\n params: ViewSettingsParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"View Settings\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default viewSettings;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ViewSettingsParams } from \"./viewSettings.types\";\n\n/**\n * Emits a viewSettings event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ViewSettingsParams} params Event configuration parameters\n */\nconst viewSettings = (\n provider: FacebookPixelProvider,\n params: ViewSettingsParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ViewSettings\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewSettings;\n","import googleViewSettings from \"../../../providers/GoogleAnalytics/events/settings/viewSettings/viewSettings\";\nimport segmentViewSettings from \"../../../providers/Segment/events/settings/viewSettings/viewSettings\";\nimport facebookViewSettings from \"../../../providers/FacebookPixel/events/settings/viewSettings/viewSettings\";\nimport { ViewSettingsParams } from \"./viewSettings.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a viewSettings event to every configured provider.\n *\n * Log this event when users view the settings.\n *\n * @since 0.1.0\n * @property {ViewSettingsParams} params ViewSettings event parameters\n */\nconst logViewSettings = (params: ViewSettingsParams = {}) => {\n triageEventToProviders(\"viewSettings\", params, {\n googleAnalyticsHandler: googleViewSettings,\n facebookPixelHandler: facebookViewSettings,\n segmentHandler: segmentViewSettings\n });\n};\n\nexport default logViewSettings;\n","// events index\nimport logViewSettings from \"./viewSettings/viewSettings\";\n\nconst events = { logViewSettings };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { AddShippingAddressParams } from \"./addShippingAddress.types\";\n\n/**\n * Emits a addShippingAddress event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {AddShippingAddressParams} params Event configuration parameters\n */\nconst addShippingAddress = (\n provider: GoogleAnalyticsProvider,\n params: AddShippingAddressParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n delete rest.identify; // This parameter is removed because is a complex parameter for Segment provider only\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"add_shipping_info\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default addShippingAddress;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { AddShippingAddressParams } from \"./addShippingAddress.types\";\n\n/**\n * Emits a addShippingAddress.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {AddShippingAddressParams} params Event configuration parameters\n */\nconst addShippingAddress = (\n provider: SegmentProvider,\n params: AddShippingAddressParams\n) => {\n const { identify, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Add Shipping Address\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n if (!identify) return;\n analytics.identify(identify.id, identify);\n};\n\nexport default addShippingAddress;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { AddShippingAddressParams } from \"./addShippingAddress.types\";\n\n/**\n * Emits a addShippingAddress.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {AddShippingAddressParams} params Event configuration parameters\n */\nconst addShippingAddress = (\n provider: FacebookPixelProvider,\n params: AddShippingAddressParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n delete rest.identify; // This parameter is removed because is a complex parameter for Segment provider only\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"AddShippingAddress\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default addShippingAddress;\n","import googleAddShippingAddress from \"../../../providers/GoogleAnalytics/events/shipping/addShippingAddress/addShippingAddress\";\nimport segmentAddShippingAddress from \"../../../providers/Segment/events/shipping/addShippingAddress/addShippingAddress\";\nimport facebookAddShippingAddress from \"../../../providers/FacebookPixel/events/shipping/addShippingAddress/addShippingAddress\";\nimport { AddShippingAddressParams } from \"./addShippingAddress.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a addShippingAddress event to every configured provider.\n *\n * Log this event when users add their shipping address.\n *\n * @since 0.1.0\n * @property {AddShippingAddressParams} params AddShippingAddress event parameters\n */\nconst logAddShippingAddress = (params: AddShippingAddressParams) => {\n triageEventToProviders(\"addShippingAddress\", params, {\n googleAnalyticsHandler: googleAddShippingAddress,\n facebookPixelHandler: facebookAddShippingAddress,\n segmentHandler: segmentAddShippingAddress\n });\n};\n\nexport default logAddShippingAddress;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SelectShippingAddressParams } from \"./selectShippingAddress.types\";\n\n/**\n * Emits a selectShippingAddress event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SelectShippingAddressParams} params Event configuration parameters\n */\nconst selectShippingAddress = (\n provider: GoogleAnalyticsProvider,\n params: SelectShippingAddressParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n delete rest.identify; // This parameter is removed because is a complex parameter for Segment provider only\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"select_shipping_address\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectShippingAddress;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SelectShippingAddressParams } from \"./selectShippingAddress.types\";\n\n/**\n * Emits a selectShippingAddress event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SelectShippingAddressParams} params Event configuration parameters\n */\nconst selectShippingAddress = (\n provider: SegmentProvider,\n params: SelectShippingAddressParams\n) => {\n const { identify, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Select Shipping Address\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n if (!identify) return;\n analytics.identify(identify.id, identify);\n};\n\nexport default selectShippingAddress;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SelectShippingAddressParams } from \"./selectShippingAddress.types\";\n\n/**\n * Emits a selectShippingAddress event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SelectShippingAddressParams} params Event configuration parameters\n */\nconst selectShippingAddress = (\n provider: FacebookPixelProvider,\n params: SelectShippingAddressParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n delete rest.identify; // This parameter is removed because is a complex parameter for Segment provider only\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SelectShippingAddress\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectShippingAddress;\n","import googleSelectShippingAddress from \"../../../providers/GoogleAnalytics/events/shipping/selectShippingAddress/selectShippingAddress\";\nimport segmentSelectShippingAddress from \"../../../providers/Segment/events/shipping/selectShippingAddress/selectShippingAddress\";\nimport facebookSelectShippingAddress from \"../../../providers/FacebookPixel/events/shipping/selectShippingAddress/selectShippingAddress\";\nimport { SelectShippingAddressParams } from \"./selectShippingAddress.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a selectShippingAddress event to every configured provider.\n *\n * Log this event when users select a shipping address.\n *\n * @since 0.1.0\n * @property {SelectShippingAddressParams} params SelectShippingAddress event parameters\n */\nconst logSelectShippingAddress = (params: SelectShippingAddressParams) => {\n triageEventToProviders(\"selectShippingAddress\", params, {\n googleAnalyticsHandler: googleSelectShippingAddress,\n facebookPixelHandler: facebookSelectShippingAddress,\n segmentHandler: segmentSelectShippingAddress\n });\n};\n\nexport default logSelectShippingAddress;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { UpdateShippingAddressParams } from \"./updateShippingAddress.types\";\n\n/**\n * Emits a updateShippingAddress event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {UpdateShippingAddressParams} params Event configuration parameters\n */\nconst updateShippingAddress = (\n provider: GoogleAnalyticsProvider,\n params: UpdateShippingAddressParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, fields, ...rest } = params;\n delete rest.identify; // This parameter is removed because is a complex parameter for Segment provider only\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n fields: transformArrayParam(fields)\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"update_shipping_info\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default updateShippingAddress;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { UpdateShippingAddressParams } from \"./updateShippingAddress.types\";\n\n/**\n * Emits a updateShippingAddress event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {UpdateShippingAddressParams} params Event configuration parameters\n */\nconst updateShippingAddress = (\n provider: SegmentProvider,\n params: UpdateShippingAddressParams\n) => {\n const { fields, identify, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest, fields: transformArrayParam(fields) };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Update Shipping Address\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n if (!identify) return;\n analytics.identify(identify.id, identify);\n};\n\nexport default updateShippingAddress;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { UpdateShippingAddressParams } from \"./updateShippingAddress.types\";\n\n/**\n * Emits a updateShippingAddress event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {UpdateShippingAddressParams} params Event configuration parameters\n */\nconst updateShippingAddress = (\n provider: FacebookPixelProvider,\n params: UpdateShippingAddressParams\n) => {\n const { fields, ...rest } = params;\n delete rest.userId;\n delete rest.identify; // This parameter is removed because is a complex parameter for Segment provider only\n const enhancedParams = { ...rest, fields: transformArrayParam(fields) };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"UpdateShippingAddress\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default updateShippingAddress;\n","import googleUpdateShippingAddress from \"../../../providers/GoogleAnalytics/events/shipping/updateShippingAddress/updateShippingAddress\";\nimport segmentUpdateShippingAddress from \"../../../providers/Segment/events/shipping/updateShippingAddress/updateShippingAddress\";\nimport facebookUpdateShippingAddress from \"../../../providers/FacebookPixel/events/shipping/updateShippingAddress/updateShippingAddress\";\nimport { UpdateShippingAddressParams } from \"./updateShippingAddress.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a updateShippingAddress event to every configured provider.\n *\n * Log this event when users update their shipping address.\n *\n * @since 0.1.0\n * @property {UpdateShippingAddressParams} params UpdateShippingAddress event parameters\n */\nconst logUpdateShippingAddress = (params: UpdateShippingAddressParams) => {\n triageEventToProviders(\"updateShippingAddress\", params, {\n googleAnalyticsHandler: googleUpdateShippingAddress,\n facebookPixelHandler: facebookUpdateShippingAddress,\n segmentHandler: segmentUpdateShippingAddress\n });\n};\n\nexport default logUpdateShippingAddress;\n","// events index\nimport logAddShippingAddress from \"./addShippingAddress/addShippingAddress\";\nimport logSelectShippingAddress from \"./selectShippingAddress/selectShippingAddress\";\nimport logUpdateShippingAddress from \"./updateShippingAddress/updateShippingAddress\";\n\nconst events = {\n logAddShippingAddress,\n logSelectShippingAddress,\n logUpdateShippingAddress\n};\n\nexport default events;\n","import { getProductTotals } from \"@artisan-commerce/products\";\nimport analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { mapProductToGoogleItem } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { AddProductToCartParams } from \"./addProductToCart.types\";\n\n/**\n * Emits a addProductToCart event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {AddProductToCartParams} params Event configuration parameters\n */\nconst addProductToCart = (\n provider: GoogleAnalyticsProvider,\n params: AddProductToCartParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, product, currency, store, priceCategory, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const { storeName, storeId } = store;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n storeId,\n storeName,\n currency: selectedCurrency\n };\n const { netPrice } = getProductTotals(product);\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"add_to_cart\", {\n items: [mapProductToGoogleItem(product, selectedCurrency)],\n value: totalPrice,\n points: totalPoints,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default addProductToCart;\n","import { getProductTotals } from \"@artisan-commerce/products\";\nimport analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { AddProductToCartParams } from \"./addProductToCart.types\";\n\n/**\n * Emits a addProductToCart event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {AddProductToCartParams} params Event configuration parameters\n */\nconst addProductToCart = (\n provider: SegmentProvider,\n params: AddProductToCartParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, store, currency, priceCategory, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name, amount } = product;\n const { storeName, storeId } = store;\n const enhancedParams = {\n ...rest,\n storeId,\n storeName,\n productId,\n quantity: amount,\n name,\n currency: selectedCurrency\n };\n const { netPrice } = getProductTotals(product);\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n analytics.track(\"Product Added\", {\n price: totalPrice,\n points: totalPoints,\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default addProductToCart;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getProductContent } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { AddProductToCartParams } from \"./addProductToCart.types\";\n\n/**\n * Emits a addProductToCart event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {AddProductToCartParams} params Event configuration parameters\n */\nconst addProductToCart = (\n provider: FacebookPixelProvider,\n params: AddProductToCartParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, store, currency, contentType, priceCategory, ...rest } =\n params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name, amount } = product;\n const { storeName, storeId } = store;\n const enhancedParams = {\n ...rest,\n storeId,\n storeName,\n amount\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n AppEventsLogger.logEvent(\"fb_mobile_add_to_cart\", totalPrice, {\n fb_content_id: productId,\n fb_content_name: name,\n fb_content: getProductContent(product),\n fb_currency: selectedCurrency,\n fb_content_type: contentType,\n points: totalPoints,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default addProductToCart;\n","import googleAddProductToCart from \"../../../providers/GoogleAnalytics/events/shoppingCart/addProductToCart/addProductToCart\";\nimport segmentAddProductToCart from \"../../../providers/Segment/events/shoppingCart/addProductToCart/addProductToCart\";\nimport facebookAddProductToCart from \"../../../providers/FacebookPixel/events/shoppingCart/addProductToCart/addProductToCart\";\nimport { AddProductToCartParams } from \"./addProductToCart.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a addProductToCart event to every configured provider.\n *\n * Log this event when users add a product to the cart.\n *\n * @since 0.1.0\n * @property {AddProductToCartParams} params AddProductToCart event parameters\n */\nconst logAddProductToCart = (params: AddProductToCartParams) => {\n triageEventToProviders(\"addProductToCart\", params, {\n googleAnalyticsHandler: googleAddProductToCart,\n facebookPixelHandler: facebookAddProductToCart,\n segmentHandler: segmentAddProductToCart\n });\n};\n\nexport default logAddProductToCart;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { mapProductToGoogleItem } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { AddProductToWishlistParams } from \"./addProductToWishlist.types\";\n\n/**\n * Emits a addProductToWishlist event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {AddProductToWishlistParams} params Event configuration parameters\n */\nconst addProductToWishlist = (\n provider: GoogleAnalyticsProvider,\n params: AddProductToWishlistParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, product, currency, priceCategory, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n currency: selectedCurrency\n };\n const { netPrice } = getProductTotals(product);\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"add_to_wishlist\", {\n items: [mapProductToGoogleItem(product, selectedCurrency)],\n value: totalPrice,\n points: totalPoints,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default addProductToWishlist;\n","import { getProductTotals } from \"@artisan-commerce/products\";\nimport analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { AddProductToWishlistParams } from \"./addProductToWishlist.types\";\n\n/**\n * Emits a addProductToWishlist event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {AddProductToWishlistParams} params Event configuration parameters\n */\nconst addProductToWishlist = (\n provider: SegmentProvider,\n params: AddProductToWishlistParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, currency, priceCategory, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name, amount } = product;\n const enhancedParams = {\n ...rest,\n productId,\n quantity: amount,\n name,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n analytics.track(\"Add Product To Wishlist\", {\n price: totalPrice,\n points: totalPoints,\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default addProductToWishlist;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getProductContent } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { AddProductToWishlistParams } from \"./addProductToWishlist.types\";\n\n/**\n * Emits a addProductToWishlist event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {AddProductToWishlistParams} params Event configuration parameters\n */\nconst addProductToWishlist = (\n provider: FacebookPixelProvider,\n params: AddProductToWishlistParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, currency, contentType, priceCategory, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name, amount } = product;\n const enhancedParams = {\n ...rest,\n amount\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n AppEventsLogger.logEvent(\"fb_mobile_add_to_wishlist\", totalPrice, {\n fb_content_id: productId,\n fb_content_name: name,\n fb_content_type: contentType,\n fb_content: getProductContent(product),\n fb_currency: selectedCurrency,\n points: totalPoints,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default addProductToWishlist;\n","import googleAddProductToWishlist from \"../../../providers/GoogleAnalytics/events/shoppingCart/addProductToWishlist/addProductToWishlist\";\nimport segmentAddProductToWishlist from \"../../../providers/Segment/events/shoppingCart/addProductToWishlist/addProductToWishlist\";\nimport facebookAddProductToWishlist from \"../../../providers/FacebookPixel/events/shoppingCart/addProductToWishlist/addProductToWishlist\";\nimport { AddProductToWishlistParams } from \"./addProductToWishlist.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a addProductToWishlist event to every configured provider.\n *\n * Log this event when users add a product to the wishlist.\n *\n * @since 0.1.0\n * @property {AddProductToWishlistParams} params AddProductToWishlist event parameters\n */\nconst logAddProductToWishlist = (params: AddProductToWishlistParams) => {\n triageEventToProviders(\"addProductToWishlist\", params, {\n googleAnalyticsHandler: googleAddProductToWishlist,\n facebookPixelHandler: facebookAddProductToWishlist,\n segmentHandler: segmentAddProductToWishlist\n });\n};\n\nexport default logAddProductToWishlist;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ClearCartParams } from \"./clearCart.types\";\n\n/**\n * Emits a clearCart event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ClearCartParams} params Event configuration parameters\n */\nconst clearCart = (\n provider: GoogleAnalyticsProvider,\n params: ClearCartParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"clear_cart\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default clearCart;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ClearCartParams } from \"./clearCart.types\";\n\n/**\n * Emits a clearCart event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ClearCartParams} params Event configuration parameters\n */\nconst clearCart = (provider: SegmentProvider, params: ClearCartParams) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Clear Cart\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default clearCart;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ClearCartParams } from \"./clearCart.types\";\n\n/**\n * Emits a clearCart event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ClearCartParams} params Event configuration parameters\n */\nconst clearCart = (\n provider: FacebookPixelProvider,\n params: ClearCartParams\n) => {\n const { contentType, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ClearCart\", {\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default clearCart;\n","import googleClearCart from \"../../../providers/GoogleAnalytics/events/shoppingCart/clearCart/clearCart\";\nimport segmentClearCart from \"../../../providers/Segment/events/shoppingCart/clearCart/clearCart\";\nimport facebookClearCart from \"../../../providers/FacebookPixel/events/shoppingCart/clearCart/clearCart\";\nimport { ClearCartParams } from \"./clearCart.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a clearCart event to every configured provider.\n *\n * Log this event when users empty the cart.\n *\n * @since 0.1.0\n * @property {ClearCartParams} params ClearCart event parameters\n */\nconst logClearCart = (params: ClearCartParams) => {\n triageEventToProviders(\"clearCart\", params, {\n googleAnalyticsHandler: googleClearCart,\n facebookPixelHandler: facebookClearCart,\n segmentHandler: segmentClearCart\n });\n};\n\nexport default logClearCart;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { RemoveProductFromCartParams } from \"./removeProductFromCart.types\";\n\n/**\n * Emits a removeProductFromCart event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {RemoveProductFromCartParams} params Event configuration parameters\n */\nconst removeProductFromCart = (\n provider: GoogleAnalyticsProvider,\n params: RemoveProductFromCartParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, product, currency, store, priceCategory, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name: productName } = product;\n const { storeName, storeId } = store;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n productId,\n productName,\n storeId,\n storeName,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n analytics().logEvent(\"remove_product_from_cart\", {\n value: totalPrice,\n points: totalPoints,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default removeProductFromCart;\n","import { getProductTotals } from \"@artisan-commerce/products\";\nimport analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { RemoveProductFromCartParams } from \"./removeProductFromCart.types\";\n\n/**\n * Emits a removeProductFromCart.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {RemoveProductFromCartParams} params Event configuration parameters\n */\nconst removeProductFromCart = (\n provider: SegmentProvider,\n params: RemoveProductFromCartParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, store, currency, priceCategory, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name, amount } = product;\n const { storeName, storeId } = store;\n const enhancedParams = {\n ...rest,\n storeId,\n storeName,\n productId,\n quantity: amount,\n name,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n analytics.track(\"Product Removed\", {\n price: totalPrice,\n points: totalPoints,\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default removeProductFromCart;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getProductContent } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { RemoveProductFromCartParams } from \"./removeProductFromCart.types\";\n\n/**\n * Emits a removeProductFromCart.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {RemoveProductFromCartParams} params Event configuration parameters\n */\nconst removeProductFromCart = (\n provider: FacebookPixelProvider,\n params: RemoveProductFromCartParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, store, currency, contentType, priceCategory, ...rest } =\n params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name, amount } = product;\n const { storeName, storeId } = store;\n const enhancedParams = {\n ...rest,\n storeId,\n storeName,\n amount\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n AppEventsLogger.logEvent(\"RemoveProductFromCart\", totalPrice, {\n fb_content_id: productId,\n fb_content_name: name,\n fb_content: getProductContent(product),\n fb_currency: selectedCurrency,\n fb_content_type: contentType,\n points: totalPoints,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default removeProductFromCart;\n","import googleRemoveProductFromCart from \"../../../providers/GoogleAnalytics/events/shoppingCart/removeProductFromCart/removeProductFromCart\";\nimport segmentRemoveProductFromCart from \"../../../providers/Segment/events/shoppingCart/removeProductFromCart/removeProductFromCart\";\nimport facebookRemoveProductFromCart from \"../../../providers/FacebookPixel/events/shoppingCart/removeProductFromCart/removeProductFromCart\";\nimport { RemoveProductFromCartParams } from \"./removeProductFromCart.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a removeProductFromCart event to every configured provider.\n *\n * Log this event when users remove a product from the cart.\n *\n * @since 0.1.0\n * @property {RemoveProductFromCartParams} params RemoveProductFromCart event parameters\n */\nconst logRemoveProductFromCart = (params: RemoveProductFromCartParams) => {\n triageEventToProviders(\"removeProductFromCart\", params, {\n googleAnalyticsHandler: googleRemoveProductFromCart,\n facebookPixelHandler: facebookRemoveProductFromCart,\n segmentHandler: segmentRemoveProductFromCart\n });\n};\n\nexport default logRemoveProductFromCart;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { RemoveProductFromWishlistParams } from \"./removeProductFromWishlist.types\";\n\n/**\n * Emits a removeProductFromWishlist event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {RemoveProductFromWishlistParams} params Event configuration parameters\n */\nconst removeProductFromWishlist = (\n provider: GoogleAnalyticsProvider,\n params: RemoveProductFromWishlistParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, product, currency, priceCategory, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name: productName } = product;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n productId,\n productName,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n analytics().logEvent(\"remove_product_from_wishlist\", {\n value: totalPrice,\n points: totalPoints,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default removeProductFromWishlist;\n","import { getProductTotals } from \"@artisan-commerce/products\";\nimport analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { RemoveProductFromWishlistParams } from \"./removeProductFromWishlist.types\";\n\n/**\n * Emits a removeProductFromWishlist event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {RemoveProductFromWishlistParams} params Event configuration parameters\n */\nconst removeProductFromWishlist = (\n provider: SegmentProvider,\n params: RemoveProductFromWishlistParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, currency, priceCategory, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name, amount } = product;\n const enhancedParams = {\n ...rest,\n productId,\n quantity: amount,\n name,\n currency: selectedCurrency\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n analytics.track(\"Remove Product From Wishlist\", {\n price: totalPrice,\n points: totalPoints,\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default removeProductFromWishlist;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getProductContent } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { RemoveProductFromWishlistParams } from \"./removeProductFromWishlist.types\";\n\n/**\n * Emits a removeProductFromWishlist event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {RemoveProductFromWishlistParams} params Event configuration parameters\n */\nconst removeProductFromWishlist = (\n provider: FacebookPixelProvider,\n params: RemoveProductFromWishlistParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, currency, contentType, priceCategory, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name, amount } = product;\n const enhancedParams = {\n ...rest,\n amount\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n AppEventsLogger.logEvent(\"RemoveProductFromWishlist\", totalPrice, {\n fb_content_id: productId,\n fb_content_name: name,\n fb_content: getProductContent(product),\n fb_currency: selectedCurrency,\n fb_content_type: contentType,\n points: totalPoints,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default removeProductFromWishlist;\n","import googleRemoveProductFromWishlist from \"../../../providers/GoogleAnalytics/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist\";\nimport segmentRemoveProductFromWishlist from \"../../../providers/Segment/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist\";\nimport facebookRemoveProductFromWishlist from \"../../../providers/FacebookPixel/events/shoppingCart/removeProductFromWishlist/removeProductFromWishlist\";\nimport { RemoveProductFromWishlistParams } from \"./removeProductFromWishlist.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a removeProductFromWishlist event to every configured provider.\n *\n * Log this event when users remove a product from the wishlist.\n *\n * @since 0.1.0\n * @property {RemoveProductFromWishlistParams} params RemoveProductFromWishlist event parameters\n */\nconst logRemoveProductFromWishlist = (\n params: RemoveProductFromWishlistParams\n) => {\n triageEventToProviders(\"removeProductFromWishlist\", params, {\n googleAnalyticsHandler: googleRemoveProductFromWishlist,\n facebookPixelHandler: facebookRemoveProductFromWishlist,\n segmentHandler: segmentRemoveProductFromWishlist\n });\n};\n\nexport default logRemoveProductFromWishlist;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { UpdateProductInCartParams } from \"./updateProductInCart.types\";\n\n/**\n * Emits a updateProductInCart event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {UpdateProductInCartParams} params Event configuration parameters\n */\nconst updateProductInCart = (\n provider: GoogleAnalyticsProvider,\n params: UpdateProductInCartParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const {\n callback,\n userId,\n product,\n currency,\n store,\n fields,\n priceCategory,\n ...rest\n } = params;\n const { productId, name: productName } = product;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const { storeName, storeId } = store;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n storeId,\n storeName,\n productId,\n productName,\n currency: selectedCurrency,\n fields: transformArrayParam(fields)\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n analytics().logEvent(\"update_product_in_cart\", {\n value: totalPrice,\n points: totalPoints,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default updateProductInCart;\n","import { getProductTotals } from \"@artisan-commerce/products\";\nimport analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { UpdateProductInCartParams } from \"./updateProductInCart.types\";\n\n/**\n * Emits a updateProductInCart event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {UpdateProductInCartParams} params Event configuration parameters\n */\nconst updateProductInCart = (\n provider: SegmentProvider,\n params: UpdateProductInCartParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, store, currency, fields, priceCategory, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name, amount } = product;\n const { storeName, storeId } = store;\n const enhancedParams = {\n ...rest,\n storeId,\n storeName,\n productId,\n quantity: amount,\n name,\n currency: selectedCurrency,\n fields: transformArrayParam(fields)\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n analytics.track(\"Update Product In Cart\", {\n price: totalPrice,\n points: totalPoints,\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default updateProductInCart;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getProductContent } from \"../../../../../../utils/events.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { UpdateProductInCartParams } from \"./updateProductInCart.types\";\n\n/**\n * Emits a updateProductInCart event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {UpdateProductInCartParams} params Event configuration parameters\n */\nconst updateProductInCart = (\n provider: FacebookPixelProvider,\n params: UpdateProductInCartParams\n) => {\n const { currency: providerCurrency } = provider;\n const {\n product,\n store,\n currency,\n fields,\n contentType,\n priceCategory,\n ...rest\n } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name, amount } = product;\n const { storeName, storeId } = store;\n const enhancedParams = {\n ...rest,\n storeId,\n storeName,\n amount,\n fields: transformArrayParam(fields)\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n AppEventsLogger.logEvent(\"UpdateProductInCart\", totalPrice, {\n fb_content_id: productId,\n fb_content_name: name,\n fb_content: getProductContent(product),\n fb_currency: selectedCurrency,\n fb_content_type: contentType,\n points: totalPoints,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default updateProductInCart;\n","import googleUpdateProductInCart from \"../../../providers/GoogleAnalytics/events/shoppingCart/updateProductInCart/updateProductInCart\";\nimport segmentUpdateProductInCart from \"../../../providers/Segment/events/shoppingCart/updateProductInCart/updateProductInCart\";\nimport facebookUpdateProductInCart from \"../../../providers/FacebookPixel/events/shoppingCart/updateProductInCart/updateProductInCart\";\nimport { UpdateProductInCartParams } from \"./updateProductInCart.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a updateProductInCart event to every configured provider.\n *\n * Log this event when users update a product that was added earlier to the\n * cart.\n *\n * @since 0.1.0\n * @property {UpdateProductInCartParams} params UpdateProductInCart event parameters\n */\nconst logUpdateProductInCart = (params: UpdateProductInCartParams) => {\n triageEventToProviders(\"updateProductInCart\", params, {\n googleAnalyticsHandler: googleUpdateProductInCart,\n facebookPixelHandler: facebookUpdateProductInCart,\n segmentHandler: segmentUpdateProductInCart\n });\n};\n\nexport default logUpdateProductInCart;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { UpdateProductInWishlistParams } from \"./updateProductInWishlist.types\";\n\n/**\n * Emits a updateProductInWishlist event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {UpdateProductInWishlistParams} params Event configuration parameters\n */\nconst updateProductInWishlist = (\n provider: GoogleAnalyticsProvider,\n params: UpdateProductInWishlistParams\n) => {\n const { userId: providerUserId } = provider;\n const { currency: providerCurrency } = provider;\n const { userId, product, currency, fields, priceCategory, ...rest } = params;\n const { productId, name: productName } = product;\n const selectedUserId = userId ?? providerUserId;\n const selectedCurrency = currency ?? providerCurrency;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n productId,\n productName,\n currency: selectedCurrency,\n fields: transformArrayParam(fields)\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n analytics().logEvent(\"update_product_in_wishlist\", {\n value: totalPrice,\n points: totalPoints,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default updateProductInWishlist;\n","import { getProductTotals } from \"@artisan-commerce/products\";\nimport analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { UpdateProductInWishlistParams } from \"./updateProductInWishlist.types\";\n\n/**\n * Emits a updateProductInWishlist event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {UpdateProductInWishlistParams} params Event configuration parameters\n */\nconst updateProductInWishlist = (\n provider: SegmentProvider,\n params: UpdateProductInWishlistParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, currency, fields, priceCategory, ...rest } = params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name, amount } = product;\n const enhancedParams = {\n ...rest,\n productId,\n quantity: amount,\n name,\n currency: selectedCurrency,\n fields: transformArrayParam(fields)\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n analytics.track(\"Update Product In Wishlist\", {\n price: totalPrice,\n points: totalPoints,\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default updateProductInWishlist;\n","import { getProductTotals } from \"@artisan-commerce/products\";\n\nimport { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getProductContent } from \"../../../../../../utils/events.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { UpdateProductInWishlistParams } from \"./updateProductInWishlist.types\";\n\n/**\n * Emits a updateProductInWishlist event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {UpdateProductInWishlistParams} params Event configuration parameters\n */\nconst updateProductInWishlist = (\n provider: FacebookPixelProvider,\n params: UpdateProductInWishlistParams\n) => {\n const { currency: providerCurrency } = provider;\n const { product, currency, fields, contentType, priceCategory, ...rest } =\n params;\n delete rest.userId;\n const selectedCurrency = currency ?? providerCurrency;\n const { productId, name, amount } = product;\n const enhancedParams = {\n ...rest,\n amount,\n fields: transformArrayParam(fields)\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n const { netPrice } = getProductTotals(product);\n const { priceCategory: productPriceCategory } = product;\n const finalPriceCategory = priceCategory ?? productPriceCategory;\n const totalPrice = finalPriceCategory === \"NORMAL\" ? netPrice : 0;\n const totalPoints = finalPriceCategory === \"POINTS\" ? netPrice : 0;\n AppEventsLogger.logEvent(\"UpdateProductInWishlist\", totalPrice, {\n fb_content_id: productId,\n fb_content_name: name,\n fb_content: getProductContent(product),\n fb_currency: selectedCurrency,\n fb_content_type: contentType,\n points: totalPoints,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default updateProductInWishlist;\n","import googleUpdateProductInWishlist from \"../../../providers/GoogleAnalytics/events/shoppingCart/updateProductInWishlist/updateProductInWishlist\";\nimport segmentUpdateProductInWishlist from \"../../../providers/Segment/events/shoppingCart/updateProductInWishlist/updateProductInWishlist\";\nimport facebookUpdateProductInWishlist from \"../../../providers/FacebookPixel/events/shoppingCart/updateProductInWishlist/updateProductInWishlist\";\nimport { UpdateProductInWishlistParams } from \"./updateProductInWishlist.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a updateProductInWishlist event to every configured provider.\n *\n * Log this event when users update a product that was added earlier to the\n * wishlist.\n *\n * @since 0.1.0\n * @property {UpdateProductInWishlistParams} params UpdateProductInWishlist event parameters\n */\nconst logUpdateProductInWishlist = (params: UpdateProductInWishlistParams) => {\n triageEventToProviders(\"updateProductInWishlist\", params, {\n googleAnalyticsHandler: googleUpdateProductInWishlist,\n facebookPixelHandler: facebookUpdateProductInWishlist,\n segmentHandler: segmentUpdateProductInWishlist\n });\n};\n\nexport default logUpdateProductInWishlist;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ViewCartParams } from \"./viewCart.types\";\n\n/**\n * Emits a viewCart event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ViewCartParams} params Event configuration parameters\n */\nconst viewCart = (\n provider: GoogleAnalyticsProvider,\n params: ViewCartParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n delete rest.products;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"view_cart\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewCart;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { mapProductsToSegmentProducts } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ViewCartParams } from \"./viewCart.types\";\n\n/**\n * Emits a viewCart event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ViewCartParams} params Event configuration parameters\n */\nconst viewCart = (provider: SegmentProvider, params: ViewCartParams) => {\n const { products, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Cart Viewed\", {\n products: mapProductsToSegmentProducts(products),\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default viewCart;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ViewCartParams } from \"./viewCart.types\";\n\n/**\n * Emits a viewCart event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ViewCartParams} params Event configuration parameters\n */\nconst viewCart = (provider: FacebookPixelProvider, params: ViewCartParams) => {\n const { contentType, ...rest } = params;\n delete rest.userId;\n delete rest.products;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ViewCart\", {\n fb_content_type: contentType,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default viewCart;\n","import googleViewCart from \"../../../providers/GoogleAnalytics/events/shoppingCart/viewCart/viewCart\";\nimport segmentViewCart from \"../../../providers/Segment/events/shoppingCart/viewCart/viewCart\";\nimport facebookViewCart from \"../../../providers/FacebookPixel/events/shoppingCart/viewCart/viewCart\";\nimport { ViewCartParams } from \"./viewCart.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a viewCart event to every configured provider.\n *\n * Log this event when users view the cart.\n *\n * @since 0.1.0\n * @property {ViewCartParams} params ViewCart event parameters\n */\nconst logViewCart = (params: ViewCartParams) => {\n triageEventToProviders(\"viewCart\", params, {\n googleAnalyticsHandler: googleViewCart,\n facebookPixelHandler: facebookViewCart,\n segmentHandler: segmentViewCart\n });\n};\n\nexport default logViewCart;\n","// events index\nimport logAddProductToCart from \"./addProductToCart/addProductToCart\";\nimport logAddProductToWishlist from \"./addProductToWishlist/addProductToWishlist\";\nimport logClearCart from \"./clearCart/clearCart\";\nimport logRemoveProductFromCart from \"./removeProductFromCart/removeProductFromCart\";\nimport logRemoveProductFromWishlist from \"./removeProductFromWishlist/removeProductFromWishlist\";\nimport logUpdateProductInCart from \"./updateProductInCart/updateProductInCart\";\nimport logUpdateProductInWishlist from \"./updateProductInWishlist/updateProductInWishlist\";\nimport logViewCart from \"./viewCart/viewCart\";\n\nconst events = {\n logAddProductToCart,\n logAddProductToWishlist,\n logClearCart,\n logRemoveProductFromCart,\n logRemoveProductFromWishlist,\n logUpdateProductInCart,\n logUpdateProductInWishlist,\n logViewCart\n};\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ShareParams } from \"./share.types\";\n\n/**\n * Emits a share event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ShareParams} params Event configuration parameters\n */\nconst share = (provider: GoogleAnalyticsProvider, params: ShareParams) => {\n const { userId: providerUserId } = provider;\n const { userId, shareTarget, itemId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"share\", {\n method: shareTarget,\n content_id: itemId,\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default share;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ShareParams } from \"./share.types\";\n\n/**\n * Emits a share event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ShareParams} params Event configuration parameters\n */\nconst share = (provider: SegmentProvider, params: ShareParams) => {\n const { shareTarget, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest, shareVia: shareTarget };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Share\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default share;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ShareParams } from \"./share.types\";\n\n/**\n * Emits a share event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ShareParams} params Event configuration parameters\n */\nconst share = (provider: FacebookPixelProvider, params: ShareParams) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"Share\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default share;\n","import googleShare from \"../../../providers/GoogleAnalytics/events/social/share/share\";\nimport segmentShare from \"../../../providers/Segment/events/social/share/share\";\nimport facebookShare from \"../../../providers/FacebookPixel/events/social/share/share\";\nimport { ShareParams } from \"./share.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a share event to every configured provider.\n *\n * Log this event when users share any content of the application.\n *\n * @since 0.1.0\n * @property {ShareParams} params Share event parameters\n */\nconst logShare = (params: ShareParams) => {\n triageEventToProviders(\"share\", params, {\n googleAnalyticsHandler: googleShare,\n facebookPixelHandler: facebookShare,\n segmentHandler: segmentShare\n });\n};\n\nexport default logShare;\n","// events index\nimport logShare from \"./share/share\";\n\nconst events = { logShare };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ChangeStoreParams } from \"./changeStore.types\";\n\n/**\n * Emits a changeStore event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ChangeStoreParams} params Event configuration parameters\n */\nconst changeStore = (\n provider: GoogleAnalyticsProvider,\n params: ChangeStoreParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, previousStore, nextStore, ...rest } = params;\n const { storeId: previousStoreId } = previousStore;\n const { storeName: previousStoreName } = previousStore;\n const { storeId: nextStoreId, storeName: nextStoreName } = nextStore;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n previousStoreId,\n previousStoreName,\n nextStoreId,\n nextStoreName\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"change_store\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default changeStore;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ChangeStoreParams } from \"./changeStore.types\";\n\n/**\n * Emits a changeStore event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ChangeStoreParams} params Event configuration parameters\n */\nconst changeStore = (provider: SegmentProvider, params: ChangeStoreParams) => {\n const { previousStore, nextStore, ...rest } = params;\n delete rest.userId;\n const { storeId: previousStoreId } = previousStore;\n const { storeName: previousStoreName } = previousStore;\n const { storeId: nextStoreId, storeName: nextStoreName } = nextStore;\n const enhancedParams = {\n ...rest,\n previousStoreId,\n previousStoreName,\n nextStoreId,\n nextStoreName\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Change Store\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default changeStore;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ChangeStoreParams } from \"./changeStore.types\";\n\n/**\n * Emits a changeStore event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ChangeStoreParams} params Event configuration parameters\n */\nconst changeStore = (\n provider: FacebookPixelProvider,\n params: ChangeStoreParams\n) => {\n const { previousStore, nextStore, ...rest } = params;\n delete rest.userId;\n const { storeId: previousStoreId } = previousStore;\n const { storeName: previousStoreName } = previousStore;\n const { storeId: nextStoreId, storeName: nextStoreName } = nextStore;\n const enhancedParams = {\n ...rest,\n previousStoreId,\n previousStoreName,\n nextStoreId,\n nextStoreName\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ChangeStore\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default changeStore;\n","import googleChangeStore from \"../../../providers/GoogleAnalytics/events/store/changeStore/changeStore\";\nimport segmentChangeStore from \"../../../providers/Segment/events/store/changeStore/changeStore\";\nimport facebookChangeStore from \"../../../providers/FacebookPixel/events/store/changeStore/changeStore\";\nimport { ChangeStoreParams } from \"./changeStore.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a changeStore event to every configured provider.\n *\n * Log this event when the selected store has changed.\n *\n * @since 0.1.0\n * @property {ChangeStoreParams} params ChangeStore event parameters\n */\nconst logChangeStore = (params: ChangeStoreParams) => {\n triageEventToProviders(\"changeStore\", params, {\n googleAnalyticsHandler: googleChangeStore,\n facebookPixelHandler: facebookChangeStore,\n segmentHandler: segmentChangeStore\n });\n};\n\nexport default logChangeStore;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SetStoreParams } from \"./setStore.types\";\n\n/**\n * Emits a setStore event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SetStoreParams} params Event configuration parameters\n */\nconst setStore = (\n provider: GoogleAnalyticsProvider,\n params: SetStoreParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, store, ...rest } = params;\n const { storeId, storeName } = store;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n storeId,\n storeName\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"set_store\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default setStore;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SetStoreParams } from \"./setStore.types\";\n\n/**\n * Emits a setStore event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SetStoreParams} params Event configuration parameters\n */\nconst setStore = (provider: SegmentProvider, params: SetStoreParams) => {\n const { store, ...rest } = params;\n delete rest.userId;\n const { storeId, storeName } = store;\n const enhancedParams = {\n ...rest,\n storeId,\n storeName\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Set Store\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default setStore;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SetStoreParams } from \"./setStore.types\";\n\n/**\n * Emits a setStore event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SetStoreParams} params Event configuration parameters\n */\nconst setStore = (provider: FacebookPixelProvider, params: SetStoreParams) => {\n const { store, ...rest } = params;\n delete rest.userId;\n const { storeId, storeName } = store;\n const enhancedParams = {\n ...rest,\n storeId,\n storeName\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SetStore\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default setStore;\n","import googleSetStore from \"../../../providers/GoogleAnalytics/events/store/setStore/setStore\";\nimport segmentSetStore from \"../../../providers/Segment/events/store/setStore/setStore\";\nimport facebookSetStore from \"../../../providers/FacebookPixel/events/store/setStore/setStore\";\nimport { SetStoreParams } from \"./setStore.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a setStore event to every configured provider.\n *\n * Log this event when users set a store for the first time.\n *\n * @since 0.1.0\n * @property {SetStoreParams} params SetStore event parameters\n */\nconst logSetStore = (params: SetStoreParams) => {\n triageEventToProviders(\"setStore\", params, {\n googleAnalyticsHandler: googleSetStore,\n facebookPixelHandler: facebookSetStore,\n segmentHandler: segmentSetStore\n });\n};\n\nexport default logSetStore;\n","// events index\nimport logChangeStore from \"./changeStore/changeStore\";\nimport logSetStore from \"./setStore/setStore\";\n\nconst events = { logChangeStore, logSetStore };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SetUserInfoParams } from \"./setUserInfo.types\";\n\n/**\n * Emits a setUserInfo event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SetUserInfoParams} params Event configuration parameters\n */\nconst setUserInfo = (\n provider: GoogleAnalyticsProvider,\n params: SetUserInfoParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n delete rest.identify;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"set_user_info\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default setUserInfo;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SetUserInfoParams } from \"./setUserInfo.types\";\n\n/**\n * Emits a setUserInfo event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SetUserInfoParams} params Event configuration parameters\n */\nconst setUserInfo = (provider: SegmentProvider, params: SetUserInfoParams) => {\n const { identify, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Set User Info\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n if (!identify) return;\n analytics.identify(identify.id, identify);\n};\n\nexport default setUserInfo;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SetUserInfoParams } from \"./setUserInfo.types\";\n\n/**\n * Emits a setUserInfo event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SetUserInfoParams} params Event configuration parameters\n */\nconst setUserInfo = (\n provider: FacebookPixelProvider,\n params: SetUserInfoParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n delete rest.identify;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SetUserInfo\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default setUserInfo;\n","import googleSetUserInfo from \"../../../providers/GoogleAnalytics/events/user/setUserInfo/setUserInfo\";\nimport segmentSetUserInfo from \"../../../providers/Segment/events/user/setUserInfo/setUserInfo\";\nimport facebookSetUserInfo from \"../../../providers/FacebookPixel/events/user/setUserInfo/setUserInfo\";\nimport { SetUserInfoParams } from \"./setUserInfo.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a setUserInfo event to every configured provider.\n *\n * Log this event when users set data like their birthdate, phone number,\n * etc.\n *\n * @since 0.1.0\n * @property {SetUserInfoParams} params SetUserInfo event parameters\n */\nconst logSetUserInfo = (params: SetUserInfoParams) => {\n triageEventToProviders(\"setUserInfo\", params, {\n googleAnalyticsHandler: googleSetUserInfo,\n facebookPixelHandler: facebookSetUserInfo,\n segmentHandler: segmentSetUserInfo\n });\n};\n\nexport default logSetUserInfo;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { UpdateUserInfoParams } from \"./updateUserInfo.types\";\n\n/**\n * Emits a updateUserInfo event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {UpdateUserInfoParams} params Event configuration parameters\n */\nconst updateUserInfo = (\n provider: GoogleAnalyticsProvider,\n params: UpdateUserInfoParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, fields, ...rest } = params;\n delete rest.identify;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = {\n ...rest,\n userId: selectedUserId,\n fields: transformArrayParam(fields)\n };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"update_user_info\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default updateUserInfo;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { UpdateUserInfoParams } from \"./updateUserInfo.types\";\n\n/**\n * Emits a updateUserInfo event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {UpdateUserInfoParams} params Event configuration parameters\n */\nconst updateUserInfo = (\n provider: SegmentProvider,\n params: UpdateUserInfoParams\n) => {\n const { fields, identify, ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest, fields: transformArrayParam(fields) };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Update User Info\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n if (!identify) return;\n analytics.identify(identify.id, identify);\n};\n\nexport default updateUserInfo;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { transformArrayParam } from \"../../../../../../utils/events.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { UpdateUserInfoParams } from \"./updateUserInfo.types\";\n\n/**\n * Emits a updateUserInfo event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {UpdateUserInfoParams} params Event configuration parameters\n */\nconst updateUserInfo = (\n provider: FacebookPixelProvider,\n params: UpdateUserInfoParams\n) => {\n const { fields, ...rest } = params;\n delete rest.userId;\n delete rest.identify;\n const enhancedParams = { ...rest, fields: transformArrayParam(fields) };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"UpdateUserInfo\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default updateUserInfo;\n","import googleUpdateUserInfo from \"../../../providers/GoogleAnalytics/events/user/updateUserInfo/updateUserInfo\";\nimport segmentUpdateUserInfo from \"../../../providers/Segment/events/user/updateUserInfo/updateUserInfo\";\nimport facebookUpdateUserInfo from \"../../../providers/FacebookPixel/events/user/updateUserInfo/updateUserInfo\";\nimport { UpdateUserInfoParams } from \"./updateUserInfo.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits an updateUserInfo event to every configured provider.\n *\n * Log this event when users update data like their birthdate, phone number,\n * etc.\n *\n * @since 0.1.0\n * @property {UpdateUserInfoParams} params UpdateUserInfo event parameters\n */\nconst logUpdateUserInfo = (params: UpdateUserInfoParams) => {\n triageEventToProviders(\"updateUserInfo\", params, {\n googleAnalyticsHandler: googleUpdateUserInfo,\n facebookPixelHandler: facebookUpdateUserInfo,\n segmentHandler: segmentUpdateUserInfo\n });\n};\n\nexport default logUpdateUserInfo;\n","// events index\nimport logSetUserInfo from \"./setUserInfo/setUserInfo\";\nimport logUpdateUserInfo from \"./updateUserInfo/updateUserInfo\";\n\nconst events = { logSetUserInfo, logUpdateUserInfo };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { ChangeVendorParams } from \"./changeVendor.types\";\n\n/**\n * Emits a changeVendor event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {ChangeVendorParams} params Event configuration parameters\n */\nconst changeVendor = (\n provider: GoogleAnalyticsProvider,\n params: ChangeVendorParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"change_vendor\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default changeVendor;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { ChangeVendorParams } from \"./changeVendor.types\";\n\n/**\n * Emits a changeVendor event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {ChangeVendorParams} params Event configuration parameters\n */\nconst changeVendor = (\n provider: SegmentProvider,\n params: ChangeVendorParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Change Vendor\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default changeVendor;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { ChangeVendorParams } from \"./changeVendor.types\";\n\n/**\n * Emits a changeVendor event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {ChangeVendorParams} params Event configuration parameters\n */\nconst changeVendor = (\n provider: FacebookPixelProvider,\n params: ChangeVendorParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"ChangeVendor\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default changeVendor;\n","import googleChangeVendor from \"../../../providers/GoogleAnalytics/events/vendor/changeVendor/changeVendor\";\nimport segmentChangeVendor from \"../../../providers/Segment/events/vendor/changeVendor/changeVendor\";\nimport facebookChangeVendor from \"../../../providers/FacebookPixel/events/vendor/changeVendor/changeVendor\";\nimport { ChangeVendorParams } from \"./changeVendor.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a changeVendor event to every configured provider.\n *\n * Log this event when the vendor has change.\n *\n * @since 0.1.0\n * @property {ChangeVendorParams} params ChangeVendor event parameters\n */\nconst logChangeVendor = (params: ChangeVendorParams) => {\n triageEventToProviders(\"changeVendor\", params, {\n googleAnalyticsHandler: googleChangeVendor,\n facebookPixelHandler: facebookChangeVendor,\n segmentHandler: segmentChangeVendor\n });\n};\n\nexport default logChangeVendor;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SetVendorParams } from \"./setVendor.types\";\n\n/**\n * Emits a setVendor event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SetVendorParams} params Event configuration parameters\n */\nconst setVendor = (\n provider: GoogleAnalyticsProvider,\n params: SetVendorParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"set_vendor\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default setVendor;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SetVendorParams } from \"./setVendor.types\";\n\n/**\n * Emits a setVendor event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {SetVendorParams} params Event configuration parameters\n */\nconst setVendor = (provider: SegmentProvider, params: SetVendorParams) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Set Vendor\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default setVendor;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SetVendorParams } from \"./setVendor.types\";\n\n/**\n * Emits a setVendor event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {SetVendorParams} params Event configuration parameters\n */\nconst setVendor = (\n provider: FacebookPixelProvider,\n params: SetVendorParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SetVendor\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default setVendor;\n","import googleSetVendor from \"../../../providers/GoogleAnalytics/events/vendor/setVendor/setVendor\";\nimport segmentSetVendor from \"../../../providers/Segment/events/vendor/setVendor/setVendor\";\nimport facebookSetVendor from \"../../../providers/FacebookPixel/events/vendor/setVendor/setVendor\";\nimport { SetVendorParams } from \"./setVendor.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a setVendor event to every configured provider.\n *\n * Log this event when users set the vendor for the first time.\n *\n * @since 0.1.0\n * @property {SetVendorParams} params SetVendor event parameters\n */\nconst logSetVendor = (params: SetVendorParams) => {\n triageEventToProviders(\"setVendor\", params, {\n googleAnalyticsHandler: googleSetVendor,\n facebookPixelHandler: facebookSetVendor,\n segmentHandler: segmentSetVendor\n });\n};\n\nexport default logSetVendor;\n","// events index\nimport logChangeVendor from \"./changeVendor/changeVendor\";\nimport logSetVendor from \"./setVendor/setVendor\";\n\nconst events = { logChangeVendor, logSetVendor };\n\nexport default events;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { SelectWorkflowParams } from \"./selectWorkflow.types\";\n\n/**\n * Emits a selectWorkflow event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {SelectWorkflowParams} params Event configuration parameters\n */\nconst selectWorkflow = (\n provider: GoogleAnalyticsProvider,\n params: SelectWorkflowParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"select_workflow\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectWorkflow;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { SelectWorkflowParams } from \"./selectWorkflow.types\";\n\n/**\n * Emits a selectWorkflow event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {selectWorkflowParams} params Event configuration parameters\n */\nconst selectWorkflow = (\n provider: SegmentProvider,\n params: SelectWorkflowParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Select Workflow\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default selectWorkflow;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { SelectWorkflowParams } from \"./selectWorkflow.types\";\n\n/**\n * Emits a selectWorkflow event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {selectWorkflowParams} params Event configuration parameters\n */\nconst selectWorkflow = (\n provider: FacebookPixelProvider,\n params: SelectWorkflowParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"SelectWorkflow\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default selectWorkflow;\n","import googleSelectWorkflow from \"../../../providers/GoogleAnalytics/events/workflow/selectWorkflow/selectWorkflow\";\nimport segmentSelectWorkflow from \"../../../providers/Segment/events/workflow/selectWorkflow/selectWorkflow\";\nimport facebookSelectWorkflow from \"../../../providers/FacebookPixel/events/workflow/selectWorkflow/selectWorkflow\";\nimport { SelectWorkflowParams } from \"./selectWorkflow.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a SelectWorkflow event to every configured provider.\n *\n * Log this event when users set the workflow for the first time.\n *\n * @since 0.1.0\n * @property {SelectWorkflowParams} params SelectWorkflow event parameters\n */\nconst logSelectWorkflow = (params: SelectWorkflowParams) => {\n triageEventToProviders(\"selectWorkflow\", params, {\n googleAnalyticsHandler: googleSelectWorkflow,\n facebookPixelHandler: facebookSelectWorkflow,\n segmentHandler: segmentSelectWorkflow\n });\n};\n\nexport default logSelectWorkflow;\n","import analytics from \"@react-native-firebase/analytics\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { GoogleAnalyticsProvider } from \"../../../GoogleAnalytics.types\";\nimport { UpdateWorkflowParams } from \"./updateWorkflow.types\";\n\n/**\n * Emits a updateWorkflow event to a Google Analytics Provider.\n *\n * @since 0.1.0\n * @param {GoogleAnalyticsProvider} provider The provider instance that will emit the event\n * @param {UpdateWorkflowParams} params Event configuration parameters\n */\nconst updateWorkflow = (\n provider: GoogleAnalyticsProvider,\n params: UpdateWorkflowParams\n) => {\n const { userId: providerUserId } = provider;\n const { userId, ...rest } = params;\n const selectedUserId = userId ?? providerUserId;\n const enhancedParams = { ...rest, userId: selectedUserId };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics().logEvent(\"update_workflow\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default updateWorkflow;\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { SegmentProvider } from \"../../../Segment.types\";\nimport { UpdateWorkflowParams } from \"./updateWorkflow.types\";\n\n/**\n * Emits a updateWorkflow event to a Segment Provider.\n *\n * @since 0.1.0\n * @param {SegmentProvider} provider The provider instance that will emit the event\n * @param {updateWorkflowParams} params Event configuration parameters\n */\nconst updateWorkflow = (\n provider: SegmentProvider,\n params: UpdateWorkflowParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n analytics.track(\"Update Workflow\", {\n ...transformedParams,\n ...(transformedMeta as any)\n });\n};\n\nexport default updateWorkflow;\n","import { AppEventsLogger } from \"react-native-fbsdk-next\";\n\nimport { eventParamsToSnakeCase } from \"../../../../../../utils/common.utils\";\nimport { getState } from \"../../../../../../utils/state.utils\";\nimport { FacebookPixelProvider } from \"../../../FacebookPixel.types\";\nimport { UpdateWorkflowParams } from \"./updateWorkflow.types\";\n\n/**\n * Emits a updateWorkflow event to a Facebook Pixel Provider.\n *\n * @since 0.1.0\n * @param {FacebookPixelProvider} provider The provider instance that will emit the event\n * @param {updateWorkflowParams} params Event configuration parameters\n */\nconst updateWorkflow = (\n provider: FacebookPixelProvider,\n params: UpdateWorkflowParams\n) => {\n const { ...rest } = params;\n delete rest.userId;\n const enhancedParams = { ...rest };\n const transformedParams = eventParamsToSnakeCase(enhancedParams);\n const { meta } = getState();\n const transformedMeta = eventParamsToSnakeCase(meta);\n AppEventsLogger.logEvent(\"UpdateWorkflow\", {\n ...transformedParams,\n ...transformedMeta\n });\n};\n\nexport default updateWorkflow;\n","import googleUpdateWorkflow from \"../../../providers/GoogleAnalytics/events/workflow/updateWorkflow/updateWorkflow\";\nimport segmentUpdateWorkflow from \"../../../providers/Segment/events/workflow/updateWorkflow/updateWorkflow\";\nimport facebookUpdateWorkflow from \"../../../providers/FacebookPixel/events/workflow/updateWorkflow/updateWorkflow\";\nimport { UpdateWorkflowParams } from \"./updateWorkflow.types\";\nimport { triageEventToProviders } from \"../../../../utils/events.utils\";\n\n/**\n * Emits a UpdateWorkflow event to every configured provider.\n *\n * Log this event when the workflow has changed.\n *\n * @since 0.1.0\n * @property {UpdateWorkflowParams} params UpdateWorkflow event parameters\n */\nconst logUpdateWorkflow = (params: UpdateWorkflowParams) => {\n triageEventToProviders(\"updateWorkflow\", params, {\n googleAnalyticsHandler: googleUpdateWorkflow,\n facebookPixelHandler: facebookUpdateWorkflow,\n segmentHandler: segmentUpdateWorkflow\n });\n};\n\nexport default logUpdateWorkflow;\n","// events index\nimport logSelectWorkflow from \"./selectWorkflow/selectWorkflow\";\nimport logUpdateWorkflow from \"./updateWorkflow/updateWorkflow\";\n\nconst events = { logSelectWorkflow, logUpdateWorkflow };\n\nexport default events;\n","// events index\nimport auth from \"./auth\";\nimport banner from \"./banner\";\nimport billing from \"./billing\";\nimport booking from \"./booking\";\nimport category from \"./category\";\nimport checkout from \"./checkout\";\nimport coupon from \"./coupon\";\nimport credit from \"./credit\";\nimport logCustomEvent from \"./customEvent/customEvent\";\nimport fulfillment from \"./fulfillment\";\nimport geo from \"./geo\";\nimport help from \"./help\";\nimport loyalty from \"./loyalty\";\nimport order from \"./order\";\nimport other from \"./other\";\nimport payment from \"./payment\";\nimport product from \"./product\";\nimport purchase from \"./purchase\";\nimport settings from \"./settings\";\nimport shipping from \"./shipping\";\nimport shoppingCart from \"./shoppingCart\";\nimport social from \"./social\";\nimport store from \"./store\";\nimport user from \"./user\";\nimport vendor from \"./vendor\";\nimport workflow from \"./workflow\";\n\nconst events = {\n auth,\n banner,\n billing,\n booking,\n category,\n checkout,\n coupon,\n credit,\n fulfillment,\n geo,\n help,\n logCustomEvent,\n loyalty,\n order,\n other,\n payment,\n product,\n purchase,\n settings,\n shipping,\n shoppingCart,\n social,\n store,\n user,\n vendor,\n workflow\n};\n\nexport default events;\n","import { Vendor } from \"@artisan-commerce/types\";\n\nimport { logMessage } from \"./logs.utils\";\nimport { getState, setState } from \"./state.utils\";\n\n/**\n * Utility function to update the active vendor.\n *\n * @since 0.1.0\n * @param {Vendor|number} vendor New active vendor\n */\nexport const updateActiveVendor = (\n vendor: Vendor | Vendor[\"id\"] | -1 | undefined\n) => {\n const vendorType = typeof vendor;\n if (\n vendorType !== \"string\" &&\n vendor !== -1 &&\n vendorType !== \"object\" &&\n vendorType !== \"undefined\"\n ) {\n return logMessage(\n \"The type of vendor must be a string, -1 or Vendor type\",\n \"severe\"\n );\n }\n const oldState = getState();\n if (\n typeof vendor === \"string\" ||\n typeof vendor === \"undefined\" ||\n vendor === -1\n ) {\n setState({\n ...oldState,\n activeVendor: vendor,\n meta: { ...oldState.meta, vendorName: undefined, vendorId: vendor }\n });\n } else {\n const { id, name } = vendor;\n setState({\n ...oldState,\n activeVendor: id,\n meta: { ...oldState.meta, vendorName: name, vendorId: id }\n });\n }\n};\n","import analytics from \"@segment/analytics-react-native\";\n\nimport { Segment } from \"../lib/providers/Segment/Segment.types\";\n\n/**\n * Utility function to identify a user across Segment destinations.\n *\n * @since 0.1.0\n * @param {Segment.Traits} identify Pieces of information you know about a user that are included in an identify call\n */\nexport const identifyUser = (identify: Segment.Traits) => {\n analytics.identify(identify.id, identify);\n};\n"],"names":["__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","state","setState","getState","initialState","getStateLib","setStateLib","__spreadProps","changePasswordAttempt","__defProp$k","__getOwnPropSymbols$k","__hasOwnProp$k","__propIsEnum$k","__defNormalProp$k","__spreadValues$k","isBaseProduct","isProductDetails","isCartProduct","__defProp$7$1","__defProps$5$1","__getOwnPropDescs$5$1","__getOwnPropSymbols$7$1","__hasOwnProp$7$1","__propIsEnum$7$1","__defNormalProp$7$1","__spreadValues$7$1","__spreadProps$5$1","operationOnProductQA","__defProp$6$1","__defProps$4$1","__getOwnPropDescs$4$1","__getOwnPropSymbols$6$1","__hasOwnProp$6$1","__propIsEnum$6$1","__defNormalProp$6$1","__spreadValues$6$1","__spreadProps$4$1","toCartProductFromProductDetails","toProductDetails","getProductTotals","getProductGrossPrice","getProductTotalDiscounts","getProductTotalTaxes","getProductNetPrice","getTaxTotal","getModifiersTotalTaxes","getProductFieldPrice","getModifiersFieldTotal","__defProp$g","__defProps$c","__getOwnPropDescs$c","__getOwnPropSymbols$g","__hasOwnProp$g","__propIsEnum$g","__defNormalProp$g","__spreadValues$g","__spreadProps$c","__defProp$7","__defProps$5","__getOwnPropDescs$5","__getOwnPropSymbols$7","__hasOwnProp$7","__propIsEnum$7","__defNormalProp$7","__spreadValues$7","__spreadProps$5","__defProp$6","__defProps$4","__getOwnPropDescs$4","__getOwnPropSymbols$6","__hasOwnProp$6","__propIsEnum$6","__defNormalProp$6","__spreadValues$6","__spreadProps$4","googleChangePasswordAttempt","facebookChangePasswordAttempt","segmentChangePasswordAttempt","signUpAttempt","googleSignUpAttempt","facebookSignUpAttempt","segmentSignUpAttempt","changePasswordFail","googleChangePasswordFail","facebookChangePasswordFail","segmentChangePasswordFail","changePasswordSuccess","googleChangePasswordSuccess","facebookChangePasswordSuccess","segmentChangePasswordSuccess","signIn","googleSignIn","facebookSignIn","segmentSignIn","signOut","googleSignOut","facebookSignOut","segmentSignOut","signUp","googleSignUp","facebookSignUp","segmentSignUp","events","bannerImpression","googleBannerImpression","facebookBannerImpression","segmentBannerImpression","selectBanner","googleSelectBanner","facebookSelectBanner","segmentSelectBanner","addBillingInfo","googleAddBillingInfo","facebookAddBillingInfo","segmentAddBillingInfo","selectBillingInfo","googleSelectBillingInfo","facebookSelectBillingInfo","segmentSelectBillingInfo","updateBillingInfo","googleUpdateBillingInfo","facebookUpdateBillingInfo","segmentUpdateBillingInfo","bookAppointment","googleBookAppointment","facebookBookAppointment","segmentBookAppointment","categoryImpression","googleCategoryImpression","facebookCategoryImpression","segmentCategoryImpression","searchCategoryAttempt","googleSearchCategoryAttempt","facebookSearchCategoryAttempt","segmentSearchCategoryAttempt","selectCategory","googleSelectCategory","facebookSelectCategory","segmentSelectCategory","viewCategory","googleViewCategory","facebookViewCategory","segmentViewCategory","checkoutAction","googleCheckoutAction","facebookCheckoutAction","segmentCheckoutAction","initiateCheckout","googleInitiateCheckout","facebookInitiateCheckout","segmentInitiateCheckout","applyBenefit","googleApplyBenefit","facebookApplyBenefit","segmentApplyBenefit","couponCodeError","googleCouponCodeError","facebookCouponCodeError","segmentCouponCodeError","redeemCouponCode","googleRedeemCouponCode","facebookRedeemCouponCode","segmentRedeemCouponCode","removeBenefit","googleRemoveBenefit","facebookRemoveBenefit","segmentRemoveBenefit","viewBenefitDetails","googleViewBenefitDetails","facebookViewBenefitDetails","segmentViewBenefitDetails","viewBenefitsWallet","googleViewBenefitsWallet","facebookViewBenefitsWallet","segmentViewBenefitsWallet","viewQRStoreCoupon","googleViewQRStoreCoupon","facebookViewQRStoreCoupon","segmentViewQRStoreCoupon","addCredits","googleAddCredits","facebookAddCredits","segmentAddCredits","spendCredits","googleSpendCredits","facebookSpendCredits","segmentSpendCredits","viewCredits","googleViewCredits","facebookViewCredits","segmentViewCredits","customEvent","googleCustomEvent","facebookCustomEvent","segmentCustomEvent","viewFulfillmentStep","googleViewFulfillmentStep","facebookViewFulfillmentStep","segmentViewFulfillmentStep","viewTracking","googleViewTracking","facebookViewTracking","segmentViewTracking","changeLocation","googleChangeLocation","facebookChangeLocation","segmentChangeLocation","findLocation","googleFindLocation","facebookFindLocation","segmentFindLocation","outOfCoverage","googleOutOfCoverage","facebookOutOfCoverage","segmentOutOfCoverage","setLocation","googleSetLocation","facebookSetLocation","segmentSetLocation","requestAssistance","googleRequestAssistance","facebookRequestAssistance","segmentRequestAssistance","earnPoints","googleEarnPoints","facebookEarnPoints","segmentEarnPoints","sharePoints","googleSharePoints","facebookSharePoints","segmentSharePoints","spendPoints","googleSpendPoints","facebookSpendPoints","segmentSpendPoints","viewLoyaltyLevel","googleViewLoyaltyLevel","facebookViewLoyaltyLevel","segmentViewLoyaltyLevel","cancelOrder","googleCancelOrder","facebookCancelOrder","segmentCancelOrder","rateOrder","googleRateOrder","facebookRateOrder","segmentRateOrder","requestRefund","googleRequestRefund","facebookRequestRefund","segmentRequestRefund","generateLead","googleGenerateLead","facebookGenerateLead","segmentGenerateLead","screenView","googleScreenView","facebookScreenView","segmentScreenView","searchPageContent","googleSearchPageContent","facebookSearchPageContent","segmentSearchPageContent","changePaymentType","googleChangePaymentType","facebookChangePaymentType","segmentChangePaymentType","selectPaymentType","googleSelectPaymentType","facebookSelectPaymentType","segmentSelectPaymentType","setPaymentInfo","googleSetPaymentInfo","facebookSetPaymentInfo","segmentSetPaymentInfo","customizeProduct","googleCustomizeProduct","facebookCustomizeProduct","segmentCustomizeProduct","filterProducts","googleFilterProducts","facebookFilterProducts","segmentFilterProducts","productImpression","googleProductImpression","facebookProductImpression","segmentProductImpression","searchProductSuccess","googleSearchProductSuccess","facebookSearchProductSuccess","segmentSearchProductSuccess","searchProductAttempt","googleSearchProductAttempt","facebookSearchProductAttempt","segmentSearchProductAttempt","searchProductNotFound","googleSearchProductNotFound","facebookSearchProductNotFound","segmentSearchProductNotFound","selectProduct","googleSelectProduct","facebookSelectProduct","segmentSelectProduct","sortProducts","googleSortProducts","facebookSortProducts","segmentSortProducts","viewProductDetails","googleViewProductDetails","facebookViewProductDetails","segmentViewProductDetails","purchaseAttempt","googlePurchaseAttempt","facebookPurchaseAttempt","segmentPurchaseAttempt","purchaseFail","googlePurchaseFail","facebookPurchaseFail","segmentPurchaseFail","purchaseSuccess","googlePurchaseSuccess","facebookPurchaseSuccess","segmentPurchaseSuccess","viewSettings","googleViewSettings","facebookViewSettings","segmentViewSettings","addShippingAddress","googleAddShippingAddress","facebookAddShippingAddress","segmentAddShippingAddress","selectShippingAddress","googleSelectShippingAddress","facebookSelectShippingAddress","segmentSelectShippingAddress","updateShippingAddress","googleUpdateShippingAddress","facebookUpdateShippingAddress","segmentUpdateShippingAddress","addProductToCart","googleAddProductToCart","facebookAddProductToCart","segmentAddProductToCart","addProductToWishlist","googleAddProductToWishlist","facebookAddProductToWishlist","segmentAddProductToWishlist","clearCart","googleClearCart","facebookClearCart","segmentClearCart","removeProductFromCart","googleRemoveProductFromCart","facebookRemoveProductFromCart","segmentRemoveProductFromCart","removeProductFromWishlist","googleRemoveProductFromWishlist","facebookRemoveProductFromWishlist","segmentRemoveProductFromWishlist","updateProductInCart","googleUpdateProductInCart","facebookUpdateProductInCart","segmentUpdateProductInCart","updateProductInWishlist","googleUpdateProductInWishlist","facebookUpdateProductInWishlist","segmentUpdateProductInWishlist","viewCart","googleViewCart","facebookViewCart","segmentViewCart","share","googleShare","facebookShare","segmentShare","changeStore","googleChangeStore","facebookChangeStore","segmentChangeStore","setStore","googleSetStore","facebookSetStore","segmentSetStore","setUserInfo","googleSetUserInfo","facebookSetUserInfo","segmentSetUserInfo","updateUserInfo","googleUpdateUserInfo","facebookUpdateUserInfo","segmentUpdateUserInfo","changeVendor","googleChangeVendor","facebookChangeVendor","segmentChangeVendor","setVendor","googleSetVendor","facebookSetVendor","segmentSetVendor","selectWorkflow","googleSelectWorkflow","facebookSelectWorkflow","segmentSelectWorkflow","updateWorkflow","googleUpdateWorkflow","facebookUpdateWorkflow","segmentUpdateWorkflow","auth","banner","billing","booking","category","checkout","coupon","credit","fulfillment","geo","help","loyalty","order","other","payment","product","purchase","settings","shipping","shoppingCart","social","store","user","vendor","workflow"],"mappings":"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"}
|