@moneylion/react-native-offer-carousel 1.10.1 → 1.11.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 (74) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/commonjs/capabilities/configuration/src/brands/checkVisualEligibility.js +13 -11
  3. package/lib/commonjs/capabilities/configuration/src/brands/checkVisualEligibility.js.map +1 -1
  4. package/lib/commonjs/capabilities/configuration/src/brands/createDerivedBrands.js +8 -19
  5. package/lib/commonjs/capabilities/configuration/src/brands/createDerivedBrands.js.map +1 -1
  6. package/lib/commonjs/capabilities/offer-catalog/src/utils/formatUtils.js +36 -21
  7. package/lib/commonjs/capabilities/offer-catalog/src/utils/formatUtils.js.map +1 -1
  8. package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/annualFee.js +7 -30
  9. package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/annualFee.js.map +1 -1
  10. package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.js +15 -17
  11. package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.js.map +1 -1
  12. package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.js +8 -2
  13. package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.js.map +1 -1
  14. package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/index.js +40 -38
  15. package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/index.js.map +1 -1
  16. package/lib/commonjs/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.js +22 -12
  17. package/lib/commonjs/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.js.map +1 -1
  18. package/lib/commonjs/capabilities/ui/elements/src/components/MarkdownText/components.js +120 -116
  19. package/lib/commonjs/capabilities/ui/elements/src/components/MarkdownText/components.js.map +1 -1
  20. package/lib/commonjs/capabilities/ui/elements/src/components/MarkdownText/index.js +8 -30
  21. package/lib/commonjs/capabilities/ui/elements/src/components/MarkdownText/index.js.map +1 -1
  22. package/lib/commonjs/components/DynamicOffers/Render/Offer.js +51 -49
  23. package/lib/commonjs/components/DynamicOffers/Render/Offer.js.map +1 -1
  24. package/lib/commonjs/version.js +1 -1
  25. package/lib/module/capabilities/configuration/src/brands/checkVisualEligibility.js +13 -11
  26. package/lib/module/capabilities/configuration/src/brands/checkVisualEligibility.js.map +1 -1
  27. package/lib/module/capabilities/configuration/src/brands/createDerivedBrands.js +7 -19
  28. package/lib/module/capabilities/configuration/src/brands/createDerivedBrands.js.map +1 -1
  29. package/lib/module/capabilities/offer-catalog/src/utils/formatUtils.js +35 -20
  30. package/lib/module/capabilities/offer-catalog/src/utils/formatUtils.js.map +1 -1
  31. package/lib/module/capabilities/offer-catalog/src/utils/stats/formatters/annualFee.js +7 -30
  32. package/lib/module/capabilities/offer-catalog/src/utils/stats/formatters/annualFee.js.map +1 -1
  33. package/lib/module/capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.js +15 -17
  34. package/lib/module/capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.js.map +1 -1
  35. package/lib/module/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.js +8 -2
  36. package/lib/module/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.js.map +1 -1
  37. package/lib/module/capabilities/offer-catalog/src/utils/stats/index.js +40 -38
  38. package/lib/module/capabilities/offer-catalog/src/utils/stats/index.js.map +1 -1
  39. package/lib/module/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.js +22 -11
  40. package/lib/module/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.js.map +1 -1
  41. package/lib/module/capabilities/ui/elements/src/components/MarkdownText/components.js +120 -115
  42. package/lib/module/capabilities/ui/elements/src/components/MarkdownText/components.js.map +1 -1
  43. package/lib/module/capabilities/ui/elements/src/components/MarkdownText/index.js +9 -31
  44. package/lib/module/capabilities/ui/elements/src/components/MarkdownText/index.js.map +1 -1
  45. package/lib/module/components/DynamicOffers/Render/Offer.js +51 -49
  46. package/lib/module/components/DynamicOffers/Render/Offer.js.map +1 -1
  47. package/lib/module/version.js +1 -1
  48. package/lib/typescript/capabilities/configuration/src/brands/checkVisualEligibility.d.ts.map +1 -1
  49. package/lib/typescript/capabilities/configuration/src/brands/createDerivedBrands.d.ts.map +1 -1
  50. package/lib/typescript/capabilities/offer-catalog/src/utils/formatUtils.d.ts.map +1 -1
  51. package/lib/typescript/capabilities/offer-catalog/src/utils/stats/formatters/annualFee.d.ts.map +1 -1
  52. package/lib/typescript/capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.d.ts.map +1 -1
  53. package/lib/typescript/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.d.ts.map +1 -1
  54. package/lib/typescript/capabilities/offer-catalog/src/utils/stats/index.d.ts.map +1 -1
  55. package/lib/typescript/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.d.ts +4 -192
  56. package/lib/typescript/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.d.ts.map +1 -1
  57. package/lib/typescript/capabilities/ui/elements/src/components/MarkdownText/components.d.ts +12 -3
  58. package/lib/typescript/capabilities/ui/elements/src/components/MarkdownText/components.d.ts.map +1 -1
  59. package/lib/typescript/capabilities/ui/elements/src/components/MarkdownText/index.d.ts.map +1 -1
  60. package/lib/typescript/components/DynamicOffers/Render/Offer.d.ts.map +1 -1
  61. package/lib/typescript/version.d.ts +1 -1
  62. package/package.json +3 -8
  63. package/src/capabilities/configuration/src/brands/checkVisualEligibility.ts +22 -16
  64. package/src/capabilities/configuration/src/brands/createDerivedBrands.ts +10 -23
  65. package/src/capabilities/offer-catalog/src/utils/formatUtils.ts +38 -19
  66. package/src/capabilities/offer-catalog/src/utils/stats/formatters/annualFee.ts +19 -46
  67. package/src/capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.ts +17 -21
  68. package/src/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.ts +11 -8
  69. package/src/capabilities/offer-catalog/src/utils/stats/index.ts +40 -109
  70. package/src/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.ts +26 -17
  71. package/src/capabilities/ui/elements/src/components/MarkdownText/components.tsx +157 -142
  72. package/src/capabilities/ui/elements/src/components/MarkdownText/index.tsx +11 -33
  73. package/src/components/DynamicOffers/Render/Offer.tsx +34 -33
  74. package/src/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## 1.11.0 (2026-06-02)
2
+
3
+ - Updated the offer carousel component to use an improved markdown rendering library
4
+
5
+ ## 1.10.2 (2026-05-19)
6
+
7
+ - Reduced bundle size through dependency cleanup and import optimization.
8
+
1
9
  ## 1.10.1 (2026-04-21)
2
10
 
3
11
  - Improved type definitions
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.checkVisualBrandEligibility = void 0;
7
7
  var _radash = require("radash");
8
8
  var _types = require("./types");
9
- var _tsPattern = require("ts-pattern");
10
9
  /**
11
10
  * A UI centric concept that prioritizes brands for visual use, both by the data available and the preferences of the brand.
12
11
  */
@@ -16,15 +15,18 @@ var _tsPattern = require("ts-pattern");
16
15
  * Used to rank a primary eligible brand highest if no brand prefers primary, such as a licensed brand
17
16
  * @param brand
18
17
  */
19
- const checkVisualBrandEligibility = brand => (0, _tsPattern.match)([(0, _types.enhanceType)(brand), (0, _radash.get)(brand, "allowedMarks"), brand === null || brand === void 0 ? void 0 : brand.isLicensed]).returnType().with([_tsPattern.P._, _tsPattern.P._, true], ["business", {
20
- logo: true,
21
- name: true
22
- }, _tsPattern.P.any], ["product", {
23
- logo: true,
24
- name: true
25
- }, _tsPattern.P.any], () => "primary").with(["individual", _tsPattern.P._, _tsPattern.P.any], ["business", {
26
- name: true,
27
- logo: false
28
- }, _tsPattern.P.any], () => "secondary").otherwise(() => "none");
18
+ const checkVisualBrandEligibility = brand => {
19
+ const type = (0, _types.enhanceType)(brand);
20
+ const allowedMarks = (0, _radash.get)(brand, "allowedMarks");
21
+ const hasFullMarks = (allowedMarks === null || allowedMarks === void 0 ? void 0 : allowedMarks.logo) === true && (allowedMarks === null || allowedMarks === void 0 ? void 0 : allowedMarks.name) === true;
22
+ const hasNameOnlyMarks = (allowedMarks === null || allowedMarks === void 0 ? void 0 : allowedMarks.logo) === false && (allowedMarks === null || allowedMarks === void 0 ? void 0 : allowedMarks.name) === true;
23
+ if ((brand === null || brand === void 0 ? void 0 : brand.isLicensed) === true) return "primary";
24
+ if ((type === "business" || type === "product") && hasFullMarks) {
25
+ return "primary";
26
+ }
27
+ if (type === "individual") return "secondary";
28
+ if (type === "business" && hasNameOnlyMarks) return "secondary";
29
+ return "none";
30
+ };
29
31
  exports.checkVisualBrandEligibility = checkVisualBrandEligibility;
