@moneylion/react-native-offer-carousel 1.0.9 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/lib/commonjs/capabilities/offer-catalog/src/api/offerCatalogApi.js +22 -6
  2. package/lib/commonjs/capabilities/offer-catalog/src/api/offerCatalogApi.js.map +1 -1
  3. package/lib/commonjs/components/MoneyLionOfferCarousel.js +68 -24
  4. package/lib/commonjs/components/MoneyLionOfferCarousel.js.map +1 -1
  5. package/lib/commonjs/pageData.js +5 -3
  6. package/lib/commonjs/pageData.js.map +1 -1
  7. package/lib/commonjs/services/getDynamicOffers.js +30 -19
  8. package/lib/commonjs/services/getDynamicOffers.js.map +1 -1
  9. package/lib/commonjs/utils/getOffersByProductTypes.js +31 -6
  10. package/lib/commonjs/utils/getOffersByProductTypes.js.map +1 -1
  11. package/lib/module/capabilities/offer-catalog/src/api/offerCatalogApi.js +22 -6
  12. package/lib/module/capabilities/offer-catalog/src/api/offerCatalogApi.js.map +1 -1
  13. package/lib/module/components/MoneyLionOfferCarousel.js +68 -24
  14. package/lib/module/components/MoneyLionOfferCarousel.js.map +1 -1
  15. package/lib/module/pageData.js +5 -3
  16. package/lib/module/pageData.js.map +1 -1
  17. package/lib/module/services/getDynamicOffers.js +30 -19
  18. package/lib/module/services/getDynamicOffers.js.map +1 -1
  19. package/lib/module/utils/getOffersByProductTypes.js +31 -6
  20. package/lib/module/utils/getOffersByProductTypes.js.map +1 -1
  21. package/lib/typescript/src/capabilities/offer-catalog/src/api/offerCatalogApi.d.ts +14 -1
  22. package/lib/typescript/src/capabilities/offer-catalog/src/api/offerCatalogApi.d.ts.map +1 -1
  23. package/lib/typescript/src/capabilities/offer-catalog/src/types/offerCatalogSchema.d.ts +1 -0
  24. package/lib/typescript/src/capabilities/offer-catalog/src/types/offerCatalogSchema.d.ts.map +1 -1
  25. package/lib/typescript/src/components/MoneyLionOfferCarousel.d.ts +6 -0
  26. package/lib/typescript/src/components/MoneyLionOfferCarousel.d.ts.map +1 -1
  27. package/lib/typescript/src/pageData.d.ts +1 -0
  28. package/lib/typescript/src/pageData.d.ts.map +1 -1
  29. package/lib/typescript/src/services/getDynamicOffers.d.ts +3 -2
  30. package/lib/typescript/src/services/getDynamicOffers.d.ts.map +1 -1
  31. package/lib/typescript/src/utils/getOffersByProductTypes.d.ts +10 -4
  32. package/lib/typescript/src/utils/getOffersByProductTypes.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/src/capabilities/offer-catalog/src/api/offerCatalogApi.ts +24 -6
  35. package/src/capabilities/offer-catalog/src/types/offerCatalogSchema.ts +1 -0
  36. package/src/components/MoneyLionOfferCarousel.tsx +91 -21
  37. package/src/pageData.ts +14 -12
  38. package/src/services/getDynamicOffers.ts +31 -27
  39. package/src/utils/getOffersByProductTypes.ts +15 -10
@@ -11,7 +11,8 @@ const getConfiguration = async ({
11
11
  channel,
12
12
  zone,
13
13
  subAccountToken,
14
- isDev
14
+ isDev,
15
+ onError
15
16
  }) => {
16
17
  const url = `${getConfigApiBaseUrl(isDev)}/network/${channel}/${zone}/api/configuration`;
17
18
  const headers = {
@@ -22,12 +23,25 @@ const getConfiguration = async ({
22
23
  headers
23
24
  });
24
25
  if (!response.ok) {
25
- throw new Error();
26
+ const errorCode = response.status;
27
+ onError === null || onError === void 0 || onError({
28
+ code: errorCode,
29
+ message: `Configuration request failed with status: ${response.status}`,
30
+ timestamp: new Date().toISOString()
31
+ });
32
+ throw new Error(`Configuration request failed with status: ${response.status}`);
26
33
  }
27
34
  const data = await response.json();
28
35
  return data;
29
36
  } catch (error) {
30
37
  console.error("Error fetching configuration", error);
38
+ if (!(error instanceof Error && error.message.includes("status"))) {
39
+ // Call if network error not already reported
40
+ onError === null || onError === void 0 || onError({
41
+ message: "Network request failed",
42
+ timestamp: new Date().toISOString()
43
+ });
44
+ }
31
45
  return localCnfContext;
32
46
  }
33
47
  };
@@ -38,7 +52,9 @@ export const MoneyLionOfferCarousel = props => {
38
52
  subAccountToken,
39
53
  fontFamily,
40
54
  isDev,
41
- showDescriptionPoints = true
55
+ showDescriptionPoints = true,
56
+ onError,
57
+ onLoad
42
58
  } = props;
43
59
  const {
44
60
  onInitialize,
@@ -70,17 +86,27 @@ export const MoneyLionOfferCarousel = props => {
70
86
  channel,
71
87
  zone,
72
88
  subAccountToken,
73
- isDev
89
+ isDev,
90
+ onError
74
91
  });
75
92
  setContext(data.serializableContext);
76
93
  } catch (err) {
77
- setError(err instanceof Error ? err : new Error("Failed to fetch configuration"));
94
+ const errorObj = err instanceof Error ? err : new Error("Failed to fetch configuration");
95
+ setError(errorObj);
96
+
97
+ // Only call onError if not already called in getConfiguration
98
+ if (!errorObj.message.includes("status")) {
99
+ onError === null || onError === void 0 || onError({
100
+ message: errorObj.message,
101
+ timestamp: new Date().toISOString()
102
+ });
103
+ }
78
104
  } finally {
79
105
  setIsLoading(false);
80
106
  }
81
107
  };
82
108
  fetchConfiguration();
