@moneylion/react-native-offer-carousel 1.10.1 → 1.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/lib/commonjs/capabilities/configuration/src/brands/checkVisualEligibility.js +13 -11
- package/lib/commonjs/capabilities/configuration/src/brands/checkVisualEligibility.js.map +1 -1
- package/lib/commonjs/capabilities/configuration/src/brands/createDerivedBrands.js +8 -19
- package/lib/commonjs/capabilities/configuration/src/brands/createDerivedBrands.js.map +1 -1
- package/lib/commonjs/capabilities/offer-catalog/src/utils/formatUtils.js +36 -21
- package/lib/commonjs/capabilities/offer-catalog/src/utils/formatUtils.js.map +1 -1
- package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/annualFee.js +7 -30
- package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/annualFee.js.map +1 -1
- package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.js +15 -17
- package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.js.map +1 -1
- package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.js +8 -2
- package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.js.map +1 -1
- package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/index.js +40 -38
- package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/index.js.map +1 -1
- package/lib/commonjs/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.js +22 -12
- package/lib/commonjs/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.js.map +1 -1
- package/lib/commonjs/capabilities/ui/elements/src/components/MarkdownText/components.js +22 -10
- package/lib/commonjs/capabilities/ui/elements/src/components/MarkdownText/components.js.map +1 -1
- package/lib/commonjs/components/DynamicOffers/Render/Offer.js +51 -49
- package/lib/commonjs/components/DynamicOffers/Render/Offer.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/capabilities/configuration/src/brands/checkVisualEligibility.js +13 -11
- package/lib/module/capabilities/configuration/src/brands/checkVisualEligibility.js.map +1 -1
- package/lib/module/capabilities/configuration/src/brands/createDerivedBrands.js +7 -19
- package/lib/module/capabilities/configuration/src/brands/createDerivedBrands.js.map +1 -1
- package/lib/module/capabilities/offer-catalog/src/utils/formatUtils.js +35 -20
- package/lib/module/capabilities/offer-catalog/src/utils/formatUtils.js.map +1 -1
- package/lib/module/capabilities/offer-catalog/src/utils/stats/formatters/annualFee.js +7 -30
- package/lib/module/capabilities/offer-catalog/src/utils/stats/formatters/annualFee.js.map +1 -1
- package/lib/module/capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.js +15 -17
- package/lib/module/capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.js.map +1 -1
- package/lib/module/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.js +8 -2
- package/lib/module/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.js.map +1 -1
- package/lib/module/capabilities/offer-catalog/src/utils/stats/index.js +40 -38
- package/lib/module/capabilities/offer-catalog/src/utils/stats/index.js.map +1 -1
- package/lib/module/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.js +22 -11
- package/lib/module/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.js.map +1 -1
- package/lib/module/capabilities/ui/elements/src/components/MarkdownText/components.js +22 -10
- package/lib/module/capabilities/ui/elements/src/components/MarkdownText/components.js.map +1 -1
- package/lib/module/components/DynamicOffers/Render/Offer.js +51 -49
- package/lib/module/components/DynamicOffers/Render/Offer.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/capabilities/configuration/src/brands/checkVisualEligibility.d.ts.map +1 -1
- package/lib/typescript/capabilities/configuration/src/brands/createDerivedBrands.d.ts.map +1 -1
- package/lib/typescript/capabilities/offer-catalog/src/utils/formatUtils.d.ts.map +1 -1
- package/lib/typescript/capabilities/offer-catalog/src/utils/stats/formatters/annualFee.d.ts.map +1 -1
- package/lib/typescript/capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.d.ts.map +1 -1
- package/lib/typescript/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.d.ts.map +1 -1
- package/lib/typescript/capabilities/offer-catalog/src/utils/stats/index.d.ts.map +1 -1
- package/lib/typescript/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.d.ts +4 -192
- package/lib/typescript/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.d.ts.map +1 -1
- package/lib/typescript/capabilities/ui/elements/src/components/MarkdownText/components.d.ts.map +1 -1
- package/lib/typescript/components/DynamicOffers/Render/Offer.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +2 -7
- package/src/capabilities/configuration/src/brands/checkVisualEligibility.ts +22 -16
- package/src/capabilities/configuration/src/brands/createDerivedBrands.ts +10 -23
- package/src/capabilities/offer-catalog/src/utils/formatUtils.ts +38 -19
- package/src/capabilities/offer-catalog/src/utils/stats/formatters/annualFee.ts +19 -46
- package/src/capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.ts +17 -21
- package/src/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.ts +11 -8
- package/src/capabilities/offer-catalog/src/utils/stats/index.ts +40 -109
- package/src/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.ts +26 -17
- package/src/capabilities/ui/elements/src/components/MarkdownText/components.tsx +27 -6
- package/src/components/DynamicOffers/Render/Offer.tsx +34 -33
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -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 =>
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
logo: true
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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","
|
|
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
|
-
|
|
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","
|
|
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
|
-
|
|
8
|
-
|
|
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
|
-
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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 `${(
|
|
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 = (
|
|
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":["
|
|
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
|
-
|
|
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
|
-
}
|
|
33
|
-
|
|
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
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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","
|
|
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
|
-
|
|
28
|
-
purchaseAprValue
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
-
|
|
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,
|
package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/purchaseApr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_radash","require","
|
|
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":[]}
|
package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.js
CHANGED
|
@@ -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
|
-
|
|
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,
|
package/lib/commonjs/capabilities/offer-catalog/src/utils/stats/formatters/recommendedCredit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_radash","require","
|
|
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 =>
|
|
11
|
-
format
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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":["
|
|
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":[]}
|
package/lib/commonjs/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.js
CHANGED
|
@@ -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
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
});
|
|
80
|
+
...payload,
|
|
81
|
+
clientTags: mergedClientTags
|
|
82
|
+
};
|
|
73
83
|
}
|
|
74
84
|
//# sourceMappingURL=withDeviceSignals.js.map
|
package/lib/commonjs/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
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":[]}
|