30
32
  //# sourceMappingURL=checkVisualEligibility.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_radash","require","_types","_tsPattern","checkVisualBrandEligibility","brand","match","enhanceType","get","isLicensed","returnType","with","P","_","logo","name","any","otherwise","exports"],"sourceRoot":"../../../../../../src","sources":["capabilities/configuration/src/brands/checkVisualEligibility.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACO,MAAMG,2BAA2B,GAAIC,KAAY,IACvD,IAAAC,gBAAK,EAAC,CAAC,IAAAC,kBAAW,EAACF,KAAK,CAAC,EAAE,IAAAG,WAAG,EAACH,KAAK,EAAE,cAAc,CAAC,EAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEI,UAAU,CAAC,CAAC,CACxEC,UAAU,CAAkB,CAAC,CAC7BC,IAAI,CACJ,CAACC,YAAC,CAACC,CAAC,EAAED,YAAC,CAACC,CAAC,EAAE,IAAI,CAAC,EAChB,CAAC,UAAU,EAAE;EAAEC,IAAI,EAAE,IAAI;EAAEC,IAAI,EAAE;AAAK,CAAC,EAAEH,YAAC,CAACI,GAAG,CAAC,EAC/C,CAAC,SAAS,EAAE;EAAEF,IAAI,EAAE,IAAI;EAAEC,IAAI,EAAE;AAAK,CAAC,EAAEH,YAAC,CAACI,GAAG,CAAC,EAC9C,MAAM,SACP,CAAC,CACAL,IAAI,CACJ,CAAC,YAAY,EAAEC,YAAC,CAACC,CAAC,EAAED,YAAC,CAACI,GAAG,CAAC,EAC1B,CAAC,UAAU,EAAE;EAAED,IAAI,EAAE,IAAI;EAAED,IAAI,EAAE;AAAM,CAAC,EAAEF,YAAC,CAACI,GAAG,CAAC,EAChD,MAAM,WACP,CAAC,CACAC,SAAS,CAAC,MAAM,MAAM,CAAC;AAACC,OAAA,CAAAd,2BAAA,GAAAA,2BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_radash","require","_types","checkVisualBrandEligibility","brand","type","enhanceType","allowedMarks","get","hasFullMarks","logo","name","hasNameOnlyMarks","isLicensed","exports"],"sourceRoot":"../../../../../../src","sources":["capabilities/configuration/src/brands/checkVisualEligibility.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACO,MAAME,2BAA2B,GAAIC,KAAY,IAAsB;EAC7E,MAAMC,IAAI,GAAG,IAAAC,kBAAW,EAACF,KAAK,CAAC;EAC/B,MAAMG,YAAY,GAAG,IAAAC,WAAG,EACvBJ,KAAK,EACL,cACD,CAAC;EAED,MAAMK,YAAY,GACjB,CAAAF,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEG,IAAI,MAAK,IAAI,IAAI,CAAAH,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEI,IAAI,MAAK,IAAI;EAC3D,MAAMC,gBAAgB,GACrB,CAAAL,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEG,IAAI,MAAK,KAAK,IAAI,CAAAH,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEI,IAAI,MAAK,IAAI;EAE5D,IAAI,CAAAP,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAES,UAAU,MAAK,IAAI,EAAE,OAAO,SAAS;EAChD,IAAI,CAACR,IAAI,KAAK,UAAU,IAAIA,IAAI,KAAK,SAAS,KAAKI,YAAY,EAAE;IAChE,OAAO,SAAS;EACjB;EAEA,IAAIJ,IAAI,KAAK,YAAY,EAAE,OAAO,WAAW;EAC7C,IAAIA,IAAI,KAAK,UAAU,IAAIO,gBAAgB,EAAE,OAAO,WAAW;EAE/D,OAAO,MAAM;AACd,CAAC;AAACE,OAAA,CAAAX,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -5,9 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createDerivedBrands = void 0;
7
7
  var _radash = require("radash");
8
- var _tsPattern = require("ts-pattern");
9
8
  var _types = require("./types");
10
9
  var _checkVisualEligibility = require("./checkVisualEligibility");
10
+ const resolveLicensedBrand = brand => {
11
+ if ((0, _types.enhanceType)(brand) === "licensed") return brand;
12
+ const candidate = (brand === null || brand === void 0 ? void 0 : brand.isLicensed) || (brand === null || brand === void 0 ? void 0 : brand.licensedBrand);
13
+ if ((0, _radash.isObject)(candidate)) return candidate;
14
+ throw new Error("Missing Licensed Brand");
15
+ };
16
+
11
17
  /**
12
18
  * Extracts and normalizes a brand into -
13
19
  * LicensedBrand - The brand to be used for terms, legal and other compliance needs
@@ -15,24 +21,7 @@ var _checkVisualEligibility = require("./checkVisualEligibility");
15
21
  * @param brand
16
22
  */