83
- }, [channel, zone, subAccountToken, isDev]);
109
+ }, [channel, zone, subAccountToken, isDev, onError]);
84
110
  useEffect(() => {
85
111
  if (isLoading) {
86
112
  onInitialize === null || onInitialize === void 0 || onInitialize({
@@ -91,26 +117,44 @@ export const MoneyLionOfferCarousel = props => {
91
117
  useEffect(() => {
92
118
  const fetchPageData = async () => {
93
119
  if (context) {
94
- const data = await getPageData({
95
- context: {
96
- ...context,
97
- isDev
98
- },
99
- params: props,
100
- onRateTableSubmit
101
- });
102
- onRateTableResponse === null || onRateTableResponse === void 0 || onRateTableResponse({
103
- timestamp: new Date().toISOString(),
104
- isError: Boolean(data.isError),
105
- offers: data.offers,
106
- rateTableUuid: data.rateTableUuid,
107
- leadUuid: data.leadUuid
108
- });
109
- setPageData(data);
120
+ try {
121
+ const data = await getPageData({
122
+ context: {
123
+ ...context,
124
+ isDev
125
+ },
126
+ params: props,
127
+ onRateTableSubmit
128
+ });
129
+
130
+ // Check for API errors in the response
131
+ if (data.isError) {
132
+ onError === null || onError === void 0 || onError({
133
+ code: data.errorCode,
134
+ message: "Rate table error occurred",
135
+ timestamp: new Date().toISOString()
136
+ });
137
+ }
138
+ onRateTableResponse === null || onRateTableResponse === void 0 || onRateTableResponse({
139
+ timestamp: new Date().toISOString(),
140
+ isError: Boolean(data.isError),
141
+ offers: data.offers,
142
+ rateTableUuid: data.rateTableUuid,
143
+ leadUuid: data.leadUuid
144
+ });
145
+ setPageData(data);
146
+ onLoad === null || onLoad === void 0 || onLoad(data.offers.length);
147
+ } catch (err) {
148
+ const errorObj = err instanceof Error ? err : new Error("Failed to fetch page data");
149
+ onError === null || onError === void 0 || onError({
150
+ message: errorObj.message,
151
+ timestamp: new Date().toISOString()
152
+ });
153
+ }
110
154
  }
111
155
  };
112
156
  fetchPageData();
113
- }, [context, isDev, onRateTableResponse, onRateTableSubmit, props]);
157
+ }, [context, isDev, onRateTableResponse, onRateTableSubmit, props, isLoading, onError, onLoad]);
114
158
  if (isLoading) {
115
159
  return /*#__PURE__*/React.createElement(DynamicOfferSkeleton, {
116
160
  displayLayout: "fixed"
@@ -120,7 +164,7 @@ export const MoneyLionOfferCarousel = props => {
120
164
  return /*#__PURE__*/React.createElement(Text, null, `Error: ${error.message}`); // Replace with your error component
121
165
  }
122
166
  if (!context) {
123
- return /*#__PURE__*/React.createElement(Text, null, "Context is null"); // Replace with your error component
167
+ return /*#__PURE__*/React.createElement(Text, null, "Context is null");
124
168
  }
125
169
  if (!pageData) {
126
170
  return /*#__PURE__*/React.createElement(DynamicOfferSkeleton, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","localCnfContext","Text","getPageData","DynamicOffersContainer","DynamicOfferSkeleton","ThemeProvider","EventHandlerProvider","getConfigApiBaseUrl","ConfigurationProvider","getConfiguration","channel","zone","subAccountToken","isDev","url","headers","Authorization","response","fetch","ok","Error","data","json","error","console","MoneyLionOfferCarousel","props","fontFamily","showDescriptionPoints","onInitialize","onRateTableSubmit","onRateTableResponse","onOfferDisplayInViewport","onOfferClick","onOfferDetailsPageOpen","onOfferDetailsPageClose","eventHandlers","context","setContext","isLoading","setIsLoading","setError","pageData","setPageData","fetchConfiguration","serializableContext","err","timestamp","Date","toISOString","fetchPageData","params","isError","Boolean","offers","rateTableUuid","leadUuid","createElement","displayLayout","message","shouldHideFooter","showProductTypeLabel","showCardBorder","title","config","themeColor","brand","themeColors"],"sourceRoot":"../../../src","sources":["components/MoneyLionOfferCarousel.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","localCnfContext","Text","getPageData","DynamicOffersContainer","DynamicOfferSkeleton","ThemeProvider","EventHandlerProvider","getConfigApiBaseUrl","ConfigurationProvider","getConfiguration","channel","zone","subAccountToken","isDev","onError","url","headers","Authorization","response","fetch","ok","errorCode","status","code","message","timestamp","Date","toISOString","Error","data","json","error","console","includes","MoneyLionOfferCarousel","props","fontFamily","showDescriptionPoints","onLoad","onInitialize","onRateTableSubmit","onRateTableResponse","onOfferDisplayInViewport","onOfferClick","onOfferDetailsPageOpen","onOfferDetailsPageClose","eventHandlers","context","setContext","isLoading","setIsLoading","setError","pageData","setPageData","fetchConfiguration","serializableContext","err","errorObj","fetchPageData","params","isError","Boolean","offers","rateTableUuid","leadUuid","length","createElement","displayLayout","shouldHideFooter","showProductTypeLabel","showCardBorder","title","config","themeColor","brand","themeColors"],"sourceRoot":"../../../src","sources":["components/MoneyLionOfferCarousel.tsx"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,7 @@ export async function getPageData({
20
20
 
21
21
  // Resolve Tags
22
22
  const resolvedTags = `${tags === null || tags === void 0 ? void 0 : tags.trim()}`;
23
- const enableUseCachedOffers = getEnableUseCachedOffers(context);
23
+ const isCachedOffersRequest = getEnableUseCachedOffers(context);
24
24
  const defaultProductType = getDefaultProductType(context);
25
25
 
26
26
  // TODO: Check if this is needed or if we can remove it
@@ -58,13 +58,14 @@ export async function getPageData({
58
58
  offers,
59
59
  isError,
60
60
  leadUuid,
61
- rateTableUuid
61
+ rateTableUuid,
62
+ errorCode
62
63
  } = await getDynamicOffers({
63
64
  tags: safeTags,
64
65
  displayLayout: safeDisplayLayout,
65
66
  productTypes,
66
67
  resultType,
67
- enableUseCachedOffers,
68
+ isCachedOffersRequest,
68
69
  productTypesDefinition: [...productTypesDefinition],
69
70
  partnersOverrideDefinition: [...partnersOverrideDefinition],
70
71
  context,
@@ -72,6 +73,7 @@ export async function getPageData({
72
73
  });
73
74
  return {
74
75
  isError,
76
+ errorCode,
75
77
  leadUuid,
76
78
  rateTableUuid,
77
79
  // title,
@@ -1 +1 @@
1
- {"version":3,"names":["getIsDevEnvironment","getDynamicOffers","getDefaultProductType","getLayout","getProductTypesDefinition","resolveProductTypes","getEnableUseCachedOffers","getPageData","context","params","onRateTableSubmit","productType","query","tags","displayLayout","searchAPIToken","showProductTypeLabel","showCardBorder","resolvedTags","trim","enableUseCachedOffers","defaultProductType","isDev","productTypesDefinition","partnersOverrideDefinition","currentCountry","signals","deviceSignals","country","safeTags","encodeURI","safeDisplayLayout","productTypes","resultType","timestamp","Date","toISOString","offers","isError","leadUuid","rateTableUuid"],"sourceRoot":"../../src","sources":["pageData.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,oDAAoD;AAIxF,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D;AACA,SACCC,qBAAqB,EACrBC,SAAS,EACTC,yBAAyB,EACzBC,mBAAmB,QACb,SAAS;AAChB,SAASC,wBAAwB,QAAQ,kCAAkC;AAQ3E,OAAO,eAAeC,WAAWA,CAAC;EACjCC,OAAO;EACPC,MAAM;EACNC;AACiB,CAAC,EAAE;EACpB,MAAM;IACLC,WAAW;IACXC,KAAK;IACLC,IAAI;IACJC,aAAa;IACbC,cAAc;IACdC,oBAAoB;IACpBC;EACD,CAAC,GAAGR,MAAM;;EAEV;EACA,MAAMS,YAAY,GAAG,GAAGL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEM,IAAI,CAAC,CAAC,EAAE;EAEtC,MAAMC,qBAAqB,GAAGd,wBAAwB,CAACE,OAAO,CAAC;EAE/D,MAAMa,kBAAkB,GAAGnB,qBAAqB,CAACM,OAAO,CAAC;;EAEzD;EACA;;EAEA,MAAMc,KAAK,GAAGtB,mBAAmB,CAACQ,OAAO,CAAC;EAE1C,MAAM;IAAEe,sBAAsB;IAAEC;EAA2B,CAAC,GAC3DpB,yBAAyB,CAACI,OAAO,CAAC;EAEnC,MAAMiB,cAAc,GAAGjB,OAAO,CAACkB,OAAO,CAACC,aAAa,CAACC,OAAO;EAE5D,MAAMC,QAAQ,GAAGC,SAAS,CAACZ,YAAY,CAAC;EAExC,MAAMa,iBAAiB,GAAG5B,SAAS,CAACW,aAAa,CAAC;;EAElD;EACA,MAAM;IAAEkB,YAAY;IAAEC;EAAW,CAAC,GAAG,MAAM5B,mBAAmB,CAAC;IAC9DgB,kBAAkB;IAClBV,WAAW;IACXC,KAAK;IACLG,cAAc;IACdO;EACD,CAAC,CAAC;EAEFZ,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAG;IACnBwB,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IACnCJ,YAAY;IACZC,UAAU;IACVZ;EACD,CAAC,CAAC;;EAEF;EACA,MAAM;IAAEgB,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAc,CAAC,GAAG,MAAMvC,gBAAgB,CAAC;IAC3EY,IAAI,EAAEgB,QAAQ;IACdf,aAAa,EAAEiB,iBAAiB;IAChCC,YAAY;IACZC,UAAU;IACVb,qBAAqB;IACrBG,sBAAsB,EAAE,CAAC,GAAGA,sBAAsB,CAAC;IACnDC,0BAA0B,EAAE,CAAC,GAAGA,0BAA0B,CAAC;IAC3DhB,OAAO;IACPa;EACD,CAAC,CAAC;EAEF,OAAO;IACNiB,OAAO;IACPC,QAAQ;IACRC,aAAa;IACb;IACAH,MAAM;IACNZ,cAAc;IACd;IACAR,cAAc;IACd;IACAD,oBAAoB;IACpBF,aAAa,EAAEiB;EAChB,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["getIsDevEnvironment","getDynamicOffers","getDefaultProductType","getLayout","getProductTypesDefinition","resolveProductTypes","getEnableUseCachedOffers","getPageData","context","params","onRateTableSubmit","productType","query","tags","displayLayout","searchAPIToken","showProductTypeLabel","showCardBorder","resolvedTags","trim","isCachedOffersRequest","defaultProductType","isDev","productTypesDefinition","partnersOverrideDefinition","currentCountry","signals","deviceSignals","country","safeTags","encodeURI","safeDisplayLayout","productTypes","resultType","timestamp","Date","toISOString","offers","isError","leadUuid","rateTableUuid","errorCode"],"sourceRoot":"../../src","sources":["pageData.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,oDAAoD;AAIxF,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D;AACA,SACCC,qBAAqB,EACrBC,SAAS,EACTC,yBAAyB,EACzBC,mBAAmB,QACb,SAAS;AAChB,SAASC,wBAAwB,QAAQ,kCAAkC;AAQ3E,OAAO,eAAeC,WAAWA,CAAC;EACjCC,OAAO;EACPC,MAAM;EACNC;AACiB,CAAC,EAAE;EACpB,MAAM;IACLC,WAAW;IACXC,KAAK;IACLC,IAAI;IACJC,aAAa;IACbC,cAAc;IACdC,oBAAoB;IACpBC;EACD,CAAC,GAAGR,MAAM;;EAEV;EACA,MAAMS,YAAY,GAAG,GAAGL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEM,IAAI,CAAC,CAAC,EAAE;EAEtC,MAAMC,qBAAqB,GAAGd,wBAAwB,CAACE,OAAO,CAAC;EAE/D,MAAMa,kBAAkB,GAAGnB,qBAAqB,CAACM,OAAO,CAAC;;EAEzD;EACA;;EAEA,MAAMc,KAAK,GAAGtB,mBAAmB,CAACQ,OAAO,CAAC;EAE1C,MAAM;IAAEe,sBAAsB;IAAEC;EAA2B,CAAC,GAC3DpB,yBAAyB,CAACI,OAAO,CAAC;EAEnC,MAAMiB,cAAc,GAAGjB,OAAO,CAACkB,OAAO,CAACC,aAAa,CAACC,OAAO;EAE5D,MAAMC,QAAQ,GAAGC,SAAS,CAACZ,YAAY,CAAC;EAExC,MAAMa,iBAAiB,GAAG5B,SAAS,CAACW,aAAa,CAAC;;EAElD;EACA,MAAM;IAAEkB,YAAY;IAAEC;EAAW,CAAC,GAAG,MAAM5B,mBAAmB,CAAC;IAC9DgB,kBAAkB;IAClBV,WAAW;IACXC,KAAK;IACLG,cAAc;IACdO;EACD,CAAC,CAAC;EAEFZ,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAG;IACnBwB,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IACnCJ,YAAY;IACZC,UAAU;IACVZ;EACD,CAAC,CAAC;;EAEF;EACA,MAAM;IAAEgB,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,aAAa;IAAEC;EAAU,CAAC,GAC5D,MAAMxC,gBAAgB,CAAC;IACtBY,IAAI,EAAEgB,QAAQ;IACdf,aAAa,EAAEiB,iBAAiB;IAChCC,YAAY;IACZC,UAAU;IACVb,qBAAqB;IACrBG,sBAAsB,EAAE,CAAC,GAAGA,sBAAsB,CAAC;IACnDC,0BAA0B,EAAE,CAAC,GAAGA,0BAA0B,CAAC;IAC3DhB,OAAO;IACPa;EACD,CAAC,CAAC;EAEH,OAAO;IACNiB,OAAO;IACPG,SAAS;IACTF,QAAQ;IACRC,aAAa;IACb;IACAH,MAAM;IACNZ,cAAc;IACd;IACAR,cAAc;IACd;IACAD,oBAAoB;IACpBF,aAAa,EAAEiB;EAChB,CAAC;AACF","ignoreList":[]}
@@ -16,38 +16,49 @@ export const getDynamicOffers = async ({
16
16
  defaultProductType,
17
17
  productTypes,
18
18
  resultType,
19
- enableUseCachedOffers,
19
+ isCachedOffersRequest,
20
20
  productTypesDefinition,
21
21
  partnersOverrideDefinition,
22
22
  context
23
23
  }) => {
24
24
  // Get the initial offers
25
- const initialOffersData = await getOffersByProductTypes({
26
- enableUseCachedOffers,
25
+ let {
26
+ offers,
27
+ rateTableUuid,
28
+ isError,
29
+ leadUuid,
30
+ errorCode
31
+ } = await getOffersByProductTypes({
32
+ isCachedOffersRequest,
27
33
  productTypes,
28
34
  tags,
29
35
  context
30
36
  });
31
37
 
32
- // if no offers are returned, we need to get the offers for the default product type
33
- if (isEmpty(initialOffersData === null || initialOffersData === void 0 ? void 0 : initialOffersData.offers)) {
34
- // Set the productTypes to be defaultProductType
38
+ // If no offers found, fall back to the default product type
39
+ if (isEmpty(offers)) {
40
+ const fallbackResult = await getOffersByProductTypes({
41
+ isCachedOffersRequest,
42
+ productTypes: [defaultProductType],
43
+ tags,
44
+ context
45
+ });
46
+
47
+ // Update the offers, rateTableUuid, isError, leafUuid and productTypes
48
+ offers = fallbackResult.offers;
49
+ rateTableUuid = fallbackResult.rateTableUuid;
50
+ isError = fallbackResult.isError;
51
+ leadUuid = fallbackResult.leadUuid;
35
52
  productTypes = [defaultProductType];
53
+ errorCode = fallbackResult.errorCode;
36
54
  }
37
-
38
- // if initial offers are returned, return them
39
- const offersData = isEmpty(initialOffersData === null || initialOffersData === void 0 ? void 0 : initialOffersData.offers) ? await getOffersByProductTypes({
40
- enableUseCachedOffers,
41
- productTypes,
42
- tags,
43
- context
44
- }) : initialOffersData;
45
- const sortedOffers = resultType === "QUERY" ? selectDynamicOffers(offersData.offers, productTypes) : sortOffersByRecommendationScore(offersData.offers);
55
+ const sortedOffers = resultType === "QUERY" ? selectDynamicOffers(offers, productTypes) : sortOffersByRecommendationScore(offers);
46
56
  return {
47
- offers: pipe(sortedOffers, formatOfferUrl(productTypesDefinition, partnersOverrideDefinition), addClientTagsToOfferLinks(enableUseCachedOffers, tags), getOffersBasedOnLayout(displayLayout)),
48
- isError: offersData.isError,
49
- leadUuid: offersData.leadUuid,
50
- rateTableUuid: offersData.uuid
57
+ offers: pipe(sortedOffers, formatOfferUrl(productTypesDefinition, partnersOverrideDefinition), addClientTagsToOfferLinks(isCachedOffersRequest, tags), getOffersBasedOnLayout(displayLayout)),
58
+ isError,
59
+ errorCode,
60
+ leadUuid: leadUuid,
61
+ rateTableUuid
51
62
  };
52
63
  };
53
64
  //# sourceMappingURL=getDynamicOffers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isEmpty","addClientTagsToOfferLinks","getOffersByProductTypes","selectDynamicOffers","sortOffersByRecommendationScore","pipe","formatOfferUrl","getOffersBasedOnLayout","getDynamicOffers","tags","displayLayout","defaultProductType","productTypes","resultType","enableUseCachedOffers","productTypesDefinition","partnersOverrideDefinition","context","initialOffersData","offers","offersData","sortedOffers","isError","leadUuid","rateTableUuid","uuid"],"sourceRoot":"../../../src","sources":["services/getDynamicOffers.ts"],"mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ;AAChC,SACCC,yBAAyB,EACzBC,uBAAuB,EACvBC,mBAAmB,QAEb,UAAU;AAKjB,SAASC,+BAA+B,QAAQ,0CAA0C;AAC1F,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,sBAAsB,QAAQ,iCAAiC;AA0BxE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAG,MAAAA,CAAO;EACtCC,IAAI;EACJC,aAAa;EACbC,kBAAkB;EAClBC,YAAY;EACZC,UAAU;EACVC,qBAAqB;EACrBC,sBAAsB;EACtBC,0BAA0B;EAC1BC;AACqC,CAAC,KAAK;EAC3C;EACA,MAAMC,iBAAiB,GAAG,MAAMhB,uBAAuB,CAAC;IACvDY,qBAAqB;IACrBF,YAAY;IACZH,IAAI;IACJQ;EACD,CAAC,CAAC;;EAEF;EACA,IAAIjB,OAAO,CAACkB,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEC,MAAM,CAAC,EAAE;IACvC;IACAP,YAAY,GAAG,CAACD,kBAAkB,CAAC;EACpC;;EAEA;EACA,MAAMS,UAAU,GAAGpB,OAAO,CAACkB,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEC,MAAM,CAAC,GAClD,MAAMjB,uBAAuB,CAAC;IAC9BY,qBAAqB;IACrBF,YAAY;IACZH,IAAI;IACJQ;EACD,CAAC,CAAC,GACDC,iBAAiB;EAEpB,MAAMG,YAAY,GACjBR,UAAU,KAAK,OAAO,GACnBV,mBAAmB,CAACiB,UAAU,CAACD,MAAM,EAAEP,YAAY,CAAC,GACpDR,+BAA+B,CAACgB,UAAU,CAACD,MAAM,CAAC;EAEtD,OAAO;IACNA,MAAM,EAAEd,IAAI,CACXgB,YAAY,EACZf,cAAc,CAACS,sBAAsB,EAAEC,0BAA0B,CAAC,EAClEf,yBAAyB,CAACa,qBAAqB,EAAEL,IAAI,CAAC,EACtDF,sBAAsB,CAACG,aAAa,CACrC,CAAC;IACDY,OAAO,EAAEF,UAAU,CAACE,OAAO;IAC3BC,QAAQ,EAAEH,UAAU,CAACG,QAAQ;IAC7BC,aAAa,EAAEJ,UAAU,CAACK;EAC3B,CAAC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["isEmpty","addClientTagsToOfferLinks","getOffersByProductTypes","selectDynamicOffers","sortOffersByRecommendationScore","pipe","formatOfferUrl","getOffersBasedOnLayout","getDynamicOffers","tags","displayLayout","defaultProductType","productTypes","resultType","isCachedOffersRequest","productTypesDefinition","partnersOverrideDefinition","context","offers","rateTableUuid","isError","leadUuid","errorCode","fallbackResult","sortedOffers"],"sourceRoot":"../../../src","sources":["services/getDynamicOffers.ts"],"mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ;AAChC,SACCC,yBAAyB,EACzBC,uBAAuB,EACvBC,mBAAmB,QAEb,UAAU;AAKjB,SAASC,+BAA+B,QAAQ,0CAA0C;AAC1F,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,sBAAsB,QAAQ,iCAAiC;AA0BxE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAG,MAAAA,CAAO;EACtCC,IAAI;EACJC,aAAa;EACbC,kBAAkB;EAClBC,YAAY;EACZC,UAAU;EACVC,qBAAqB;EACrBC,sBAAsB;EACtBC,0BAA0B;EAC1BC;AACqC,CAAC,KAAK;EAC3C;EACA,IAAI;IAAEC,MAAM;IAAEC,aAAa;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAC1D,MAAMpB,uBAAuB,CAAC;IAC7BY,qBAAqB;IACrBF,YAAY;IACZH,IAAI;IACJQ;EACD,CAAC,CAAC;;EAEH;EACA,IAAIjB,OAAO,CAACkB,MAAM,CAAC,EAAE;IACpB,MAAMK,cAAc,GAAG,MAAMrB,uBAAuB,CAAC;MACpDY,qBAAqB;MACrBF,YAAY,EAAE,CAACD,kBAAkB,CAAC;MAClCF,IAAI;MACJQ;IACD,CAAC,CAAC;;IAEF;IACAC,MAAM,GAAGK,cAAc,CAACL,MAAM;IAC9BC,aAAa,GAAGI,cAAc,CAACJ,aAAa;IAC5CC,OAAO,GAAGG,cAAc,CAACH,OAAO;IAChCC,QAAQ,GAAGE,cAAc,CAACF,QAAQ;IAClCT,YAAY,GAAG,CAACD,kBAAkB,CAAC;IACnCW,SAAS,GAAGC,cAAc,CAACD,SAAS;EACrC;EAEA,MAAME,YAAY,GACjBX,UAAU,KAAK,OAAO,GACnBV,mBAAmB,CAACe,MAAM,EAAEN,YAAY,CAAC,GACzCR,+BAA+B,CAACc,MAAM,CAAC;EAE3C,OAAO;IACNA,MAAM,EAAEb,IAAI,CACXmB,YAAY,EACZlB,cAAc,CAACS,sBAAsB,EAAEC,0BAA0B,CAAC,EAClEf,yBAAyB,CAACa,qBAAqB,EAAEL,IAAI,CAAC,EACtDF,sBAAsB,CAACG,aAAa,CACrC,CAAC;IACDU,OAAO;IACPE,SAAS;IACTD,QAAQ,EAAEA,QAAQ;IAClBF;EACD,CAAC;AACF,CAAC","ignoreList":[]}
@@ -5,21 +5,46 @@ import { parseClientTags } from "../capabilities/offer-catalog/src/utils/context
5
5
  * Retrieves offers by product types.
6
6
  *
7
7
  * @param {Object} params - The parameters for retrieving offers by product types.
8
- * @param {boolean} params.enableUseCachedOffers - Indicates if the offers should be retrieved from the cache.
8
+ * @param {boolean} params.isCachedOffersRequest - Indicates if the offers should be retrieved from the cache.
9
9
  * @param {string[]} params.productTypes - The product types to retrieve offers for.
10
10
  * @param {string} params.tags - The tags to use for retrieving offers.
11
11
  * @returns {Promise<OffersData>} A promise that resolves to an array of offers or undefined if no offers are found.
12
12
  */
13
13
  export const getOffersByProductTypes = async ({
14
- enableUseCachedOffers,
14
+ isCachedOffersRequest,
15
15
  productTypes,
16
16
  tags,
17
17
  context
18
18
  }) => {
19
- // TODO it should be just enableUseCachedOffers and not !enableUseCachedOffers
20
- if (enableUseCachedOffers) {
21
- return await getCachedOffersByProductTypes(context)(productTypes);
19
+ if (isCachedOffersRequest) {
20
+ const {
21
+ offers,
22
+ uuid,
23
+ isError,
24
+ leadUuid,
25
+ errorCode
26
+ } = await getCachedOffersByProductTypes(context)(productTypes);
27
+ return {
28
+ offers,
29
+ rateTableUuid: uuid,
30
+ isError,
31
+ leadUuid,
32
+ errorCode
33
+ };
22
34
  }
23
- return await getOffersForProductTypes(context)(productTypes, parseClientTags(tags));
35
+ const {
36
+ offers,
37
+ uuid,
38
+ isError,
39
+ leadUuid,
40
+ errorCode
41
+ } = await getOffersForProductTypes(context)(productTypes, parseClientTags(tags));
42
+ return {
43
+ offers,
44
+ rateTableUuid: uuid,
45
+ isError,
46
+ leadUuid,
47
+ errorCode
48
+ };
24
49
  };
25
50
  //# sourceMappingURL=getOffersByProductTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getCachedOffersByProductTypes","getOffersForProductTypes","parseClientTags","getOffersByProductTypes","enableUseCachedOffers","productTypes","tags","context"],"sourceRoot":"../../../src","sources":["utils/getOffersByProductTypes.ts"],"mappings":"AACA,SACCA,6BAA6B,EAC7BC,wBAAwB,QAClB,uDAAuD;AAC9D,SAASC,eAAe,QAAQ,qDAAqD;;AAErF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAG,MAAAA,CAAO;EAC7CC,qBAAqB;EACrBC,YAAY;EACZC,IAAI;EACJC;AAMD,CAAC,KAAK;EACL;EACA,IAAIH,qBAAqB,EAAE;IAC1B,OAAO,MAAMJ,6BAA6B,CAACO,OAAO,CAAC,CAACF,YAAY,CAAC;EAClE;EAEA,OAAO,MAAMJ,wBAAwB,CAACM,OAAO,CAAC,CAC7CF,YAAY,EACZH,eAAe,CAACI,IAAI,CACrB,CAAC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getCachedOffersByProductTypes","getOffersForProductTypes","parseClientTags","getOffersByProductTypes","isCachedOffersRequest","productTypes","tags","context","offers","uuid","isError","leadUuid","errorCode","rateTableUuid"],"sourceRoot":"../../../src","sources":["utils/getOffersByProductTypes.ts"],"mappings":"AACA,SACCA,6BAA6B,EAC7BC,wBAAwB,QAClB,uDAAuD;AAC9D,SAASC,eAAe,QAAQ,qDAAqD;;AAErF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAG,MAAAA,CAAO;EAC7CC,qBAAqB;EACrBC,YAAY;EACZC,IAAI;EACJC;AAMD,CAAC,KAAK;EACL,IAAIH,qBAAqB,EAAE;IAC1B,MAAM;MAAEI,MAAM;MAAEC,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC,GACnD,MAAMZ,6BAA6B,CAACO,OAAO,CAAC,CAACF,YAAY,CAAC;IAE3D,OAAO;MAAEG,MAAM;MAAEK,aAAa,EAAEJ,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC;EACrE;EAEA,MAAM;IAAEJ,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GACnD,MAAMX,wBAAwB,CAACM,OAAO,CAAC,CACtCF,YAAY,EACZH,eAAe,CAACI,IAAI,CACrB,CAAC;EAEF,OAAO;IAAEE,MAAM;IAAEK,aAAa,EAAEJ,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC;AACrE,CAAC","ignoreList":[]}
@@ -1,5 +1,18 @@
1
1
  import type { OffersData } from "../types/offerCatalogSchema";
2
2
  import type { CnfContext } from "../../../core/src/system/cnfContext/CnfContext";
3
- export declare const getCachedOffersByProductTypes: (context: CnfContext) => (productTypes: string[]) => Promise<OffersData>;
3
+ export declare const getCachedOffersByProductTypes: (context: CnfContext) => (productTypes: string[]) => Promise<{
4
+ errorCode: number;
5
+ isError?: boolean | undefined;
6
+ uuid: string;
7
+ leadUuid: string;
8
+ offers: import("../types/offerCatalogSchema").BaseOffer[];
9
+ pendingResponses?: import("../types/offerCatalogSchema").BasicRateTablePendingResponse[] | undefined;
10
+ } | {
11
+ errorCode: number | undefined;
12
+ isError: boolean;
13
+ leadUuid: string;
14
+ offers: never[];
15
+ uuid: string;
16
+ }>;
4
17
  export declare const getOffersForProductTypes: (context: CnfContext) => (productTypes: string[], customClientTags?: Record<string, string[]>) => Promise<OffersData>;
5
18
  //# sourceMappingURL=offerCatalogApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"offerCatalogApi.d.ts","sourceRoot":"","sources":["../../../../../../../src/capabilities/offer-catalog/src/api/offerCatalogApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAY9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAEjF,eAAO,MAAM,6BAA6B,YAC/B,UAAU,oBAA0B,MAAM,EAAE,wBA8DrD,CAAC;AAEH,eAAO,MAAM,wBAAwB,YAC1B,UAAU,oBAEL,MAAM,EAAE,qBACH,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,KACzC,QAAQ,UAAU,CAqFpB,CAAC"}
1
+ {"version":3,"file":"offerCatalogApi.d.ts","sourceRoot":"","sources":["../../../../../../../src/capabilities/offer-catalog/src/api/offerCatalogApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAY9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAMjF,eAAO,MAAM,6BAA6B,YAC/B,UAAU,oBAA0B,MAAM,EAAE;;;;;;;;;;;;;EAsErD,CAAC;AAEH,eAAO,MAAM,wBAAwB,YAC1B,UAAU,oBAEL,MAAM,EAAE,qBACH,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,KACzC,QAAQ,UAAU,CA2FpB,CAAC"}
@@ -72,6 +72,7 @@ export type BasicRateTablePendingResponse = {
72
72
  };
73
73
  export type ProductTypes = "CreditBuilderLoan" | "DebtSettlement" | "HomeEquityLineOfCredit" | "RoboInvesting" | "StudentLoanRefinance" | "IncomeOpportunities" | "CashManagementAccount" | "HomeEquityLoan" | "StudentLoan" | "CashAdvance" | "EarnedWageAccess" | "RoboInvesting" | "StudentLoanRefinance" | "StudentLoan" | "AutomobileLoan" | "AutomobileRefinance" | "UnsecuredPersonalLoan" | "SecuredPersonalLoan" | "UnsecuredLineOfCredit" | "OverdraftProtection" | "CreditBuilderSecuredCreditCard" | "CreditBuilderDebitCard" | "RentUtilityBillReporting" | (string & {});
74
74
  export type OffersData = {
75
+ errorCode?: number;
75
76
  isError?: boolean;
76
77
  uuid: string;
77
78
  leadUuid: string;
@@ -1 +1 @@
1
- {"version":3,"file":"offerCatalogSchema.d.ts","sourceRoot":"","sources":["../../../../../../../src/capabilities/offer-catalog/src/types/offerCatalogSchema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB,EAAE,MAAM,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B,EAAE,MAAM,CAAC;IACrC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAChD,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAC5C,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,OAAO,CAAC;IAChC,0BAA0B,EAAE,OAAO,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC3C,OAAO,EAAE,aAAa,CAAC;IACvB,wBAAwB,EAAE,MAAM,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,YAAY,GACrB,mBAAmB,GACnB,gBAAgB,GAChB,wBAAwB,GACxB,eAAe,GACf,sBAAsB,GACtB,qBAAqB,GACrB,uBAAuB,GACvB,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,kBAAkB,GAClB,eAAe,GACf,sBAAsB,GACtB,aAAa,GACb,gBAAgB,GAChB,qBAAqB,GACrB,uBAAuB,GACvB,qBAAqB,GACrB,uBAAuB,GACvB,qBAAqB,GACrB,gCAAgC,GAChC,wBAAwB,GACxB,0BAA0B,GAC1B,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEjB,MAAM,MAAM,UAAU,GAAG;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,6BAA6B,EAAE,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB,EAAE,MAAM,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"offerCatalogSchema.d.ts","sourceRoot":"","sources":["../../../../../../../src/capabilities/offer-catalog/src/types/offerCatalogSchema.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ export type MoneyLionOfferCarouselProps = {
17
17
  isDev: boolean;
18
18
  showCardBorder?: boolean;
19
19
  showDescriptionPoints?: boolean;
20
+ onError?: (error: {
21
+ code?: number;
22
+ message: string;
23
+ timestamp: string;
24
+ }) => void;
25
+ onLoad?: (numOffers: number) => void;
20
26
  };
21
27
  export declare const MoneyLionOfferCarousel: (props: MoneyLionOfferCarouselProps & Omit<EventHandlerContextType, "rateTableUuid" | "leadUuid">) => React.JSX.Element;
22
28
  //# sourceMappingURL=MoneyLionOfferCarousel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MoneyLionOfferCarousel.d.ts","sourceRoot":"","sources":["../../../../src/components/MoneyLionOfferCarousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAEN,KAAK,uBAAuB,EAC5B,MAAM,iCAAiC,CAAC;AAKzC,MAAM,MAAM,2BAA2B,GAAG;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AA8BF,eAAO,MAAM,sBAAsB,UAC3B,2BAA2B,GACjC,KAAK,uBAAuB,EAAE,eAAe,GAAG,UAAU,CAAC,sBAgJ5D,CAAC"}
1
+ {"version":3,"file":"MoneyLionOfferCarousel.d.ts","sourceRoot":"","sources":["../../../../src/components/MoneyLionOfferCarousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAEN,KAAK,uBAAuB,EAC5B,MAAM,iCAAiC,CAAC;AAKzC,MAAM,MAAM,2BAA2B,GAAG;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KAClB,KAAK,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AAmDF,eAAO,MAAM,sBAAsB,UAC3B,2BAA2B,GACjC,KAAK,uBAAuB,EAAE,eAAe,GAAG,UAAU,CAAC,sBA2L5D,CAAC"}
@@ -8,6 +8,7 @@ type GetPageDataProps = {
8
8
  };
9
9
  export declare function getPageData({ context, params, onRateTableSubmit, }: GetPageDataProps): Promise<{
10
10
  isError: boolean | undefined;
11
+ errorCode: number | undefined;
11
12
  leadUuid: string;
12
13
  rateTableUuid: string;
13
14
  offers: import("./capabilities/offer-catalog/src").BaseOffer[];
@@ -1 +1 @@
1
- {"version":3,"file":"pageData.d.ts","sourceRoot":"","sources":["../../../src/pageData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sDAAsD,CAAC;AAGvF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAW7E,KAAK,gBAAgB,GAAG;IACvB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,2BAA2B,CAAC;IACpC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAC5D,CAAC;AAEF,wBAAsB,WAAW,CAAC,EACjC,OAAO,EACP,MAAM,EACN,iBAAiB,GACjB,EAAE,gBAAgB;;;;;;;;;GA0ElB"}
1
+ {"version":3,"file":"pageData.d.ts","sourceRoot":"","sources":["../../../src/pageData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sDAAsD,CAAC;AAGvF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAW7E,KAAK,gBAAgB,GAAG;IACvB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,2BAA2B,CAAC;IACpC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAC5D,CAAC;AAEF,wBAAsB,WAAW,CAAC,EACjC,OAAO,EACP,MAAM,EACN,iBAAiB,GACjB,EAAE,gBAAgB;;;;;;;;;;GA4ElB"}
@@ -7,7 +7,7 @@ export type GetDynamicOffersProps = {
7
7
  displayLayout: Layout;
8
8
  productTypes: string[];
9
9
  resultType: ProductTypesResult["resultType"];
10
- enableUseCachedOffers: boolean;
10
+ isCachedOffersRequest: boolean;
11
11
  productTypesDefinition: ProductTypeDefinition[];
12
12
  partnersOverrideDefinition: PartnerOverride[];
13
13
  context: CnfContext;
@@ -18,9 +18,10 @@ export type GetDynamicOffersProps = {
18
18
  * @param {GetDynamicOffersProps} params - The parameters for retrieving dynamic offers.
19
19
  * @returns {Promise<{ productTypeDisplayName: string; offers: typeof offers }>} An object containing the product type display name and the offers.
20
20
  */
21
- export declare const getDynamicOffers: ({ tags, displayLayout, defaultProductType, productTypes, resultType, enableUseCachedOffers, productTypesDefinition, partnersOverrideDefinition, context, }: Omit<GetDynamicOffersProps, "isDev">) => Promise<{
21
+ export declare const getDynamicOffers: ({ tags, displayLayout, defaultProductType, productTypes, resultType, isCachedOffersRequest, productTypesDefinition, partnersOverrideDefinition, context, }: Omit<GetDynamicOffersProps, "isDev">) => Promise<{
22
22
  offers: import("../capabilities/offer-catalog/src").BaseOffer[];
23
23
  isError: boolean | undefined;
24
+ errorCode: number | undefined;
24
25
  leadUuid: string;
25
26
  rateTableUuid: string;
26
27
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"getDynamicOffers.d.ts","sourceRoot":"","sources":["../../../../src/services/getDynamicOffers.ts"],"names":[],"mappings":"AACA,OAAO,EAIN,KAAK,MAAM,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACX,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EACX,eAAe,EACf,qBAAqB,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAExF,MAAM,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,0BAA0B,EAAE,eAAe,EAAE,CAAC;IAC9C,OAAO,EAAE,UAAU,CAAC;CACpB,GAAG,IAAI,CACP,oBAAoB,EAClB,SAAS,GACT,kBAAkB,GAClB,OAAO,GACP,WAAW,GACX,UAAU,GACV,gBAAgB,CAClB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,+JAU1B,KAAK,qBAAqB,EAAE,OAAO,CAAC;;;;;EAyCtC,CAAC"}
1
+ {"version":3,"file":"getDynamicOffers.d.ts","sourceRoot":"","sources":["../../../../src/services/getDynamicOffers.ts"],"names":[],"mappings":"AACA,OAAO,EAIN,KAAK,MAAM,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACX,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EACX,eAAe,EACf,qBAAqB,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAExF,MAAM,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,0BAA0B,EAAE,eAAe,EAAE,CAAC;IAC9C,OAAO,EAAE,UAAU,CAAC;CACpB,GAAG,IAAI,CACP,oBAAoB,EAClB,SAAS,GACT,kBAAkB,GAClB,OAAO,GACP,WAAW,GACX,UAAU,GACV,gBAAgB,CAClB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,+JAU1B,KAAK,qBAAqB,EAAE,OAAO,CAAC;;;;;;EA6CtC,CAAC"}
@@ -3,15 +3,21 @@ import type { CnfContext } from "../capabilities/core/src/system/cnfContext/CnfC
3
3
  * Retrieves offers by product types.
4
4
  *
5
5
  * @param {Object} params - The parameters for retrieving offers by product types.
6
- * @param {boolean} params.enableUseCachedOffers - Indicates if the offers should be retrieved from the cache.
6
+ * @param {boolean} params.isCachedOffersRequest - Indicates if the offers should be retrieved from the cache.
7
7
  * @param {string[]} params.productTypes - The product types to retrieve offers for.
8
8
  * @param {string} params.tags - The tags to use for retrieving offers.
9
9
  * @returns {Promise<OffersData>} A promise that resolves to an array of offers or undefined if no offers are found.
10
10
  */
11
- export declare const getOffersByProductTypes: ({ enableUseCachedOffers, productTypes, tags, context, }: {
12
- enableUseCachedOffers: boolean;
11
+ export declare const getOffersByProductTypes: ({ isCachedOffersRequest, productTypes, tags, context, }: {
12
+ isCachedOffersRequest: boolean;
13
13
  productTypes: string[];
14
14
  tags: string;
15
15
  context: CnfContext;
16
- }) => Promise<import("../capabilities/offer-catalog/src").OffersData>;
16
+ }) => Promise<{
17
+ offers: never[] | import("../capabilities/offer-catalog/src").BaseOffer[];
18
+ rateTableUuid: string;
19
+ isError: boolean | undefined;
20
+ leadUuid: string;
21
+ errorCode: number | undefined;
22
+ }>;
17
23
  //# sourceMappingURL=getOffersByProductTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getOffersByProductTypes.d.ts","sourceRoot":"","sources":["../../../../src/utils/getOffersByProductTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAOxF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;2BAMZ,OAAO;kBAChB,MAAM,EAAE;UAChB,MAAM;aACH,UAAU;qEAWnB,CAAC"}
1
+ {"version":3,"file":"getOffersByProductTypes.d.ts","sourceRoot":"","sources":["../../../../src/utils/getOffersByProductTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAOxF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;2BAMZ,OAAO;kBAChB,MAAM,EAAE;UAChB,MAAM;aACH,UAAU;;;;;;;EAgBnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneylion/react-native-offer-carousel",
3
- "version": "1.0.9",
3
+ "version": "1.1.0",
4
4
  "description": "React Native components for the Engine by MoneyLion Mobile SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -13,6 +13,10 @@ import { withDeviceSignals } from "../../../offers/pipeline/src/sources/ratetabl
13
13
  import { getOfferCatalogApiBaseUrl } from "../../../../apiEnvironment";
14
14
  import type { CnfContext } from "../../../core/src/system/cnfContext/CnfContext";
15
15
 
16
+ interface ApiError extends Error {
17
+ code?: number;
18
+ }
19
+
16
20
  export const getCachedOffersByProductTypes =
17
21
  (context: CnfContext) => async (productTypes: string[]) => {
18
22
  // const cachedOffersByProductTypesLogger = pinoRootLogger.child({
@@ -52,7 +56,10 @@ export const getCachedOffersByProductTypes =
52
56
  response.statusText
53
57
  );
54
58
  console.error(logFormat, errorMessage);
55
- throw new Error(errorMessage);
59
+
60
+ const error = new Error(errorMessage) as ApiError;
61
+ error.code = response.status;
62
+ throw error;
56
63
  }
57
64
 
58
65
  const offersData: OffersData = await response.json();
@@ -61,15 +68,20 @@ export const getCachedOffersByProductTypes =
61
68
  const errorMessage =
62
69
  errorUtil.getErrorForOffersFromProductTypes("NO_OFFERS");
63
70
  console.error(logFormat, errorMessage);
64
- throw new Error(errorMessage);
71
+
72
+ const error = new Error(errorMessage) as ApiError;
73
+ error.code = response.status;
74
+ throw error;
65
75
  }
66
- return offersData;
76
+
77
+ return { ...offersData, errorCode: response.status };
67
78
  } catch (error) {
68
79
  const errorMessage =
69
80
  errorUtil.getErrorForOffersFromProductTypes("DEFAULT");
70
81
  console.error(error, errorMessage);
71
82
 
72
83
  return {
84
+ errorCode: (error as ApiError).code,
73
85
  isError: true,
74
86
  leadUuid: "",
75
87
  offers: [],
@@ -143,7 +155,9 @@ export const getOffersForProductTypes =
143
155
 
144
156
  console.error(logFormat, errorMessage);
145
157
 
146
- throw new Error(errorMessage);
158
+ const error = new Error(errorMessage) as ApiError;
159
+ error.code = response.status;
160
+ throw error;
147
161
  }
148
162
 
149
163
  const offersData: OffersData = body;
@@ -152,16 +166,20 @@ export const getOffersForProductTypes =
152
166
  const errorMessage =
153
167
  errorUtil.getErrorForOffersFromProductTypes("NO_OFFERS");
154
168
  console.error(logFormat, errorMessage);
155
- throw new Error(errorMessage);
169
+
170
+ const error = new Error(errorMessage) as ApiError;
171
+ error.code = response.status;
172
+ throw error;
156
173
  }
157
174
 
158
- return offersData;
175
+ return { ...offersData, errorCode: response.status };
159
176
  } catch (error) {
160
177
  const errorMessage =
161
178
  errorUtil.getErrorForOffersFromProductTypes("DEFAULT");
162
179
  console.error(error, errorMessage);
163
180
 
164
181
  return {
182
+ errorCode: (error as ApiError).code,
165
183
  isError: true,
166
184
  leadUuid: "",
167
185
  offers: [],
@@ -99,6 +99,7 @@ export type ProductTypes =
99
99
  | (string & {});
100
100
 
101
101
  export type OffersData = {
102
+ errorCode?: number;
102
103
  isError?: boolean;
103
104
  uuid: string;
104
105
  leadUuid: string;