17
23
  const createDerivedBrands = brand => {
18
- // Determine the licensed brand for this brand, keeping in mind that this brand may be the licensed brand
19
- const licensedBrand = (0, _tsPattern.match)([(0, _types.enhanceType)(brand), (brand === null || brand === void 0 ? void 0 : brand.isLicensed) || (brand === null || brand === void 0 ? void 0 : brand.licensedBrand)])
20
- // Ensure we get back a brand at the end
21
- .returnType()
22
- // If the type is licensed, return this brand
23
- .with(["licensed", _tsPattern.P._], () => brand)
24
- // If the type is not licensed, but there is a cobrand setup, use that to get the licensed brand
25
- .with([_tsPattern.P.not("licensed"), _tsPattern.P.select("licensedBrandObj")], ({
26
- licensedBrandObj
27
- }) => {
28
- if ((0, _radash.isObject)(licensedBrandObj)) return licensedBrandObj;
29
- // Throw if no licensed brand is able to be found
30
- throw new Error("Missing Licensed Brand");
31
- }).otherwise(() => {
32
- throw new Error("Missing Licensed Brand");
33
- });
34
-
35
- // Determine the set of visual brands which should be displayed on the page
24
+ const licensedBrand = resolveLicensedBrand(brand);
36
25
  const brandCanBeShown = (0, _checkVisualEligibility.checkVisualBrandEligibility)(brand) !== "none";
37
26
  return Array.from(new Set((0, _radash.sift)([licensedBrand, brandCanBeShown && brand])));
38
27
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_radash","require","_tsPattern","_types","_checkVisualEligibility","createDerivedBrands","brand","licensedBrand","match","enhanceType","isLicensed","returnType","with","P","_","not","select","licensedBrandObj","isObject","Error","otherwise","brandCanBeShown","checkVisualBrandEligibility","Array","from","Set","sift","exports"],"sourceRoot":"../../../../../../src","sources":["capabilities/configuration/src/brands/createDerivedBrands.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,uBAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMI,mBAAmB,GAAIC,KAAY,IAAK;EACpD;EACA,MAAMC,aAAa,GAAG,IAAAC,gBAAK,EAAC,CAC3B,IAAAC,kBAAW,EAACH,KAAK,CAAC,EAClB,CAAAA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEI,UAAU,MAAIJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,aAAa,EACzC;EACA;EAAA,CACCI,UAAU,CAAQ;EACnB;EAAA,CACCC,IAAI,CAAC,CAAC,UAAU,EAAEC,YAAC,CAACC,CAAC,CAAC,EAAE,MAAMR,KAAK;EACpC;EAAA,CACCM,IAAI,CACJ,CAACC,YAAC,CAACE,GAAG,CAAC,UAAU,CAAC,EAAEF,YAAC,CAACG,MAAM,CAAC,kBAAkB,CAAC,CAAC,EACjD,CAAC;IAAEC;EAAiB,CAAC,KAAK;IACzB,IAAI,IAAAC,gBAAQ,EAACD,gBAAgB,CAAC,EAAE,OAAOA,gBAAgB;IACvD;IACA,MAAM,IAAIE,KAAK,CAAC,wBAAwB,CAAC;EAC1C,CACD,CAAC,CACAC,SAAS,CAAC,MAAM;IAChB,MAAM,IAAID,KAAK,CAAC,wBAAwB,CAAC;EAC1C,CAAC,CAAC;;EAEH;EACA,MAAME,eAAe,GAAG,IAAAC,mDAA2B,EAAChB,KAAK,CAAC,KAAK,MAAM;EACrE,OAAOiB,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAAC,IAAAC,YAAI,EAAC,CAACnB,aAAa,EAAEc,eAAe,IAAIf,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAACqB,OAAA,CAAAtB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_radash","require","_types","_checkVisualEligibility","resolveLicensedBrand","brand","enhanceType","candidate","isLicensed","licensedBrand","isObject","Error","createDerivedBrands","brandCanBeShown","checkVisualBrandEligibility","Array","from","Set","sift","exports"],"sourceRoot":"../../../../../../src","sources":["capabilities/configuration/src/brands/createDerivedBrands.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AAEA,MAAMG,oBAAoB,GAAIC,KAAY,IAAY;EACrD,IAAI,IAAAC,kBAAW,EAACD,KAAK,CAAC,KAAK,UAAU,EAAE,OAAOA,KAAK;EAEnD,MAAME,SAAS,GAAG,CAAAF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG,UAAU,MAAIH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEI,aAAa;EAC3D,IAAI,IAAAC,gBAAQ,EAACH,SAAS,CAAC,EAAE,OAAOA,SAAS;EAEzC,MAAM,IAAII,KAAK,CAAC,wBAAwB,CAAC;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,mBAAmB,GAAIP,KAAY,IAAK;EACpD,MAAMI,aAAa,GAAGL,oBAAoB,CAACC,KAAK,CAAC;EAEjD,MAAMQ,eAAe,GAAG,IAAAC,mDAA2B,EAACT,KAAK,CAAC,KAAK,MAAM;EACrE,OAAOU,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAAC,IAAAC,YAAI,EAAC,CAACT,aAAa,EAAEI,eAAe,IAAIR,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAACc,OAAA,CAAAP,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -4,8 +4,32 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.formatStringListWithAnd = exports.formatRange = exports.formatPercentage = exports.formatAmount = void 0;
7
- var _numbro = _interopRequireDefault(require("numbro"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
+ const formatNumberWithMantissa = (value, mantissa, trimMantissa, thousandSeparated) => {
8
+ let str = value.toFixed(mantissa);
9
+ if (trimMantissa && str.includes(".")) {
10
+ str = str.replace(/0+$/, "").replace(/\.$/, "");
11
+ }
12
+ if (thousandSeparated) {
13
+ const [intPart, decPart] = str.split(".");
14
+ const withCommas = (intPart ?? "").replace(/\B(?=(\d{3})+(?!\d))/g, ",");
15
+ str = decPart !== undefined ? `${withCommas}.${decPart}` : withCommas;
16
+ }
17
+ return str;
18
+ };
19
+ const COMPACT_UNITS = [{
20
+ threshold: 1e12,
21
+ suffix: "T"
22
+ }, {
23
+ threshold: 1e9,
24
+ suffix: "B"
25
+ }, {
26
+ threshold: 1e6,
27
+ suffix: "M"
28
+ }, {
29
+ threshold: 1e3,
30
+ suffix: "K"
31
+ }];
32
+
9
33
  /**
10
34
  * Format the amount
11
35
  * @param amount {number | undefined} - Amount in cents
@@ -29,15 +53,12 @@ const formatAmount = (amount, raw) => {
29
53
  const isLargeAmount = amount >= 99999900;
30
54
  const amountInDollars = isLargeAmount ? Math.ceil(amount / 1000000) * 1000000 / 100 // Round to nearest million if large
31
55
  : amount / 100;
32
-
33
- // Format the amount in dollars
34
- const formattedAmount = (0, _numbro.default)(amountInDollars).formatCurrency({
35
- average: amountInDollars >= 1000,
36
- mantissa: amountInDollars < 1000 ? 2 : 1,
37
- trimMantissa: !(amount < 100 && amount !== 0),
38
- spaceSeparated: false
39
- });
40
- return formattedAmount.toUpperCase();
56
+ const mantissa = amountInDollars < 1000 ? 2 : 1;
57
+ const trimMantissa = !(amount < 100 && amount !== 0);
58
+ const unit = COMPACT_UNITS.find(u => amountInDollars >= u.threshold);
59
+ const scaled = unit ? amountInDollars / unit.threshold : amountInDollars;
60
+ const suffix = (unit === null || unit === void 0 ? void 0 : unit.suffix) ?? "";
61
+ return `$${formatNumberWithMantissa(scaled, mantissa, trimMantissa, false)}${suffix}`.toUpperCase();
41
62
  };
42
63
 
43
64
  /**
@@ -55,10 +76,7 @@ const formatAmount = (amount, raw) => {
55
76
  exports.formatAmount = formatAmount;
56
77
  const formatPercentage = percentage => {
57
78
  if (percentage === undefined || percentage === null) return "N/A";
58
- return `${(0, _numbro.default)(percentage / 100).format({
59
- mantissa: 2,
60
- trimMantissa: true
61
- })}%`;
79
+ return `${formatNumberWithMantissa(percentage / 100, 2, true, false)}%`;
62
80
  };
63
81
 
64
82
  /**
@@ -108,13 +126,10 @@ const formatAmountUnabbreviated = (amount, raw) => {
108
126
  const isLargeAmount = amount >= 99999900;
109
127
  const amountInDollars = isLargeAmount ? Math.ceil(amount / 1000000) * 1000000 / 100 // Round to nearest million if large
110
128
  : amount / 100;
129
+ const mantissa = amountInDollars < 1000 ? 2 : 1;
130
+ const trimMantissa = !(amount < 100 && amount !== 0);
111
131
  // Format the amount in dollars
112
- const formattedAmount = (0, _numbro.default)(amountInDollars).formatCurrency({
113
- mantissa: amountInDollars < 1000 ? 2 : 1,
114
- trimMantissa: !(amount < 100 && amount !== 0),
115
- spaceSeparated: false,
116
- thousandSeparated: true
117
- });
132
+ const formattedAmount = `$${formatNumberWithMantissa(amountInDollars, mantissa, trimMantissa, true)}`;
118
133
  return formattedAmount.toUpperCase();
119
134
  };
120
135
 
@@ -1 +1 @@
1
- {"version":3,"names":["_numbro","_interopRequireDefault","require","e","__esModule","default","formatAmount","amount","raw","Number","isNaN","undefined","isLargeAmount","amountInDollars","Math","ceil","formattedAmount","numbro","formatCurrency","average","mantissa","trimMantissa","spaceSeparated","toUpperCase","exports","formatPercentage","percentage","format","formatStringListWithAnd","strings","length","newStrings","lastString","pop","join","formatAmountUnabbreviated","thousandSeparated","formatRange","min","max","type","amountFormat","resolvedFormatAmount"],"sourceRoot":"../../../../../../src","sources":["capabilities/offer-catalog/src/utils/formatUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["formatNumberWithMantissa","value","mantissa","trimMantissa","thousandSeparated","str","toFixed","includes","replace","intPart","decPart","split","withCommas","undefined","COMPACT_UNITS","threshold","suffix","formatAmount","amount","raw","Number","isNaN","isLargeAmount","amountInDollars","Math","ceil","unit","find","u","scaled","toUpperCase","exports","formatPercentage","percentage","formatStringListWithAnd","strings","length","newStrings","lastString","pop","join","formatAmountUnabbreviated","formattedAmount","formatRange","min","max","type","amountFormat","resolvedFormatAmount"],"sourceRoot":"../../../../../../src","sources":["capabilities/offer-catalog/src/utils/formatUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.annualFee = void 0;
7
7
  var _radash = require("radash");
8
- var _tsPattern = require("ts-pattern");
9
8
  var _formatUtils = require("../../formatUtils");
10
9
  const determineContent = ({
11
10
  minAnnualFeeValue,
@@ -14,41 +13,19 @@ const determineContent = ({
14
13
  annualIntroFeeTermValue,
15
14
  raw
16
15
  }) => {
17
- return (0, _tsPattern.match)({
18
- minAnnualFeeValue,
19
- maxAnnualFeeValue,
20
- annualIntroFeeValue,
21
- annualIntroFeeTermValue
22
- }).with({
23
- annualIntroFeeValue: _tsPattern.P.not(undefined)
24
- }, ({
25
- annualIntroFeeValue,
26
- annualIntroFeeTermValue,
27
- minAnnualFeeValue,
28
- maxAnnualFeeValue
29
- }) => {
16
+ if (annualIntroFeeValue !== undefined) {
30
17
  const postIntroFee = (0, _formatUtils.formatRange)(minAnnualFeeValue, maxAnnualFeeValue, "amount");
31
18
  return `${(0, _formatUtils.formatAmount)(annualIntroFeeValue)} for ${annualIntroFeeTermValue} years, then ${postIntroFee}`;
32
- }).with({
33
- minAnnualFeeValue: _tsPattern.P.not(undefined),
34
- maxAnnualFeeValue: _tsPattern.P.not(undefined)
35
- }, ({
36
- minAnnualFeeValue,
37
- maxAnnualFeeValue
38
- }) => {
19
+ }
20
+ if (minAnnualFeeValue !== undefined && maxAnnualFeeValue !== undefined) {
39
21
  if (minAnnualFeeValue === maxAnnualFeeValue) {
40
22
  return (0, _formatUtils.formatAmount)(minAnnualFeeValue, raw);
41
23
  }
42
24
  return (0, _formatUtils.formatRange)(minAnnualFeeValue, maxAnnualFeeValue, "amount");
43
- }).with({
44
- minAnnualFeeValue: _tsPattern.P.not(undefined)
45
- }, ({
46
- minAnnualFeeValue
47
- }) => (0, _formatUtils.formatAmount)(minAnnualFeeValue)).with({
48
- maxAnnualFeeValue: _tsPattern.P.not(undefined)
49
- }, ({
50
- maxAnnualFeeValue
51
- }) => (0, _formatUtils.formatAmount)(maxAnnualFeeValue)).otherwise(() => "See Terms");
25
+ }
26
+ const fee = minAnnualFeeValue ?? maxAnnualFeeValue;
27
+ if (fee !== undefined) return (0, _formatUtils.formatAmount)(fee);
28
+ return "See Terms";
52
29
  };
53
30
  const annualFee = offer => ({
54
31
  label,
@@ -1 +1 @@
1
- {"version":3,"names":["_radash","require","_tsPattern","_formatUtils","determineContent","minAnnualFeeValue","maxAnnualFeeValue","annualIntroFeeValue","annualIntroFeeTermValue","raw","match","with","P","not","undefined","postIntroFee","formatRange","formatAmount","otherwise","annualFee","offer","label","minAnnualFeeField","maxAnnualFeeField","annualIntroFeeField","annualIntroFeeTermField","get","content","exports"],"sourceRoot":"../../../../../../../../src","sources":["capabilities/offer-catalog/src/utils/stats/formatters/annualFee.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AAaA,MAAMG,gBAAgB,GAAGA,CAAC;EACzBC,iBAAiB;EACjBC,iBAAiB;EACjBC,mBAAmB;EACnBC,uBAAuB;EACvBC;AAQD,CAAC,KAAK;EACL,OAAO,IAAAC,gBAAK,EAAC;IACZL,iBAAiB;IACjBC,iBAAiB;IACjBC,mBAAmB;IACnBC;EACD,CAAC,CAAC,CACAG,IAAI,CACJ;IAAEJ,mBAAmB,EAAEK,YAAC,CAACC,GAAG,CAACC,SAAS;EAAE,CAAC,EACzC,CAAC;IACAP,mBAAmB;IACnBC,uBAAuB;IACvBH,iBAAiB;IACjBC;EACD,CAAC,KAAK;IACL,MAAMS,YAAY,GAAG,IAAAC,wBAAW,EAC/BX,iBAAiB,EACjBC,iBAAiB,EACjB,QACD,CAAC;IACD,OAAO,GAAG,IAAAW,yBAAY,EACrBV,mBACD,CAAC,QAAQC,uBAAuB,gBAAgBO,YAAY,EAAE;EAC/D,CACD,CAAC,CACAJ,IAAI,CACJ;IACCN,iBAAiB,EAAEO,YAAC,CAACC,GAAG,CAACC,SAAS,CAAC;IACnCR,iBAAiB,EAAEM,YAAC,CAACC,GAAG,CAACC,SAAS;EACnC,CAAC,EACD,CAAC;IAAET,iBAAiB;IAAEC;EAAkB,CAAC,KAAK;IAC7C,IAAID,iBAAiB,KAAKC,iBAAiB,EAAE;MAC5C,OAAO,IAAAW,yBAAY,EAACZ,iBAAiB,EAAEI,GAAG,CAAC;IAC5C;IACA,OAAO,IAAAO,wBAAW,EAACX,iBAAiB,EAAEC,iBAAiB,EAAE,QAAQ,CAAC;EACnE,CACD,CAAC,CACAK,IAAI,CAAC;IAAEN,iBAAiB,EAAEO,YAAC,CAACC,GAAG,CAACC,SAAS;EAAE,CAAC,EAAE,CAAC;IAAET;EAAkB,CAAC,KACpE,IAAAY,yBAAY,EAACZ,iBAAiB,CAC/B,CAAC,CACAM,IAAI,CAAC;IAAEL,iBAAiB,EAAEM,YAAC,CAACC,GAAG,CAACC,SAAS;EAAE,CAAC,EAAE,CAAC;IAAER;EAAkB,CAAC,KACpE,IAAAW,yBAAY,EAACX,iBAAiB,CAC/B,CAAC,CACAY,SAAS,CAAC,MAAM,WAAW,CAAC;AAC/B,CAAC;AAEM,MAAMC,SAAS,GACpBC,KAAgB,IACjB,CAAC;EACAC,KAAK;EACLC,iBAAiB;EACjBC,iBAAiB;EACjBC,mBAAmB;EACnBC,uBAAuB;EACvBhB,GAAG,GAAG;AACQ,CAAC,KAAuB;EACtC,MAAMJ,iBAAiB,GAAG,IAAAqB,WAAG,EAASN,KAAK,EAAEE,iBAAiB,CAAC;EAC/D,MAAMhB,iBAAiB,GAAG,IAAAoB,WAAG,EAASN,KAAK,EAAEG,iBAAiB,CAAC;EAC/D,MAAMhB,mBAAmB,GAAG,IAAAmB,WAAG,EAASN,KAAK,EAAEI,mBAAmB,CAAC;EACnE,MAAMhB,uBAAuB,GAAG,IAAAkB,WAAG,EAASN,KAAK,EAAEK,uBAAuB,CAAC;EAE3E,MAAME,OAAO,GAAGvB,gBAAgB,CAAC;IAChCC,iBAAiB;IACjBC,iBAAiB;IACjBC,mBAAmB;IACnBC,uBAAuB;IACvBC;EACD,CAAC,CAAC;EAEF,OAAO;IACNY,KAAK;IACLM;EACD,CAAC;AACF,CAAC;AAACC,OAAA,CAAAT,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["_radash","require","_formatUtils","determineContent","minAnnualFeeValue","maxAnnualFeeValue","annualIntroFeeValue","annualIntroFeeTermValue","raw","undefined","postIntroFee","formatRange","formatAmount","fee","annualFee","offer","label","minAnnualFeeField","maxAnnualFeeField","annualIntroFeeField","annualIntroFeeTermField","get","content","exports"],"sourceRoot":"../../../../../../../../src","sources":["capabilities/offer-catalog/src/utils/stats/formatters/annualFee.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAaA,MAAME,gBAAgB,GAAGA,CAAC;EACzBC,iBAAiB;EACjBC,iBAAiB;EACjBC,mBAAmB;EACnBC,uBAAuB;EACvBC;AAOD,CAAC,KAAa;EACb,IAAIF,mBAAmB,KAAKG,SAAS,EAAE;IACtC,MAAMC,YAAY,GAAG,IAAAC,wBAAW,EAC/BP,iBAAiB,EACjBC,iBAAiB,EACjB,QACD,CAAC;IACD,OAAO,GAAG,IAAAO,yBAAY,EAACN,mBAAmB,CAAC,QAAQC,uBAAuB,gBAAgBG,YAAY,EAAE;EACzG;EACA,IAAIN,iBAAiB,KAAKK,SAAS,IAAIJ,iBAAiB,KAAKI,SAAS,EAAE;IACvE,IAAIL,iBAAiB,KAAKC,iBAAiB,EAAE;MAC5C,OAAO,IAAAO,yBAAY,EAACR,iBAAiB,EAAEI,GAAG,CAAC;IAC5C;IACA,OAAO,IAAAG,wBAAW,EAACP,iBAAiB,EAAEC,iBAAiB,EAAE,QAAQ,CAAC;EACnE;EAEA,MAAMQ,GAAG,GAAGT,iBAAiB,IAAIC,iBAAiB;EAClD,IAAIQ,GAAG,KAAKJ,SAAS,EAAE,OAAO,IAAAG,yBAAY,EAACC,GAAG,CAAC;EAC/C,OAAO,WAAW;AACnB,CAAC;AAEM,MAAMC,SAAS,GACpBC,KAAgB,IACjB,CAAC;EACAC,KAAK;EACLC,iBAAiB;EACjBC,iBAAiB;EACjBC,mBAAmB;EACnBC,uBAAuB;EACvBZ,GAAG,GAAG;AACQ,CAAC,KAAuB;EACtC,MAAMJ,iBAAiB,GAAG,IAAAiB,WAAG,EAASN,KAAK,EAAEE,iBAAiB,CAAC;EAC/D,MAAMZ,iBAAiB,GAAG,IAAAgB,WAAG,EAASN,KAAK,EAAEG,iBAAiB,CAAC;EAC/D,MAAMZ,mBAAmB,GAAG,IAAAe,WAAG,EAASN,KAAK,EAAEI,mBAAmB,CAAC;EACnE,MAAMZ,uBAAuB,GAAG,IAAAc,WAAG,EAASN,KAAK,EAAEK,uBAAuB,CAAC;EAE3E,MAAME,OAAO,GAAGnB,gBAAgB,CAAC;IAChCC,iBAAiB;IACjBC,iBAAiB;IACjBC,mBAAmB;IACnBC,uBAAuB;IACvBC;EACD,CAAC,CAAC;EAEF,OAAO;IACNQ,KAAK;IACLM;EACD,CAAC;AACF,CAAC;AAACC,OAAA,CAAAT,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.purchaseApr = void 0;
7
7
  var _radash = require("radash");
8
- var _tsPattern = require("ts-pattern");
9
8
  var _formatUtils = require("../../formatUtils");
10
9
  /**
11
10
  * Determine the content of the purchaseApr stat
@@ -24,21 +23,13 @@ const determineContent = ({
24
23
  minPurchaseAprValue,
25
24
  maxPurchaseAprValue
26
25
  }) => {
27
- return (0, _tsPattern.match)({
28
- purchaseAprValue,
29
- minPurchaseAprValue,
30
- maxPurchaseAprValue
31
- }).with({
32
- purchaseAprValue: _tsPattern.P.not(undefined)
33
- }, ({
34
- purchaseAprValue
35
- }) => purchaseAprValue).with({
36
- minPurchaseAprValue: _tsPattern.P.not(undefined),
37
- maxPurchaseAprValue: _tsPattern.P.not(undefined)
38
- }, ({
39
- minPurchaseAprValue,
40
- maxPurchaseAprValue
41
- }) => (0, _formatUtils.formatRange)(minPurchaseAprValue, maxPurchaseAprValue, "percentage")).otherwise(() => "See Terms");
26
+ if (purchaseAprValue !== undefined) {
27
+ return purchaseAprValue;
28
+ }
29
+ if (minPurchaseAprValue !== undefined && maxPurchaseAprValue !== undefined) {
30
+ return (0, _formatUtils.formatRange)(minPurchaseAprValue, maxPurchaseAprValue, "percentage");
31
+ }
32
+ return "See Terms";
42
33
  };
43
34
 
44
35
  /**
@@ -48,7 +39,14 @@ const determineContent = ({
48
39
  * @returns {string}
49
40
  */
50
41
  const determineLabel = (aprType, label) => {
51
- return (0, _tsPattern.match)(aprType).with("variable", () => "Variable APR:").with("fixed", () => "Fixed APR:").otherwise(() => label);
42
+ switch (aprType) {
43
+ case "variable":
44
+ return "Variable APR:";
45
+ case "fixed":
46
+ return "Fixed APR:";
47
+ default:
48
+ return label;
49
+ }
52
50
  };
53
51
  const purchaseApr = offer => ({
54
52
  label: defaultLabel,
@@ -1 +1 @@
1
- {"version":3,"names":["_radash","require","_tsPattern","_formatUtils","determineContent","purchaseAprValue","minPurchaseAprValue","maxPurchaseAprValue","match","with","P","not","undefined","formatRange","otherwise","determineLabel","aprType","label","purchaseApr","offer","defaultLabel","purchaseAprTextField","minPurchaseAprField","maxPurchaseAprField","aprTypeField","get","aprTypeValue","content","replace","exports"],"sourceRoot":"../../../../../../../../src","sources":["capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,gBAAgB,GAAGA,CAAC;EACzBC,gBAAgB;EAChBC,mBAAmB;EACnBC;AAKD,CAAC,KAAK;EACL,OAAO,IAAAC,gBAAK,EAAC;IAAEH,gBAAgB;IAAEC,mBAAmB;IAAEC;EAAoB,CAAC,CAAC,CAC1EE,IAAI,CACJ;IAAEJ,gBAAgB,EAAEK,YAAC,CAACC,GAAG,CAACC,SAAS;EAAE,CAAC,EACtC,CAAC;IAAEP;EAAiB,CAAC,KAAKA,gBAC3B,CAAC,CACAI,IAAI,CACJ;IACCH,mBAAmB,EAAEI,YAAC,CAACC,GAAG,CAACC,SAAS,CAAC;IACrCL,mBAAmB,EAAEG,YAAC,CAACC,GAAG,CAACC,SAAS;EACrC,CAAC,EACD,CAAC;IAAEN,mBAAmB;IAAEC;EAAoB,CAAC,KAC5C,IAAAM,wBAAW,EAACP,mBAAmB,EAAEC,mBAAmB,EAAE,YAAY,CACpE,CAAC,CACAO,SAAS,CAAC,MAAM,WAAW,CAAC;AAC/B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAGA,CAACC,OAAe,EAAEC,KAAa,KAAK;EAC1D,OAAO,IAAAT,gBAAK,EAACQ,OAAO,CAAC,CACnBP,IAAI,CAAC,UAAU,EAAE,MAAM,eAAe,CAAC,CACvCA,IAAI,CAAC,OAAO,EAAE,MAAM,YAAY,CAAC,CACjCK,SAAS,CAAC,MAAMG,KAAK,CAAC;AACzB,CAAC;AAEM,MAAMC,WAAW,GACtBC,KAAgB,IACjB,CAAC;EACAF,KAAK,EAAEG,YAAY;EACnBC,oBAAoB;EACpBC,mBAAmB;EACnBC,mBAAmB;EACnBC;AACgB,CAAC,KAAuB;EACxC,MAAMnB,gBAAgB,GAAG,IAAAoB,WAAG,EAASN,KAAK,EAAEE,oBAAoB,CAAC;EACjE,MAAMf,mBAAmB,GAAG,IAAAmB,WAAG,EAASN,KAAK,EAAEG,mBAAmB,CAAC;EACnE,MAAMf,mBAAmB,GAAG,IAAAkB,WAAG,EAASN,KAAK,EAAEI,mBAAmB,CAAC;EACnE,MAAMG,YAAY,GAAG,IAAAD,WAAG,EAASN,KAAK,EAAEK,YAAY,CAAC;EAErD,MAAMG,OAAO,GAAGvB,gBAAgB,CAAC;IAChCC,gBAAgB;IAChBC,mBAAmB;IACnBC;EACD,CAAC,CAAC,CAACqB,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;EAE3C,MAAMX,KAAK,GAAGF,cAAc,CAACW,YAAY,EAAEN,YAAY,CAAC;EAExD,OAAO;IACNH,KAAK;IACLU;EACD,CAAC;AACF,CAAC;AAACE,OAAA,CAAAX,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["_radash","require","_formatUtils","determineContent","purchaseAprValue","minPurchaseAprValue","maxPurchaseAprValue","undefined","formatRange","determineLabel","aprType","label","purchaseApr","offer","defaultLabel","purchaseAprTextField","minPurchaseAprField","maxPurchaseAprField","aprTypeField","get","aprTypeValue","content","replace","exports"],"sourceRoot":"../../../../../../../../src","sources":["capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,gBAAgB,GAAGA,CAAC;EACzBC,gBAAgB;EAChBC,mBAAmB;EACnBC;AAKD,CAAC,KAAa;EACb,IAAIF,gBAAgB,KAAKG,SAAS,EAAE;IACnC,OAAOH,gBAAgB;EACxB;EACA,IAAIC,mBAAmB,KAAKE,SAAS,IAAID,mBAAmB,KAAKC,SAAS,EAAE;IAC3E,OAAO,IAAAC,wBAAW,EAACH,mBAAmB,EAAEC,mBAAmB,EAAE,YAAY,CAAC;EAC3E;EACA,OAAO,WAAW;AACnB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,cAAc,GAAGA,CAACC,OAAe,EAAEC,KAAa,KAAa;EAClE,QAAQD,OAAO;IACd,KAAK,UAAU;MACd,OAAO,eAAe;IACvB,KAAK,OAAO;MACX,OAAO,YAAY;IACpB;MACC,OAAOC,KAAK;EACd;AACD,CAAC;AAEM,MAAMC,WAAW,GACtBC,KAAgB,IACjB,CAAC;EACAF,KAAK,EAAEG,YAAY;EACnBC,oBAAoB;EACpBC,mBAAmB;EACnBC,mBAAmB;EACnBC;AACgB,CAAC,KAAuB;EACxC,MAAMd,gBAAgB,GAAG,IAAAe,WAAG,EAASN,KAAK,EAAEE,oBAAoB,CAAC;EACjE,MAAMV,mBAAmB,GAAG,IAAAc,WAAG,EAASN,KAAK,EAAEG,mBAAmB,CAAC;EACnE,MAAMV,mBAAmB,GAAG,IAAAa,WAAG,EAASN,KAAK,EAAEI,mBAAmB,CAAC;EACnE,MAAMG,YAAY,GAAG,IAAAD,WAAG,EAASN,KAAK,EAAEK,YAAY,CAAC;EAErD,MAAMG,OAAO,GAAGlB,gBAAgB,CAAC;IAChCC,gBAAgB;IAChBC,mBAAmB;IACnBC;EACD,CAAC,CAAC,CAACgB,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;EAE3C,MAAMX,KAAK,GAAGF,cAAc,CAACW,YAAY,EAAEN,YAAY,CAAC;EAExD,OAAO;IACNH,KAAK;IACLU;EACD,CAAC;AACF,CAAC;AAACE,OAAA,CAAAX,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.recommendedCredit = void 0;
7
7
  var _radash = require("radash");
8
- var _tsPattern = require("ts-pattern");
9
8
  var _formatUtils = require("../../formatUtils");
10
9
  const RECOMMENDED_RATINGS = ["limited", "poor", "fair", "good", "excellent"];
11
10
  const orderRecommendedRatings = recommendedCreditValue => {
@@ -17,7 +16,14 @@ const recommendedCredit = offer => ({
17
16
  fieldName
18
17
  }) => {
19
18
  const recommendedCreditValue = (0, _radash.get)(offer, fieldName);
20
- const content = (0, _tsPattern.match)(recommendedCreditValue).with(_tsPattern.P.array(), value => hasAllRecommendedRatings(value) ? "Any" : (0, _formatUtils.formatStringListWithAnd)(orderRecommendedRatings(value))).otherwise(() => "See Terms");
19
+ let content = "See Terms";
20
+ if (Array.isArray(recommendedCreditValue)) {
21
+ if (hasAllRecommendedRatings(recommendedCreditValue)) {
22
+ content = "Any";
23
+ } else {
24
+ content = (0, _formatUtils.formatStringListWithAnd)(orderRecommendedRatings(recommendedCreditValue));
25
+ }
26
+ }
21
27
  return {
22
28
  label,
23
29
  content,
@@ -1 +1 @@
1
- {"version":3,"names":["_radash","require","_tsPattern","_formatUtils","RECOMMENDED_RATINGS","orderRecommendedRatings","recommendedCreditValue","sort","a","b","indexOf","hasAllRecommendedRatings","every","rating","includes","recommendedCredit","offer","label","fieldName","get","content","match","with","P","array","value","formatStringListWithAnd","otherwise","isHighlighted","exports"],"sourceRoot":"../../../../../../../../src","sources":["capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AASA,MAAMG,mBAAmB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC;AAE5E,MAAMC,uBAAuB,GAAIC,sBAAgC,IAAK;EACrE,OAAOA,sBAAsB,CAACC,IAAI,CACjC,CAACC,CAAC,EAAEC,CAAC,KAAKL,mBAAmB,CAACM,OAAO,CAACF,CAAC,CAAC,GAAGJ,mBAAmB,CAACM,OAAO,CAACD,CAAC,CACzE,CAAC;AACF,CAAC;AAED,MAAME,wBAAwB,GAAIL,sBAAgC,IACjEF,mBAAmB,CAACQ,KAAK,CAAEC,MAAM,IAChCP,sBAAsB,CAACQ,QAAQ,CAACD,MAAM,CACvC,CAAC;AAEK,MAAME,iBAAiB,GAC5BC,KAAgB,IACjB,CAAC;EAAEC,KAAK;EAAEC;AAAiC,CAAC,KAAuB;EAClE,MAAMZ,sBAAsB,GAAG,IAAAa,WAAG,EAAWH,KAAK,EAAEE,SAAS,CAAC;EAE9D,MAAME,OAAO,GAAG,IAAAC,gBAAK,EAACf,sBAAsB,CAAC,CAC3CgB,IAAI,CAACC,YAAC,CAACC,KAAK,CAAC,CAAC,EAAGC,KAAK,IACtBd,wBAAwB,CAACc,KAAK,CAAC,GAC5B,KAAK,GACL,IAAAC,oCAAuB,EAACrB,uBAAuB,CAACoB,KAAK,CAAC,CAC1D,CAAC,CACAE,SAAS,CAAC,MAAM,WAAW,CAAC;EAE9B,OAAO;IACNV,KAAK;IACLG,OAAO;IACPQ,aAAa,EAAE;EAChB,CAAC;AACF,CAAC;AAACC,OAAA,CAAAd,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_radash","require","_formatUtils","RECOMMENDED_RATINGS","orderRecommendedRatings","recommendedCreditValue","sort","a","b","indexOf","hasAllRecommendedRatings","every","rating","includes","recommendedCredit","offer","label","fieldName","get","content","Array","isArray","formatStringListWithAnd","isHighlighted","exports"],"sourceRoot":"../../../../../../../../src","sources":["capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AASA,MAAME,mBAAmB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC;AAE5E,MAAMC,uBAAuB,GAAIC,sBAAgC,IAAK;EACrE,OAAOA,sBAAsB,CAACC,IAAI,CACjC,CAACC,CAAC,EAAEC,CAAC,KAAKL,mBAAmB,CAACM,OAAO,CAACF,CAAC,CAAC,GAAGJ,mBAAmB,CAACM,OAAO,CAACD,CAAC,CACzE,CAAC;AACF,CAAC;AAED,MAAME,wBAAwB,GAAIL,sBAAgC,IACjEF,mBAAmB,CAACQ,KAAK,CAAEC,MAAM,IAChCP,sBAAsB,CAACQ,QAAQ,CAACD,MAAM,CACvC,CAAC;AAEK,MAAME,iBAAiB,GAC5BC,KAAgB,IACjB,CAAC;EAAEC,KAAK;EAAEC;AAAiC,CAAC,KAAuB;EAClE,MAAMZ,sBAAsB,GAAG,IAAAa,WAAG,EAAWH,KAAK,EAAEE,SAAS,CAAC;EAE9D,IAAIE,OAAO,GAAG,WAAW;EAEzB,IAAIC,KAAK,CAACC,OAAO,CAAChB,sBAAsB,CAAC,EAAE;IAC1C,IAAIK,wBAAwB,CAACL,sBAAsB,CAAC,EAAE;MACrDc,OAAO,GAAG,KAAK;IAChB,CAAC,MAAM;MACNA,OAAO,GAAG,IAAAG,oCAAuB,EAChClB,uBAAuB,CAACC,sBAAsB,CAC/C,CAAC;IACF;EACD;EAEA,OAAO;IACNW,KAAK;IACLG,OAAO;IACPI,aAAa,EAAE;EAChB,CAAC;AACF,CAAC;AAACC,OAAA,CAAAV,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -4,45 +4,47 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.statsToElementPropsBuilder = void 0;
7
- var _tsPattern = require("ts-pattern");
8
7
  var _formatters = require("./formatters");
9
8
  var _percentage = require("./formatters/percentage");
10
- const statsToElementPropsBuilder = (stats, offer) => stats.map(stat => (0, _tsPattern.match)(stat).with({
11
- format: "rangeCurrency"
12
- }, (0, _formatters.fromRangeCurrencyStat)(offer)).with({
13
- format: "rangeCurrencyUnabbreviated"
14
- }, (0, _formatters.fromRangeCurrencyUnabbreviatedStat)(offer)).with({
15
- format: "BureausStat"
16
- }, (0, _formatters.creditBureaus)(offer)).with({
17
- format: "rangePercent"
18
- }, (0, _formatters.fromRangePercentStat)(offer)).with({
19
- format: "rangeCurrencyOrBasis"
20
- }, (0, _formatters.fromRangeCurrencyOrBasisStat)(offer)).with({
21
- format: "common"
22
- }, (0, _formatters.fromCommonStat)(offer)).with({
23
- format: "rangeCurrencyByTime"
24
- }, (0, _formatters.fromRangeCurrencyByTimeStat)(offer)).with({
25
- format: "freeTrial"
26
- }, (0, _formatters.fromFreeTrialStat)(offer)).with({
27
- format: "monthlyOrAnnualCurrency"
28
- }, (0, _formatters.fromMonthlyOrAnnualCurrencyStat)(offer)).with({
29
- format: "boolean"
30
- }, (0, _formatters.fromBooleanStat)(offer)).with({
31
- format: "rangeMonths"
32
- }, (0, _formatters.fromRangeMonthsStat)(offer)).with({
33
- format: "listStringWithAnd"
34
- }, (0, _formatters.fromListStringWithAnd)(offer)).with({
35
- format: "currency"
36
- }, (0, _formatters.fromCurrencyStat)(offer)).with({
37
- format: "percentage"
38
- }, (0, _percentage.fromPercentageStat)(offer)).with({
39
- format: "recommendedCredit"
40
- }, (0, _formatters.recommendedCredit)(offer)).with({
41
- format: "rewardsDisplay"
42
- }, (0, _formatters.rewardsDisplay)(offer)).with({
43
- format: "purchaseApr"
44
- }, (0, _formatters.purchaseApr)(offer)).with({
45
- format: "annualFee"
46
- }, (0, _formatters.annualFee)(offer)).exhaustive()).filter(stat => stat !== null);
9
+ const statsToElementPropsBuilder = (stats, offer) => stats.map(stat => {
10
+ switch (stat.format) {
11
+ case "rangeCurrency":
12
+ return (0, _formatters.fromRangeCurrencyStat)(offer)(stat);
13
+ case "rangeCurrencyUnabbreviated":
14
+ return (0, _formatters.fromRangeCurrencyUnabbreviatedStat)(offer)(stat);
15
+ case "BureausStat":
16
+ return (0, _formatters.creditBureaus)(offer)(stat);
17
+ case "rangePercent":
18
+ return (0, _formatters.fromRangePercentStat)(offer)(stat);
19
+ case "rangeCurrencyOrBasis":
20
+ return (0, _formatters.fromRangeCurrencyOrBasisStat)(offer)(stat);
21
+ case "common":
22
+ return (0, _formatters.fromCommonStat)(offer)(stat);
23
+ case "rangeCurrencyByTime":
24
+ return (0, _formatters.fromRangeCurrencyByTimeStat)(offer)(stat);
25
+ case "freeTrial":
26
+ return (0, _formatters.fromFreeTrialStat)(offer)(stat);
27
+ case "monthlyOrAnnualCurrency":
28
+ return (0, _formatters.fromMonthlyOrAnnualCurrencyStat)(offer)(stat);
29
+ case "boolean":
30
+ return (0, _formatters.fromBooleanStat)(offer)(stat);
31
+ case "rangeMonths":
32
+ return (0, _formatters.fromRangeMonthsStat)(offer)(stat);
33
+ case "listStringWithAnd":
34
+ return (0, _formatters.fromListStringWithAnd)(offer)(stat);
35
+ case "currency":
36
+ return (0, _formatters.fromCurrencyStat)(offer)(stat);
37
+ case "percentage":
38
+ return (0, _percentage.fromPercentageStat)(offer)(stat);
39
+ case "recommendedCredit":
40
+ return (0, _formatters.recommendedCredit)(offer)(stat);
41
+ case "rewardsDisplay":
42
+ return (0, _formatters.rewardsDisplay)(offer)(stat);
43
+ case "purchaseApr":
44
+ return (0, _formatters.purchaseApr)(offer)(stat);
45
+ case "annualFee":
46
+ return (0, _formatters.annualFee)(offer)(stat);
47
+ }
48
+ }).filter(stat => stat !== null);
47
49
  exports.statsToElementPropsBuilder = statsToElementPropsBuilder;
48
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_tsPattern","require","_formatters","_percentage","statsToElementPropsBuilder","stats","offer","map","stat","match","with","format","fromRangeCurrencyStat","fromRangeCurrencyUnabbreviatedStat","creditBureaus","fromRangePercentStat","fromRangeCurrencyOrBasisStat","fromCommonStat","fromRangeCurrencyByTimeStat","fromFreeTrialStat","fromMonthlyOrAnnualCurrencyStat","fromBooleanStat","fromRangeMonthsStat","fromListStringWithAnd","fromCurrencyStat","fromPercentageStat","recommendedCredit","rewardsDisplay","purchaseApr","annualFee","exhaustive","filter","exports"],"sourceRoot":"../../../../../../../src","sources":["capabilities/offer-catalog/src/utils/stats/index.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAoBA,IAAAE,WAAA,GAAAF,OAAA;AAIO,MAAMG,0BAA0B,GAAGA,CACzCC,KAAa,EACbC,KAAgB,KAEhBD,KAAK,CACHE,GAAG,CAAEC,IAAI,IACT,IAAAC,gBAAK,EAACD,IAAI,CAAC,CACTE,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAC,iCAAqB,EAACN,KAAK,CAC5B,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAE,8CAAkC,EAACP,KAAK,CACzC,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAG,yBAAa,EAACR,KAAK,CACpB,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAI,gCAAoB,EAACT,KAAK,CAC3B,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAK,wCAA4B,EAACV,KAAK,CACnC,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAM,0BAAc,EAACX,KAAK,CACrB,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAO,uCAA2B,EAACZ,KAAK,CAClC,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAQ,6BAAiB,EAACb,KAAK,CACxB,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAS,2CAA+B,EAACd,KAAK,CACtC,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAU,2BAAe,EAACf,KAAK,CACtB,CAAC,CACAI,IAAI,CAAC;EAAEC,MAAM,EAAE;AAAc,CAAC,EAAE,IAAAW,+BAAmB,EAAChB,KAAK,CAAC,CAAC,CAC3DI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAY,iCAAqB,EAACjB,KAAK,CAC5B,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAa,4BAAgB,EAAClB,KAAK,CACvB,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAc,8BAAkB,EAACnB,KAAK,CACzB,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAe,6BAAiB,EAACpB,KAAK,CACxB,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAgB,0BAAc,EAACrB,KAAK,CACrB,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAiB,uBAAW,EAACtB,KAAK,CAClB,CAAC,CACAI,IAAI,CACJ;EACCC,MAAM,EAAE;AACT,CAAC,EACD,IAAAkB,qBAAS,EAACvB,KAAK,CAChB,CAAC,CACAwB,UAAU,CAAC,CACd,CAAC,CACAC,MAAM,CAAEvB,IAAI,IAAKA,IAAI,KAAK,IAAI,CAAC;AAACwB,OAAA,CAAA5B,0BAAA,GAAAA,0BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_formatters","require","_percentage","statsToElementPropsBuilder","stats","offer","map","stat","format","fromRangeCurrencyStat","fromRangeCurrencyUnabbreviatedStat","creditBureaus","fromRangePercentStat","fromRangeCurrencyOrBasisStat","fromCommonStat","fromRangeCurrencyByTimeStat","fromFreeTrialStat","fromMonthlyOrAnnualCurrencyStat","fromBooleanStat","fromRangeMonthsStat","fromListStringWithAnd","fromCurrencyStat","fromPercentageStat","recommendedCredit","rewardsDisplay","purchaseApr","annualFee","filter","exports"],"sourceRoot":"../../../../../../../src","sources":["capabilities/offer-catalog/src/utils/stats/index.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAoBA,IAAAC,WAAA,GAAAD,OAAA;AAIO,MAAME,0BAA0B,GAAGA,CACzCC,KAAa,EACbC,KAAgB,KAEhBD,KAAK,CACHE,GAAG,CAAEC,IAAI,IAAuB;EAChC,QAAQA,IAAI,CAACC,MAAM;IAClB,KAAK,eAAe;MACnB,OAAO,IAAAC,iCAAqB,EAACJ,KAAK,CAAC,CAACE,IAAI,CAAC;IAC1C,KAAK,4BAA4B;MAChC,OAAO,IAAAG,8CAAkC,EAACL,KAAK,CAAC,CAACE,IAAI,CAAC;IACvD,KAAK,aAAa;MACjB,OAAO,IAAAI,yBAAa,EAACN,KAAK,CAAC,CAACE,IAAI,CAAC;IAClC,KAAK,cAAc;MAClB,OAAO,IAAAK,gCAAoB,EAACP,KAAK,CAAC,CAACE,IAAI,CAAC;IACzC,KAAK,sBAAsB;MAC1B,OAAO,IAAAM,wCAA4B,EAACR,KAAK,CAAC,CAACE,IAAI,CAAC;IACjD,KAAK,QAAQ;MACZ,OAAO,IAAAO,0BAAc,EAACT,KAAK,CAAC,CAACE,IAAI,CAAC;IACnC,KAAK,qBAAqB;MACzB,OAAO,IAAAQ,uCAA2B,EAACV,KAAK,CAAC,CAACE,IAAI,CAAC;IAChD,KAAK,WAAW;MACf,OAAO,IAAAS,6BAAiB,EAACX,KAAK,CAAC,CAACE,IAAI,CAAC;IACtC,KAAK,yBAAyB;MAC7B,OAAO,IAAAU,2CAA+B,EAACZ,KAAK,CAAC,CAACE,IAAI,CAAC;IACpD,KAAK,SAAS;MACb,OAAO,IAAAW,2BAAe,EAACb,KAAK,CAAC,CAACE,IAAI,CAAC;IACpC,KAAK,aAAa;MACjB,OAAO,IAAAY,+BAAmB,EAACd,KAAK,CAAC,CAACE,IAAI,CAAC;IACxC,KAAK,mBAAmB;MACvB,OAAO,IAAAa,iCAAqB,EAACf,KAAK,CAAC,CAACE,IAAI,CAAC;IAC1C,KAAK,UAAU;MACd,OAAO,IAAAc,4BAAgB,EAAChB,KAAK,CAAC,CAACE,IAAI,CAAC;IACrC,KAAK,YAAY;MAChB,OAAO,IAAAe,8BAAkB,EAACjB,KAAK,CAAC,CAACE,IAAI,CAAC;IACvC,KAAK,mBAAmB;MACvB,OAAO,IAAAgB,6BAAiB,EAAClB,KAAK,CAAC,CAACE,IAAI,CAAC;IACtC,KAAK,gBAAgB;MACpB,OAAO,IAAAiB,0BAAc,EAACnB,KAAK,CAAC,CAACE,IAAI,CAAC;IACnC,KAAK,aAAa;MACjB,OAAO,IAAAkB,uBAAW,EAACpB,KAAK,CAAC,CAACE,IAAI,CAAC;IAChC,KAAK,WAAW;MACf,OAAO,IAAAmB,qBAAS,EAACrB,KAAK,CAAC,CAACE,IAAI,CAAC;EAC/B;AACD,CAAC,CAAC,CACDoB,MAAM,CAAEpB,IAAI,IAAKA,IAAI,KAAK,IAAI,CAAC;AAACqB,OAAA,CAAAzB,0BAAA,GAAAA,0BAAA","ignoreList":[]}
@@ -5,10 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.isUUIDv4 = void 0;
7
7
  exports.withDeviceSignals = withDeviceSignals;
8
- var _defu = _interopRequireDefault(require("defu"));
9
8
  var _radash = require("radash");
10
9
  var _createDerivedBrands = require("../../../../../configuration/src/brands/createDerivedBrands");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
10
  const UUID_V4_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
13
11
 
14
12
  /**
@@ -55,20 +53,32 @@ function withDeviceSignals(context, payload) {
55
53
  system,
56
54
  cnfEnvironment
57
55
  };
58
- return (0, _defu.default)(payload, {
59
- /**
60
- * The leads API required device ID's be in the UUID format. If the string
61
- * we receive here is not in the expected format, we will create an error
62
- * passing it to the API.
63
- */
56
+
57
+ // all clientTag values must be arrays of strings
58
+ const toStringArray = value => Array.isArray(value) ? value.map(String) : [String(value)];
59
+ const defaultClientTags = (0, _radash.mapValues)(clientTags, toStringArray);
60
+ const payloadClientTags = (0, _radash.mapValues)(payload.clientTags ?? {}, toStringArray);
61
+ const mergedClientTags = {
62
+ ...defaultClientTags
63
+ };
64
+ for (const [key, value] of Object.entries(payloadClientTags)) {
65
+ const existing = mergedClientTags[key];
66
+ mergedClientTags[key] = existing ? [...value, ...existing] : value;
67
+ }
68
+
69
+ /**
70
+ * The leads API requires device IDs be in the UUID format. If the string
71
+ * we receive here is not in the expected format, we omit it so the API can
72
+ * reject the request explicitly.
73
+ */
74
+ return {
64
75
  deviceId: isUUIDv4(maybeDeviceId) ? maybeDeviceId : undefined,
65
76
  sessionInformation: {
66
77
  ipAddress,
67
78
  userAgent
68
79
  },
69
- clientTags: (0, _radash.mapValues)(clientTags,
70
- // all values must be arrays of strings
71
- value => Array.isArray(value) ? value.map(String) : [String(value)])
72
- });
80
+ ...payload,
81
+ clientTags: mergedClientTags
82
+ };
73
83
  }
74
84
  //# sourceMappingURL=withDeviceSignals.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_defu","_interopRequireDefault","require","_radash","_createDerivedBrands","e","__esModule","default","UUID_V4_REGEX","isUUIDv4","x","test","exports","removePrefixFromAppName","appName","startsWith","substring","getBrand","context","brand","console","log","Error","withDeviceSignals","payload","maybeDeviceId","get","undefined","ipAddress","os","isMobile","evReferrer","cnfEnvironment","process","licensedBrand","createDerivedBrands","consumerBrand","userAgent","system","app","clientTags","defu","deviceId","sessionInformation","mapValues","value","Array","isArray","map","String"],"sourceRoot":"../../../../../../../../src","sources":["capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_radash","require","_createDerivedBrands","UUID_V4_REGEX","isUUIDv4","x","test","exports","removePrefixFromAppName","appName","startsWith","substring","getBrand","context","brand","e","console","log","Error","withDeviceSignals","payload","maybeDeviceId","get","undefined","ipAddress","os","isMobile","evReferrer","cnfEnvironment","process","licensedBrand","createDerivedBrands","consumerBrand","userAgent","system","app","clientTags","toStringArray","value","Array","isArray","map","String","defaultClientTags","mapValues","payloadClientTags","mergedClientTags","key","Object","entries","existing","deviceId","sessionInformation"],"sourceRoot":"../../../../../../../../src","sources":["capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.ts"],"mappings":"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","ignoreList":[]}