@xsolla/payment-client-core 0.2.65 → 0.2.67
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/esm2022/lib/core/payment/form/converters/birth-date/birth-date.converter.mjs +6 -5
- package/esm2022/lib/core/payment/form/converters/card-number/card-number.converter.mjs +5 -4
- package/esm2022/lib/core/payment/form/converters/checkbox/checkbox.converter.mjs +6 -2
- package/esm2022/lib/core/payment/form/converters/converter.abstract.mjs +6 -2
- package/esm2022/lib/core/payment/form/converters/cpf-name/cpf-name.converter.mjs +6 -5
- package/esm2022/lib/core/payment/form/converters/cvv/cvv.converter.mjs +5 -2
- package/esm2022/lib/core/payment/form/converters/street-number/street-number.converter.mjs +5 -2
- package/esm2022/lib/core/payment/form/converters/zip/zip.converter.mjs +8 -7
- package/esm2022/lib/core/payment/form/overrided-fields/fields-allowed-to-override.mjs +5 -0
- package/esm2022/lib/core/payment/form/overrided-fields/override-field-config.mjs +12 -0
- package/esm2022/lib/core/payment/form/validators/birth-date/birth-date.validator.mjs +6 -2
- package/esm2022/lib/core/payment/form/validators/card-expiration-date-validator/card-expiration-date.validator.mjs +31 -10
- package/esm2022/lib/core/payment/form/validators/card-month/card-month.validator.mjs +20 -7
- package/esm2022/lib/core/payment/form/validators/card-year/card-year.validator.mjs +20 -7
- package/esm2022/lib/core/payment/form/validators/convert.function.mjs +7 -6
- package/esm2022/lib/core/payment/form/validators/coupon/coupon-validator.mjs +6 -3
- package/esm2022/lib/core/payment/form/validators/credit-card-length/credit-card-max-length.validator.mjs +37 -0
- package/esm2022/lib/core/payment/form/validators/credit-card-length/credit-card-min-length.validator.mjs +13 -8
- package/esm2022/lib/core/payment/form/validators/email/email-validator.mjs +5 -2
- package/esm2022/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.mjs +6 -2
- package/esm2022/lib/core/payment/form/validators/max-length-validator.mjs +6 -2
- package/esm2022/lib/core/payment/form/validators/min-length-validator.mjs +6 -2
- package/esm2022/lib/core/payment/form/validators/phone-validator.mjs +5 -2
- package/esm2022/lib/core/payment/form/validators/required/required.validator.mjs +5 -2
- package/esm2022/lib/core/payment/form/validators/validation-error-id.enum.mjs +24 -0
- package/esm2022/lib/core/payment/form/validators/validation-error-params.interface.mjs +2 -0
- package/esm2022/lib/core/payment/form/validators/validation-error.interface.mjs +1 -1
- package/esm2022/lib/core/payment/form/validators/validators.module.mjs +5 -4
- package/esm2022/lib/core/payment/payment-configuration.interface.mjs +1 -1
- package/esm2022/lib/core/payment/payment.service.mjs +22 -1
- package/esm2022/lib/core/type-guards/is-object.function.mjs +4 -0
- package/esm2022/lib/core/type-guards/is-xps-boolean.function.mjs +4 -0
- package/fesm2022/xsolla-payment-client-core.mjs +243 -69
- package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/payment/form/converters/card-number/card-number.converter.d.ts +2 -1
- package/lib/core/payment/form/overrided-fields/fields-allowed-to-override.d.ts +2 -0
- package/lib/core/payment/form/overrided-fields/override-field-config.d.ts +14 -0
- package/lib/core/payment/form/validators/convert.function.d.ts +2 -1
- package/lib/core/payment/form/validators/credit-card-length/credit-card-max-length.validator.d.ts +12 -0
- package/lib/core/payment/form/validators/credit-card-length/credit-card-min-length.validator.d.ts +2 -2
- package/lib/core/payment/form/validators/validation-error-id.enum.d.ts +22 -0
- package/lib/core/payment/form/validators/validation-error-params.interface.d.ts +6 -0
- package/lib/core/payment/form/validators/validation-error.interface.d.ts +2 -0
- package/lib/core/payment/payment-configuration.interface.d.ts +7 -0
- package/lib/core/payment/payment.service.d.ts +1 -0
- package/lib/core/type-guards/is-object.function.d.ts +1 -0
- package/lib/core/type-guards/is-xps-boolean.function.d.ts +2 -0
- package/package.json +1 -1
- package/xsolla-payment-client-core-0.2.67.tgz +0 -0
- package/xsolla-payment-client-core-0.2.65.tgz +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ValidationErrorId } from '../validation-error-id.enum';
|
|
1
2
|
export const maxMonths = 12;
|
|
2
3
|
export const getMinMonth = (parsedYear) => {
|
|
3
4
|
let minMonth = 1;
|
|
@@ -6,9 +7,10 @@ export const getMinMonth = (parsedYear) => {
|
|
|
6
7
|
minMonth = year === today.getFullYear() ? today.getMonth() + 1 : 1;
|
|
7
8
|
return minMonth;
|
|
8
9
|
};
|
|
9
|
-
const sendErrMessage = (
|
|
10
|
+
const sendErrMessage = (message, params) => ({
|
|
10
11
|
cardMonthExpiration: {
|
|
11
|
-
message
|
|
12
|
+
message,
|
|
13
|
+
params,
|
|
12
14
|
},
|
|
13
15
|
});
|
|
14
16
|
export function cardMonthValidator(formState) {
|
|
@@ -20,18 +22,29 @@ export function cardMonthValidator(formState) {
|
|
|
20
22
|
const twoDigitsRegex = new RegExp(/^\d{2}$/);
|
|
21
23
|
const fieldCommonLength = 2;
|
|
22
24
|
if (value.length !== fieldCommonLength) {
|
|
23
|
-
return sendErrMessage(`Enter ${fieldCommonLength} characters
|
|
25
|
+
return sendErrMessage(`Enter ${fieldCommonLength} characters`, {
|
|
26
|
+
id: ValidationErrorId.expirationLength,
|
|
27
|
+
requiredLength: fieldCommonLength,
|
|
28
|
+
});
|
|
24
29
|
}
|
|
25
30
|
if (!twoDigitsRegex.test(value)) {
|
|
26
|
-
return sendErrMessage(
|
|
31
|
+
return sendErrMessage('Enter a valid expiration month', {
|
|
32
|
+
id: ValidationErrorId.expirationMonthPattern,
|
|
33
|
+
});
|
|
27
34
|
}
|
|
28
35
|
if (Number(value) < minMonth) {
|
|
29
|
-
return sendErrMessage(`Enter a month greater than or equal to ${minMonth}
|
|
36
|
+
return sendErrMessage(`Enter a month greater than or equal to ${minMonth}`, {
|
|
37
|
+
id: ValidationErrorId.expirationMinMonth,
|
|
38
|
+
minMonth,
|
|
39
|
+
});
|
|
30
40
|
}
|
|
31
41
|
if (Number(value) > maxMonths) {
|
|
32
|
-
return sendErrMessage(`Enter a month less than or equal to ${maxMonths}
|
|
42
|
+
return sendErrMessage(`Enter a month less than or equal to ${maxMonths}`, {
|
|
43
|
+
id: ValidationErrorId.expirationMaxMonth,
|
|
44
|
+
maxMonth: maxMonths,
|
|
45
|
+
});
|
|
33
46
|
}
|
|
34
47
|
return null;
|
|
35
48
|
};
|
|
36
49
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1tb250aC52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy9jYXJkLW1vbnRoL2NhcmQtbW9udGgudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFDNUIsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsVUFBa0IsRUFBVSxFQUFFO0lBQ3hELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztJQUVqQixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRCxNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3pCLFFBQVEsR0FBRyxJQUFJLEtBQUssS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbkUsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsQ0FDckIsT0FBZSxFQUNmLE1BQTZCLEVBQ1gsRUFBRSxDQUNwQixDQUFDO0lBQ0MsbUJBQW1CLEVBQUU7UUFDbkIsT0FBTztRQUNQLE1BQU07S0FDUDtDQUNtQixDQUFBLENBQUM7QUFFekIsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFNBQXFCO0lBQ3RELE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFFMUIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFM0MsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFFLFNBQVMsRUFBRSxhQUF3QixJQUFJLElBQUksQ0FBQyxDQUFDO1FBRTNFLE1BQU0sY0FBYyxHQUFHLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sY0FBYyxDQUFDLFNBQVMsaUJBQWlCLGFBQWEsRUFBRTtnQkFDN0QsRUFBRSxFQUFFLGlCQUFpQixDQUFDLGdCQUFnQjtnQkFDdEMsY0FBYyxFQUFFLGlCQUFpQjthQUNsQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLGNBQWMsQ0FBQyxnQ0FBZ0MsRUFBRTtnQkFDdEQsRUFBRSxFQUFFLGlCQUFpQixDQUFDLHNCQUFzQjthQUM3QyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUM7WUFDN0IsT0FBTyxjQUFjLENBQ25CLDBDQUEwQyxRQUFRLEVBQUUsRUFDcEQ7Z0JBQ0UsRUFBRSxFQUFFLGlCQUFpQixDQUFDLGtCQUFrQjtnQkFDeEMsUUFBUTthQUNULENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQztZQUM5QixPQUFPLGNBQWMsQ0FDbkIsdUNBQXVDLFNBQVMsRUFBRSxFQUNsRDtnQkFDRSxFQUFFLEVBQUUsaUJBQWlCLENBQUMsa0JBQWtCO2dCQUN4QyxRQUFRLEVBQUUsU0FBUzthQUNwQixDQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJy4uL3ZhbGlkYXRpb24tZXJyb3JzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuLi8uLi9mb3JtLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJy4uL3ZhbGlkYXRvci1mbi50eXBlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvclBhcmFtcyB9IGZyb20gJy4uL3ZhbGlkYXRpb24tZXJyb3ItcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JJZCB9IGZyb20gJy4uL3ZhbGlkYXRpb24tZXJyb3ItaWQuZW51bSc7XG5cbmV4cG9ydCBjb25zdCBtYXhNb250aHMgPSAxMjtcbmV4cG9ydCBjb25zdCBnZXRNaW5Nb250aCA9IChwYXJzZWRZZWFyOiBzdHJpbmcpOiBudW1iZXIgPT4ge1xuICBsZXQgbWluTW9udGggPSAxO1xuXG4gIGNvbnN0IHllYXIgPSBwYXJzZWRZZWFyID8gTnVtYmVyKCcyMCcgKyBwYXJzZWRZZWFyKSA6IG51bGw7XG4gIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgbWluTW9udGggPSB5ZWFyID09PSB0b2RheS5nZXRGdWxsWWVhcigpID8gdG9kYXkuZ2V0TW9udGgoKSArIDEgOiAxO1xuXG4gIHJldHVybiBtaW5Nb250aDtcbn07XG5cbmNvbnN0IHNlbmRFcnJNZXNzYWdlID0gKFxuICBtZXNzYWdlOiBzdHJpbmcsXG4gIHBhcmFtczogVmFsaWRhdGlvbkVycm9yUGFyYW1zXG4pOiBWYWxpZGF0aW9uRXJyb3JzID0+XG4gICh7XG4gICAgY2FyZE1vbnRoRXhwaXJhdGlvbjoge1xuICAgICAgbWVzc2FnZSxcbiAgICAgIHBhcmFtcyxcbiAgICB9LFxuICB9IGFzIFZhbGlkYXRpb25FcnJvcnMpO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FyZE1vbnRoVmFsaWRhdG9yKGZvcm1TdGF0ZT86IEZvcm1TdGF0ZSk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gY29udHJvbDtcblxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IG1pbk1vbnRoID0gZ2V0TWluTW9udGgoKGZvcm1TdGF0ZT8uY2FyZFllYXJWYWx1ZSBhcyBzdHJpbmcpID8/IG51bGwpO1xuXG4gICAgY29uc3QgdHdvRGlnaXRzUmVnZXggPSBuZXcgUmVnRXhwKC9eXFxkezJ9JC8pO1xuICAgIGNvbnN0IGZpZWxkQ29tbW9uTGVuZ3RoID0gMjtcblxuICAgIGlmICh2YWx1ZS5sZW5ndGggIT09IGZpZWxkQ29tbW9uTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gc2VuZEVyck1lc3NhZ2UoYEVudGVyICR7ZmllbGRDb21tb25MZW5ndGh9IGNoYXJhY3RlcnNgLCB7XG4gICAgICAgIGlkOiBWYWxpZGF0aW9uRXJyb3JJZC5leHBpcmF0aW9uTGVuZ3RoLFxuICAgICAgICByZXF1aXJlZExlbmd0aDogZmllbGRDb21tb25MZW5ndGgsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoIXR3b0RpZ2l0c1JlZ2V4LnRlc3QodmFsdWUpKSB7XG4gICAgICByZXR1cm4gc2VuZEVyck1lc3NhZ2UoJ0VudGVyIGEgdmFsaWQgZXhwaXJhdGlvbiBtb250aCcsIHtcbiAgICAgICAgaWQ6IFZhbGlkYXRpb25FcnJvcklkLmV4cGlyYXRpb25Nb250aFBhdHRlcm4sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoTnVtYmVyKHZhbHVlKSA8IG1pbk1vbnRoKSB7XG4gICAgICByZXR1cm4gc2VuZEVyck1lc3NhZ2UoXG4gICAgICAgIGBFbnRlciBhIG1vbnRoIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAke21pbk1vbnRofWAsXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogVmFsaWRhdGlvbkVycm9ySWQuZXhwaXJhdGlvbk1pbk1vbnRoLFxuICAgICAgICAgIG1pbk1vbnRoLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChOdW1iZXIodmFsdWUpID4gbWF4TW9udGhzKSB7XG4gICAgICByZXR1cm4gc2VuZEVyck1lc3NhZ2UoXG4gICAgICAgIGBFbnRlciBhIG1vbnRoIGxlc3MgdGhhbiBvciBlcXVhbCB0byAke21heE1vbnRoc31gLFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6IFZhbGlkYXRpb25FcnJvcklkLmV4cGlyYXRpb25NYXhNb250aCxcbiAgICAgICAgICBtYXhNb250aDogbWF4TW9udGhzLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xufVxuIl19
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { ValidationErrorId } from '../validation-error-id.enum';
|
|
2
|
+
const sendErrMessage = (message, params) => ({
|
|
2
3
|
cardYearExpiration: {
|
|
3
|
-
message
|
|
4
|
+
message,
|
|
5
|
+
params,
|
|
4
6
|
},
|
|
5
7
|
});
|
|
6
8
|
export const getLastCharactersInYear = (str = new Date().getFullYear().toString()) => {
|
|
@@ -17,18 +19,29 @@ export function cardYearValidator(control) {
|
|
|
17
19
|
const twoDigitsRegex = new RegExp(/^\d{2}$/);
|
|
18
20
|
const fieldCommonLength = 2;
|
|
19
21
|
if (value.length !== fieldCommonLength) {
|
|
20
|
-
return sendErrMessage(`Enter ${fieldCommonLength} characters
|
|
22
|
+
return sendErrMessage(`Enter ${fieldCommonLength} characters`, {
|
|
23
|
+
id: ValidationErrorId.expirationLength,
|
|
24
|
+
requiredLength: fieldCommonLength,
|
|
25
|
+
});
|
|
21
26
|
}
|
|
22
27
|
if (!twoDigitsRegex.test(value)) {
|
|
23
|
-
return sendErrMessage(
|
|
28
|
+
return sendErrMessage('Enter a valid expiration year', {
|
|
29
|
+
id: ValidationErrorId.expirationYearPattern,
|
|
30
|
+
});
|
|
24
31
|
}
|
|
25
32
|
if (Number(value) < minYear) {
|
|
26
|
-
return sendErrMessage(`Enter a year greater than or equal to ${minYear}
|
|
33
|
+
return sendErrMessage(`Enter a year greater than or equal to ${minYear}`, {
|
|
34
|
+
id: ValidationErrorId.expirationMinYear,
|
|
35
|
+
minYear,
|
|
36
|
+
});
|
|
27
37
|
}
|
|
28
38
|
const maxValidYear = minYear + maxYearsCount;
|
|
29
39
|
if (Number(value) > maxValidYear) {
|
|
30
|
-
return sendErrMessage(`Enter a year less than or equal to ${maxValidYear}
|
|
40
|
+
return sendErrMessage(`Enter a year less than or equal to ${maxValidYear}`, {
|
|
41
|
+
id: ValidationErrorId.expirationMaxYear,
|
|
42
|
+
maxYear: maxValidYear,
|
|
43
|
+
});
|
|
31
44
|
}
|
|
32
45
|
return null;
|
|
33
46
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC15ZWFyLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS92YWxpZGF0b3JzL2NhcmQteWVhci9jYXJkLXllYXIudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE1BQU0sY0FBYyxHQUFHLENBQ3JCLE9BQWUsRUFDZixNQUE2QixFQUNYLEVBQUUsQ0FDcEIsQ0FBQztJQUNDLGtCQUFrQixFQUFFO1FBQ2xCLE9BQU87UUFDUCxNQUFNO0tBQ1A7Q0FDbUIsQ0FBQSxDQUFDO0FBRXpCLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQ3JDLE1BQWMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFDekMsRUFBRTtJQUNWLCtEQUErRDtJQUMvRCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRixvQ0FBb0M7QUFDcEMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztBQUVoQyxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLE9BQXdCO0lBRXhCLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFMUIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFFM0MsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFeEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFN0MsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7SUFFNUIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsT0FBTyxjQUFjLENBQUMsU0FBUyxpQkFBaUIsYUFBYSxFQUFFO1lBQzdELEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxnQkFBZ0I7WUFDdEMsY0FBYyxFQUFFLGlCQUFpQjtTQUNsQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxPQUFPLGNBQWMsQ0FBQywrQkFBK0IsRUFBRTtZQUNyRCxFQUFFLEVBQUUsaUJBQWlCLENBQUMscUJBQXFCO1NBQzVDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUM1QixPQUFPLGNBQWMsQ0FBQyx5Q0FBeUMsT0FBTyxFQUFFLEVBQUU7WUFDeEUsRUFBRSxFQUFFLGlCQUFpQixDQUFDLGlCQUFpQjtZQUN2QyxPQUFPO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLE9BQU8sR0FBRyxhQUFhLENBQUM7SUFFN0MsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsWUFBWSxFQUFFLENBQUM7UUFDakMsT0FBTyxjQUFjLENBQ25CLHNDQUFzQyxZQUFZLEVBQUUsRUFDcEQ7WUFDRSxFQUFFLEVBQUUsaUJBQWlCLENBQUMsaUJBQWlCO1lBQ3ZDLE9BQU8sRUFBRSxZQUFZO1NBQ3RCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1lcnJvcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvclBhcmFtcyB9IGZyb20gJy4uL3ZhbGlkYXRpb24tZXJyb3ItcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JJZCB9IGZyb20gJy4uL3ZhbGlkYXRpb24tZXJyb3ItaWQuZW51bSc7XG5cbmNvbnN0IHNlbmRFcnJNZXNzYWdlID0gKFxuICBtZXNzYWdlOiBzdHJpbmcsXG4gIHBhcmFtczogVmFsaWRhdGlvbkVycm9yUGFyYW1zXG4pOiBWYWxpZGF0aW9uRXJyb3JzID0+XG4gICh7XG4gICAgY2FyZFllYXJFeHBpcmF0aW9uOiB7XG4gICAgICBtZXNzYWdlLFxuICAgICAgcGFyYW1zLFxuICAgIH0sXG4gIH0gYXMgVmFsaWRhdGlvbkVycm9ycyk7XG5cbmV4cG9ydCBjb25zdCBnZXRMYXN0Q2hhcmFjdGVyc0luWWVhciA9IChcbiAgc3RyOiBzdHJpbmcgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKVxuKTogc3RyaW5nID0+IHtcbiAgLy8gZm9yIGdldHRpbmcgbGFzdCBjaGFyYWN0ZXJzIGluIHllYXI7IG5lZWQgdG8gY2hlY2sgaW4gZnV0dXJlXG4gIHJldHVybiBzdHIuc2xpY2Uoc3RyLmxlbmd0aCAtIDIpO1xufTtcblxuLy8g0JrQsNGA0YLQsCDQstGL0LTQsNC10YLRgdGPINC80LDQutGB0LjQvNGD0Lwg0L3QsCA1MCDQu9C10YJcbmV4cG9ydCBjb25zdCBtYXhZZWFyc0NvdW50ID0gNTA7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYXJkWWVhclZhbGlkYXRvcihcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sXG4pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGNvbnN0IHsgdmFsdWUgfSA9IGNvbnRyb2w7XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IG1pblllYXIgPSBwYXJzZUludChnZXRMYXN0Q2hhcmFjdGVyc0luWWVhcigpLCAxMCk7XG5cbiAgY29uc3QgdHdvRGlnaXRzUmVnZXggPSBuZXcgUmVnRXhwKC9eXFxkezJ9JC8pO1xuXG4gIGNvbnN0IGZpZWxkQ29tbW9uTGVuZ3RoID0gMjtcblxuICBpZiAodmFsdWUubGVuZ3RoICE9PSBmaWVsZENvbW1vbkxlbmd0aCkge1xuICAgIHJldHVybiBzZW5kRXJyTWVzc2FnZShgRW50ZXIgJHtmaWVsZENvbW1vbkxlbmd0aH0gY2hhcmFjdGVyc2AsIHtcbiAgICAgIGlkOiBWYWxpZGF0aW9uRXJyb3JJZC5leHBpcmF0aW9uTGVuZ3RoLFxuICAgICAgcmVxdWlyZWRMZW5ndGg6IGZpZWxkQ29tbW9uTGVuZ3RoLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKCF0d29EaWdpdHNSZWdleC50ZXN0KHZhbHVlKSkge1xuICAgIHJldHVybiBzZW5kRXJyTWVzc2FnZSgnRW50ZXIgYSB2YWxpZCBleHBpcmF0aW9uIHllYXInLCB7XG4gICAgICBpZDogVmFsaWRhdGlvbkVycm9ySWQuZXhwaXJhdGlvblllYXJQYXR0ZXJuLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKE51bWJlcih2YWx1ZSkgPCBtaW5ZZWFyKSB7XG4gICAgcmV0dXJuIHNlbmRFcnJNZXNzYWdlKGBFbnRlciBhIHllYXIgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICR7bWluWWVhcn1gLCB7XG4gICAgICBpZDogVmFsaWRhdGlvbkVycm9ySWQuZXhwaXJhdGlvbk1pblllYXIsXG4gICAgICBtaW5ZZWFyLFxuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgbWF4VmFsaWRZZWFyID0gbWluWWVhciArIG1heFllYXJzQ291bnQ7XG5cbiAgaWYgKE51bWJlcih2YWx1ZSkgPiBtYXhWYWxpZFllYXIpIHtcbiAgICByZXR1cm4gc2VuZEVyck1lc3NhZ2UoXG4gICAgICBgRW50ZXIgYSB5ZWFyIGxlc3MgdGhhbiBvciBlcXVhbCB0byAke21heFZhbGlkWWVhcn1gLFxuICAgICAge1xuICAgICAgICBpZDogVmFsaWRhdGlvbkVycm9ySWQuZXhwaXJhdGlvbk1heFllYXIsXG4gICAgICAgIG1heFllYXI6IG1heFZhbGlkWWVhcixcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4iXX0=
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { isObject } from '../../../type-guards/is-object.function';
|
|
2
|
+
export function convert(validator, message, params) {
|
|
2
3
|
return (control) => {
|
|
3
4
|
const errors = validator(control);
|
|
4
|
-
if (!errors)
|
|
5
|
-
return
|
|
6
|
-
}
|
|
5
|
+
if (!errors)
|
|
6
|
+
return null;
|
|
7
7
|
const firstErrorKey = Object.keys(errors)[0];
|
|
8
8
|
const firstError = errors[firstErrorKey];
|
|
9
|
-
const error =
|
|
9
|
+
const error = isObject(firstError) ? firstError : {};
|
|
10
10
|
error.message = message;
|
|
11
|
+
error.params = params;
|
|
11
12
|
errors[firstErrorKey] = error;
|
|
12
13
|
return errors;
|
|
13
14
|
};
|
|
14
15
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS92YWxpZGF0b3JzL2NvbnZlcnQuZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBTW5FLE1BQU0sVUFBVSxPQUFPLENBQ3JCLFNBQXNCLEVBQ3RCLE9BQWUsRUFDZixNQUE4QjtJQUU5QixPQUFPLENBQUMsT0FBd0IsRUFBb0MsRUFBRTtRQUNwRSxNQUFNLE1BQU0sR0FBNEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFekIsTUFBTSxhQUFhLEdBQVcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRCxNQUFNLFVBQVUsR0FBNkIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFckQsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDeEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFdEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUU5QixPQUFPLE1BQW1DLENBQUM7SUFDN0MsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpc09iamVjdCB9IGZyb20gJy4uLy4uLy4uL3R5cGUtZ3VhcmRzL2lzLW9iamVjdC5mdW5jdGlvbic7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgYXMgQ29udmVydGVkVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi92YWxpZGF0aW9uLWVycm9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIGFzIENvbnZlcnRlZFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICcuL3ZhbGlkYXRpb24tZXJyb3JzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiBhcyBDb252ZXJ0ZWRWYWxpZGF0b3JGbiB9IGZyb20gJy4vdmFsaWRhdG9yLWZuLnR5cGUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yUGFyYW1zIH0gZnJvbSAnLi92YWxpZGF0aW9uLWVycm9yLXBhcmFtcy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydChcbiAgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbixcbiAgbWVzc2FnZTogc3RyaW5nLFxuICBwYXJhbXM/OiBWYWxpZGF0aW9uRXJyb3JQYXJhbXNcbik6IENvbnZlcnRlZFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBDb252ZXJ0ZWRWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IHZhbGlkYXRvcihjb250cm9sKTtcbiAgICBpZiAoIWVycm9ycykgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBmaXJzdEVycm9yS2V5OiBzdHJpbmcgPSBPYmplY3Qua2V5cyhlcnJvcnMpWzBdO1xuICAgIGNvbnN0IGZpcnN0RXJyb3I6IENvbnZlcnRlZFZhbGlkYXRpb25FcnJvciA9IGVycm9yc1tmaXJzdEVycm9yS2V5XTtcbiAgICBjb25zdCBlcnJvciA9IGlzT2JqZWN0KGZpcnN0RXJyb3IpID8gZmlyc3RFcnJvciA6IHt9O1xuXG4gICAgZXJyb3IubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgZXJyb3IucGFyYW1zID0gcGFyYW1zO1xuXG4gICAgZXJyb3JzW2ZpcnN0RXJyb3JLZXldID0gZXJyb3I7XG5cbiAgICByZXR1cm4gZXJyb3JzIGFzIENvbnZlcnRlZFZhbGlkYXRpb25FcnJvcnM7XG4gIH07XG59XG4iXX0=
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Validators } from '@angular/forms';
|
|
2
2
|
import { convert } from '../convert.function';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { ValidationErrorId } from '../validation-error-id.enum';
|
|
4
|
+
export function couponValidator(message = 'Enter a valid promo code') {
|
|
5
|
+
return convert(Validators.pattern(/^[0-9a-z_-]+$/i), message, {
|
|
6
|
+
id: ValidationErrorId.couponPattern,
|
|
7
|
+
});
|
|
5
8
|
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLXZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS92YWxpZGF0b3JzL2NvdXBvbi9jb3Vwb24tdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHaEUsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsT0FBTyxHQUFHLDBCQUEwQjtJQUVwQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxFQUFFO1FBQzVELEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxhQUFhO0tBQ3BDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29udmVydCB9IGZyb20gJy4uL2NvbnZlcnQuZnVuY3Rpb24nO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ySWQgfSBmcm9tICcuLi92YWxpZGF0aW9uLWVycm9yLWlkLmVudW0nO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICcuLi92YWxpZGF0b3ItZm4udHlwZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb3Vwb25WYWxpZGF0b3IoXG4gIG1lc3NhZ2UgPSAnRW50ZXIgYSB2YWxpZCBwcm9tbyBjb2RlJ1xuKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gY29udmVydChWYWxpZGF0b3JzLnBhdHRlcm4oL15bMC05YS16Xy1dKyQvaSksIG1lc3NhZ2UsIHtcbiAgICBpZDogVmFsaWRhdGlvbkVycm9ySWQuY291cG9uUGF0dGVybixcbiAgfSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { isString } from '../../../../type-guards/is-string.function';
|
|
3
|
+
import { isEmptyInputValue } from '../is-empty-input-value.function';
|
|
4
|
+
import { ValidationErrorId } from '../validation-error-id.enum';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../../../credit-card/credit-card.service";
|
|
7
|
+
export class CreditCardMaxLengthValidator {
|
|
8
|
+
constructor(creditService) {
|
|
9
|
+
this.creditService = creditService;
|
|
10
|
+
this.validate = (field) => {
|
|
11
|
+
if (isEmptyInputValue(field.value) || !isString(field.value)) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
const length = field.value.length;
|
|
15
|
+
const cardType = this.creditService.getTypeByNumber(field.value);
|
|
16
|
+
const { maxLength } = this.creditService.getCreditCardSettings(cardType);
|
|
17
|
+
if (length <= maxLength)
|
|
18
|
+
return null;
|
|
19
|
+
return {
|
|
20
|
+
rewritableError: {
|
|
21
|
+
message: `Enter no more than ${maxLength} characters`,
|
|
22
|
+
number: maxLength,
|
|
23
|
+
params: {
|
|
24
|
+
id: ValidationErrorId.maxLength,
|
|
25
|
+
maxLength,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CreditCardMaxLengthValidator, deps: [{ token: i1.CreditCardService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
32
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CreditCardMaxLengthValidator }); }
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CreditCardMaxLengthValidator, decorators: [{
|
|
35
|
+
type: Injectable
|
|
36
|
+
}], ctorParameters: () => [{ type: i1.CreditCardService }] });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWNhcmQtbWF4LWxlbmd0aC52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy9jcmVkaXQtY2FyZC1sZW5ndGgvY3JlZGl0LWNhcmQtbWF4LWxlbmd0aC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUdoRSxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLFlBQW9DLGFBQWdDO1FBQWhDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUU3RCxhQUFRLEdBQUcsQ0FBQyxLQUVsQixFQUFvQyxFQUFFO1lBQ3JDLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM3RCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFFRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFekUsSUFBSSxNQUFNLElBQUksU0FBUztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUVyQyxPQUFPO2dCQUNMLGVBQWUsRUFBRTtvQkFDZixPQUFPLEVBQUUsc0JBQXNCLFNBQVMsYUFBYTtvQkFDckQsTUFBTSxFQUFFLFNBQVM7b0JBQ2pCLE1BQU0sRUFBRTt3QkFDTixFQUFFLEVBQUUsaUJBQWlCLENBQUMsU0FBUzt3QkFDL0IsU0FBUztxQkFDVjtpQkFDRjthQUNGLENBQUM7UUFDSixDQUFDLENBQUM7SUF6QnFFLENBQUM7OEdBRDdELDRCQUE0QjtrSEFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyBhcyBDb252ZXJ0ZWRWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1lcnJvcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IENyZWRpdENhcmRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGUtZ3VhcmRzL2lzLXN0cmluZy5mdW5jdGlvbic7XG5pbXBvcnQgeyBpc0VtcHR5SW5wdXRWYWx1ZSB9IGZyb20gJy4uL2lzLWVtcHR5LWlucHV0LXZhbHVlLmZ1bmN0aW9uJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcklkIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1lcnJvci1pZC5lbnVtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENyZWRpdENhcmRNYXhMZW5ndGhWYWxpZGF0b3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjcmVkaXRTZXJ2aWNlOiBDcmVkaXRDYXJkU2VydmljZSkge31cblxuICBwdWJsaWMgdmFsaWRhdGUgPSAoZmllbGQ6IHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9KTogQ29udmVydGVkVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGlmIChpc0VtcHR5SW5wdXRWYWx1ZShmaWVsZC52YWx1ZSkgfHwgIWlzU3RyaW5nKGZpZWxkLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGVuZ3RoID0gZmllbGQudmFsdWUubGVuZ3RoO1xuICAgIGNvbnN0IGNhcmRUeXBlID0gdGhpcy5jcmVkaXRTZXJ2aWNlLmdldFR5cGVCeU51bWJlcihmaWVsZC52YWx1ZSk7XG4gICAgY29uc3QgeyBtYXhMZW5ndGggfSA9IHRoaXMuY3JlZGl0U2VydmljZS5nZXRDcmVkaXRDYXJkU2V0dGluZ3MoY2FyZFR5cGUpO1xuXG4gICAgaWYgKGxlbmd0aCA8PSBtYXhMZW5ndGgpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJld3JpdGFibGVFcnJvcjoge1xuICAgICAgICBtZXNzYWdlOiBgRW50ZXIgbm8gbW9yZSB0aGFuICR7bWF4TGVuZ3RofSBjaGFyYWN0ZXJzYCxcbiAgICAgICAgbnVtYmVyOiBtYXhMZW5ndGgsXG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIGlkOiBWYWxpZGF0aW9uRXJyb3JJZC5tYXhMZW5ndGgsXG4gICAgICAgICAgbWF4TGVuZ3RoLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9O1xufVxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { isEmptyInputValue } from '../is-empty-input-value.function';
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import { isString } from '../../../../type-guards/is-string.function';
|
|
4
|
+
import { ValidationErrorId } from '../validation-error-id.enum';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "../../../../credit-card/credit-card.service";
|
|
6
7
|
export class CreditCardMinLengthValidator {
|
|
@@ -13,14 +14,18 @@ export class CreditCardMinLengthValidator {
|
|
|
13
14
|
const length = field.value.length;
|
|
14
15
|
const cardType = this.creditService.getTypeByNumber(field.value);
|
|
15
16
|
const { minLength } = this.creditService.getCreditCardSettings(cardType);
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
if (length >= minLength)
|
|
18
|
+
return null;
|
|
19
|
+
return {
|
|
20
|
+
rewritableError: {
|
|
21
|
+
message: `Enter at least ${minLength} characters`,
|
|
22
|
+
number: minLength,
|
|
23
|
+
params: {
|
|
24
|
+
id: ValidationErrorId.minLength,
|
|
25
|
+
minLength,
|
|
21
26
|
},
|
|
22
|
-
}
|
|
23
|
-
|
|
27
|
+
},
|
|
28
|
+
};
|
|
24
29
|
};
|
|
25
30
|
}
|
|
26
31
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CreditCardMinLengthValidator, deps: [{ token: i1.CreditCardService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -29,4 +34,4 @@ export class CreditCardMinLengthValidator {
|
|
|
29
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CreditCardMinLengthValidator, decorators: [{
|
|
30
35
|
type: Injectable
|
|
31
36
|
}], ctorParameters: () => [{ type: i1.CreditCardService }] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWNhcmQtbWluLWxlbmd0aC52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy9jcmVkaXQtY2FyZC1sZW5ndGgvY3JlZGl0LWNhcmQtbWluLWxlbmd0aC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUdoRSxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLFlBQW9DLGFBQWdDO1FBQWhDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUU3RCxhQUFRLEdBQUcsQ0FBQyxLQUVsQixFQUFvQyxFQUFFO1lBQ3JDLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM3RCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFFRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFekUsSUFBSSxNQUFNLElBQUksU0FBUztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUVyQyxPQUFPO2dCQUNMLGVBQWUsRUFBRTtvQkFDZixPQUFPLEVBQUUsa0JBQWtCLFNBQVMsYUFBYTtvQkFDakQsTUFBTSxFQUFFLFNBQVM7b0JBQ2pCLE1BQU0sRUFBRTt3QkFDTixFQUFFLEVBQUUsaUJBQWlCLENBQUMsU0FBUzt3QkFDL0IsU0FBUztxQkFDVjtpQkFDRjthQUNGLENBQUM7UUFDSixDQUFDLENBQUM7SUF6QnFFLENBQUM7OEdBRDdELDRCQUE0QjtrSEFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eUlucHV0VmFsdWUgfSBmcm9tICcuLi9pcy1lbXB0eS1pbnB1dC12YWx1ZS5mdW5jdGlvbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGUtZ3VhcmRzL2lzLXN0cmluZy5mdW5jdGlvbic7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NyZWRpdC1jYXJkL2NyZWRpdC1jYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyBhcyBDb252ZXJ0ZWRWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1lcnJvcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcklkIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1lcnJvci1pZC5lbnVtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENyZWRpdENhcmRNaW5MZW5ndGhWYWxpZGF0b3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjcmVkaXRTZXJ2aWNlOiBDcmVkaXRDYXJkU2VydmljZSkge31cblxuICBwdWJsaWMgdmFsaWRhdGUgPSAoZmllbGQ6IHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9KTogQ29udmVydGVkVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGlmIChpc0VtcHR5SW5wdXRWYWx1ZShmaWVsZC52YWx1ZSkgfHwgIWlzU3RyaW5nKGZpZWxkLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGVuZ3RoID0gZmllbGQudmFsdWUubGVuZ3RoO1xuICAgIGNvbnN0IGNhcmRUeXBlID0gdGhpcy5jcmVkaXRTZXJ2aWNlLmdldFR5cGVCeU51bWJlcihmaWVsZC52YWx1ZSk7XG4gICAgY29uc3QgeyBtaW5MZW5ndGggfSA9IHRoaXMuY3JlZGl0U2VydmljZS5nZXRDcmVkaXRDYXJkU2V0dGluZ3MoY2FyZFR5cGUpO1xuXG4gICAgaWYgKGxlbmd0aCA+PSBtaW5MZW5ndGgpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJld3JpdGFibGVFcnJvcjoge1xuICAgICAgICBtZXNzYWdlOiBgRW50ZXIgYXQgbGVhc3QgJHttaW5MZW5ndGh9IGNoYXJhY3RlcnNgLFxuICAgICAgICBudW1iZXI6IG1pbkxlbmd0aCxcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgaWQ6IFZhbGlkYXRpb25FcnJvcklkLm1pbkxlbmd0aCxcbiAgICAgICAgICBtaW5MZW5ndGgsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH07XG59XG4iXX0=
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { Validators } from '@angular/forms';
|
|
2
2
|
import { convert } from '../convert.function';
|
|
3
|
+
import { ValidationErrorId } from '../validation-error-id.enum';
|
|
3
4
|
const emailRegexp = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i; // eslint-disable-line
|
|
4
5
|
export function convertedEmailValidator() {
|
|
5
|
-
return convert(Validators.pattern(emailRegexp), 'Enter a valid email'
|
|
6
|
+
return convert(Validators.pattern(emailRegexp), 'Enter a valid email', {
|
|
7
|
+
id: ValidationErrorId.emailPattern,
|
|
8
|
+
});
|
|
6
9
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL3ZhbGlkYXRvcnMvZW1haWwvZW1haWwtdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEUsTUFBTSxXQUFXLEdBQ2YseTRCQUF5NEIsQ0FBQyxDQUFDLHNCQUFzQjtBQUVuNkIsTUFBTSxVQUFVLHVCQUF1QjtJQUNyQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFO1FBQ3JFLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxZQUFZO0tBQ25DLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29udmVydCB9IGZyb20gJy4uL2NvbnZlcnQuZnVuY3Rpb24nO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICcuLi92YWxpZGF0b3ItZm4udHlwZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JJZCB9IGZyb20gJy4uL3ZhbGlkYXRpb24tZXJyb3ItaWQuZW51bSc7XG5cbmNvbnN0IGVtYWlsUmVnZXhwID1cbiAgL14oKChbYS16XXxcXGR8WyEjXFwkJSYnXFwqXFwrXFwtXFwvPVxcP1xcXl9ge1xcfH1+XXxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkrKFxcLihbYS16XXxcXGR8WyEjXFwkJSYnXFwqXFwrXFwtXFwvPVxcP1xcXl9ge1xcfH1+XXxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkrKSopfCgoXFx4MjIpKCgoKFxceDIwfFxceDA5KSooXFx4MGRcXHgwYSkpPyhcXHgyMHxcXHgwOSkrKT8oKFtcXHgwMS1cXHgwOFxceDBiXFx4MGNcXHgwZS1cXHgxZlxceDdmXXxcXHgyMXxbXFx4MjMtXFx4NWJdfFtcXHg1ZC1cXHg3ZV18W1xcdTAwQTAtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZFRl0pfChcXFxcKFtcXHgwMS1cXHgwOVxceDBiXFx4MGNcXHgwZC1cXHg3Zl18W1xcdTAwQTAtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZFRl0pKSkpKigoKFxceDIwfFxceDA5KSooXFx4MGRcXHgwYSkpPyhcXHgyMHxcXHgwOSkrKT8oXFx4MjIpKSlAKCgoW2Etel18XFxkfFtcXHUwMEEwLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRUZdKXwoKFthLXpdfFxcZHxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkoW2Etel18XFxkfC18XFwufF98fnxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkqKFthLXpdfFxcZHxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkpKVxcLikrKChbYS16XXxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSl8KChbYS16XXxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkoW2Etel18XFxkfC18XFwufF98fnxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkqKFthLXpdfFtcXHUwMEEwLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRUZdKSkpJC9pOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0ZWRFbWFpbFZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiBjb252ZXJ0KFZhbGlkYXRvcnMucGF0dGVybihlbWFpbFJlZ2V4cCksICdFbnRlciBhIHZhbGlkIGVtYWlsJywge1xuICAgIGlkOiBWYWxpZGF0aW9uRXJyb3JJZC5lbWFpbFBhdHRlcm4sXG4gIH0pO1xufVxuIl19
|
package/esm2022/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isEmptyInputValue } from '../is-empty-input-value.function';
|
|
2
2
|
import { isString } from '../../../../type-guards/is-string.function';
|
|
3
|
+
import { ValidationErrorId } from '../validation-error-id.enum';
|
|
3
4
|
/**
|
|
4
5
|
* Checks number match Luhn algorithm.
|
|
5
6
|
* Based on http://en.wikipedia.org/wiki/Luhn.
|
|
@@ -10,7 +11,10 @@ export const luhnFormulaValidator = ({ value }) => {
|
|
|
10
11
|
}
|
|
11
12
|
const error = {
|
|
12
13
|
rewritableError: {
|
|
13
|
-
message:
|
|
14
|
+
message: 'Enter a valid card number',
|
|
15
|
+
params: {
|
|
16
|
+
id: ValidationErrorId.cardNumberPattern,
|
|
17
|
+
},
|
|
14
18
|
},
|
|
15
19
|
};
|
|
16
20
|
if (/[^0-9 -]+/.test(value)) {
|
|
@@ -37,4 +41,4 @@ export const luhnFormulaValidator = ({ value }) => {
|
|
|
37
41
|
}
|
|
38
42
|
return resultSum % modBase === 0 ? null : error;
|
|
39
43
|
};
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVobi1mb3JtdWxhLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS92YWxpZGF0b3JzL2x1aG4tZm9ybXVsYS12YWxpZGF0b3IvbHVobi1mb3JtdWxhLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWdCLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO0lBQzdELElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBcUI7UUFDOUIsZUFBZSxFQUFFO1lBQ2YsT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxNQUFNLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLGlCQUFpQixDQUFDLGlCQUFpQjthQUN4QztTQUNGO0tBQ0YsQ0FBQztJQUVGLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzVCLHdDQUF3QztRQUN4QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDbEIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRW5CLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNuQixNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdEIsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXhDLHdDQUF3QztJQUN4Qyw2Q0FBNkM7SUFDN0MsS0FBSyxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDeEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVuQyxJQUFJLE1BQU0sSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQztZQUN2QyxLQUFLLElBQUksU0FBUyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxTQUFTLElBQUksS0FBSyxDQUFDO1FBQ25CLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTyxTQUFTLEdBQUcsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDbEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eUlucHV0VmFsdWUgfSBmcm9tICcuLi9pcy1lbXB0eS1pbnB1dC12YWx1ZS5mdW5jdGlvbic7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJy4uL3ZhbGlkYXRvci1mbi50eXBlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICcuLi92YWxpZGF0aW9uLWVycm9ycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlLWd1YXJkcy9pcy1zdHJpbmcuZnVuY3Rpb24nO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ySWQgfSBmcm9tICcuLi92YWxpZGF0aW9uLWVycm9yLWlkLmVudW0nO1xuXG4vKipcbiAqIENoZWNrcyBudW1iZXIgbWF0Y2ggTHVobiBhbGdvcml0aG0uXG4gKiBCYXNlZCBvbiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0x1aG4uXG4gKi9cbmV4cG9ydCBjb25zdCBsdWhuRm9ybXVsYVZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSAoeyB2YWx1ZSB9KSA9PiB7XG4gIGlmIChpc0VtcHR5SW5wdXRWYWx1ZSh2YWx1ZSkgfHwgIWlzU3RyaW5nKHZhbHVlKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgPSB7XG4gICAgcmV3cml0YWJsZUVycm9yOiB7XG4gICAgICBtZXNzYWdlOiAnRW50ZXIgYSB2YWxpZCBjYXJkIG51bWJlcicsXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgaWQ6IFZhbGlkYXRpb25FcnJvcklkLmNhcmROdW1iZXJQYXR0ZXJuLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIGlmICgvW14wLTkgLV0rLy50ZXN0KHZhbHVlKSkge1xuICAgIC8vIGFjY2VwdCBvbmx5IHNwYWNlcywgZGlnaXRzIGFuZCBkYXNoZXNcbiAgICByZXR1cm4gZXJyb3I7XG4gIH1cblxuICBsZXQgcmVzdWx0U3VtID0gMDtcbiAgbGV0IGRpZ2l0ID0gMDtcbiAgbGV0IGlzRXZlbiA9IGZhbHNlO1xuXG4gIGNvbnN0IG1vZEJhc2UgPSAxMDtcbiAgY29uc3QgZGlnaXRSYWRpeCA9IDEwO1xuICBjb25zdCBtYXhOdW1iZXIgPSA5O1xuICBjb25zdCBkaWdpdHMgPSB2YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpO1xuXG4gIC8vIENoZWNrcyBpZiBudW1iZXIgbWF0Y2ggTHVobiBhbGdvcml0aG1cbiAgLy8gYmFzZWQgb24gaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MdWhuXG4gIGZvciAobGV0IGluZGV4ID0gZGlnaXRzLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHtcbiAgICBjb25zdCBjaGFyID0gZGlnaXRzLmNoYXJBdChpbmRleCk7XG4gICAgZGlnaXQgPSBwYXJzZUludChjaGFyLCBkaWdpdFJhZGl4KTtcblxuICAgIGlmIChpc0V2ZW4gJiYgKGRpZ2l0ICo9IDIpID4gbWF4TnVtYmVyKSB7XG4gICAgICBkaWdpdCAtPSBtYXhOdW1iZXI7XG4gICAgfVxuXG4gICAgcmVzdWx0U3VtICs9IGRpZ2l0O1xuICAgIGlzRXZlbiA9ICFpc0V2ZW47XG4gIH1cblxuICByZXR1cm4gcmVzdWx0U3VtICUgbW9kQmFzZSA9PT0gMCA/IG51bGwgOiBlcnJvcjtcbn07XG4iXX0=
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Validators } from '@angular/forms';
|
|
2
2
|
import { convert } from './convert.function';
|
|
3
|
+
import { ValidationErrorId } from './validation-error-id.enum';
|
|
3
4
|
export function maxLengthValidator(maxLength) {
|
|
4
|
-
return convert(Validators.maxLength(maxLength), `Enter no more than ${maxLength} characters
|
|
5
|
+
return convert(Validators.maxLength(maxLength), `Enter no more than ${maxLength} characters`, {
|
|
6
|
+
id: ValidationErrorId.maxLength,
|
|
7
|
+
maxLength,
|
|
8
|
+
});
|
|
5
9
|
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LWxlbmd0aC12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy9tYXgtbGVuZ3RoLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRS9ELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxTQUFpQjtJQUNsRCxPQUFPLE9BQU8sQ0FDWixVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUMvQixzQkFBc0IsU0FBUyxhQUFhLEVBQzVDO1FBQ0UsRUFBRSxFQUFFLGlCQUFpQixDQUFDLFNBQVM7UUFDL0IsU0FBUztLQUNWLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICcuL3ZhbGlkYXRvci1mbi50eXBlJztcbmltcG9ydCB7IGNvbnZlcnQgfSBmcm9tICcuL2NvbnZlcnQuZnVuY3Rpb24nO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ySWQgfSBmcm9tICcuL3ZhbGlkYXRpb24tZXJyb3ItaWQuZW51bSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXhMZW5ndGhWYWxpZGF0b3IobWF4TGVuZ3RoOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiBjb252ZXJ0KFxuICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKG1heExlbmd0aCksXG4gICAgYEVudGVyIG5vIG1vcmUgdGhhbiAke21heExlbmd0aH0gY2hhcmFjdGVyc2AsXG4gICAge1xuICAgICAgaWQ6IFZhbGlkYXRpb25FcnJvcklkLm1heExlbmd0aCxcbiAgICAgIG1heExlbmd0aCxcbiAgICB9XG4gICk7XG59XG4iXX0=
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Validators } from '@angular/forms';
|
|
2
2
|
import { convert } from './convert.function';
|
|
3
|
+
import { ValidationErrorId } from './validation-error-id.enum';
|
|
3
4
|
export function minLengthValidator(minLength) {
|
|
4
|
-
return convert(Validators.minLength(minLength), `Enter at least ${minLength} characters
|
|
5
|
+
return convert(Validators.minLength(minLength), `Enter at least ${minLength} characters`, {
|
|
6
|
+
id: ValidationErrorId.minLength,
|
|
7
|
+
minLength,
|
|
8
|
+
});
|
|
5
9
|
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLWxlbmd0aC12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy9taW4tbGVuZ3RoLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRS9ELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxTQUFpQjtJQUNsRCxPQUFPLE9BQU8sQ0FDWixVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUMvQixrQkFBa0IsU0FBUyxhQUFhLEVBQ3hDO1FBQ0UsRUFBRSxFQUFFLGlCQUFpQixDQUFDLFNBQVM7UUFDL0IsU0FBUztLQUNWLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvbnZlcnQgfSBmcm9tICcuL2NvbnZlcnQuZnVuY3Rpb24nO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ySWQgfSBmcm9tICcuL3ZhbGlkYXRpb24tZXJyb3ItaWQuZW51bSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW5MZW5ndGhWYWxpZGF0b3IobWluTGVuZ3RoOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiBjb252ZXJ0KFxuICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKG1pbkxlbmd0aCksXG4gICAgYEVudGVyIGF0IGxlYXN0ICR7bWluTGVuZ3RofSBjaGFyYWN0ZXJzYCxcbiAgICB7XG4gICAgICBpZDogVmFsaWRhdGlvbkVycm9ySWQubWluTGVuZ3RoLFxuICAgICAgbWluTGVuZ3RoLFxuICAgIH1cbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Validators } from '@angular/forms';
|
|
2
2
|
import { convert } from './convert.function';
|
|
3
|
+
import { ValidationErrorId } from './validation-error-id.enum';
|
|
3
4
|
export function phoneValidator() {
|
|
4
|
-
return convert(Validators.pattern(/^\d*$/), 'Enter a valid phone'
|
|
5
|
+
return convert(Validators.pattern(/^\d*$/), 'Enter a valid phone', {
|
|
6
|
+
id: ValidationErrorId.phonePattern,
|
|
7
|
+
});
|
|
5
8
|
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL3ZhbGlkYXRvcnMvcGhvbmUtdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFL0QsTUFBTSxVQUFVLGNBQWM7SUFDNUIsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxxQkFBcUIsRUFBRTtRQUNqRSxFQUFFLEVBQUUsaUJBQWlCLENBQUMsWUFBWTtLQUNuQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnLi92YWxpZGF0b3ItZm4udHlwZSc7XG5pbXBvcnQgeyBjb252ZXJ0IH0gZnJvbSAnLi9jb252ZXJ0LmZ1bmN0aW9uJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcklkIH0gZnJvbSAnLi92YWxpZGF0aW9uLWVycm9yLWlkLmVudW0nO1xuXG5leHBvcnQgZnVuY3Rpb24gcGhvbmVWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gY29udmVydChWYWxpZGF0b3JzLnBhdHRlcm4oL15cXGQqJC8pLCAnRW50ZXIgYSB2YWxpZCBwaG9uZScsIHtcbiAgICBpZDogVmFsaWRhdGlvbkVycm9ySWQucGhvbmVQYXR0ZXJuLFxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Validators } from '@angular/forms';
|
|
2
2
|
import { convert } from '../convert.function';
|
|
3
|
+
import { ValidationErrorId } from '../validation-error-id.enum';
|
|
3
4
|
export function convertedRequiredValidator() {
|
|
4
|
-
return convert(Validators.required, 'Required'
|
|
5
|
+
return convert(Validators.required, 'Required', {
|
|
6
|
+
id: ValidationErrorId.required,
|
|
7
|
+
});
|
|
5
8
|
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL3ZhbGlkYXRvcnMvcmVxdWlyZWQvcmVxdWlyZWQudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEUsTUFBTSxVQUFVLDBCQUEwQjtJQUN4QyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRTtRQUM5QyxFQUFFLEVBQUUsaUJBQWlCLENBQUMsUUFBUTtLQUMvQixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb252ZXJ0IH0gZnJvbSAnLi4vY29udmVydC5mdW5jdGlvbic7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JJZCB9IGZyb20gJy4uL3ZhbGlkYXRpb24tZXJyb3ItaWQuZW51bSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0ZWRSZXF1aXJlZFZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiBjb252ZXJ0KFZhbGlkYXRvcnMucmVxdWlyZWQsICdSZXF1aXJlZCcsIHtcbiAgICBpZDogVmFsaWRhdGlvbkVycm9ySWQucmVxdWlyZWQsXG4gIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export var ValidationErrorId;
|
|
2
|
+
(function (ValidationErrorId) {
|
|
3
|
+
ValidationErrorId["birthDatePattern"] = "birthDatePattern";
|
|
4
|
+
ValidationErrorId["expirationLength"] = "expirationLength";
|
|
5
|
+
ValidationErrorId["expirationMonthPattern"] = "expirationMonthPattern";
|
|
6
|
+
ValidationErrorId["expirationMinMonth"] = "expirationMinMonth";
|
|
7
|
+
ValidationErrorId["expirationMaxMonth"] = "expirationMaxMonth";
|
|
8
|
+
ValidationErrorId["expirationYearPattern"] = "expirationYearPattern";
|
|
9
|
+
ValidationErrorId["expirationMinYear"] = "expirationMinYear";
|
|
10
|
+
ValidationErrorId["expirationMaxYear"] = "expirationMaxYear";
|
|
11
|
+
ValidationErrorId["couponPattern"] = "couponPattern";
|
|
12
|
+
ValidationErrorId["emailPattern"] = "emailPattern";
|
|
13
|
+
ValidationErrorId["cardNumberPattern"] = "cardNumberPattern";
|
|
14
|
+
ValidationErrorId["required"] = "required";
|
|
15
|
+
ValidationErrorId["minLength"] = "minLength";
|
|
16
|
+
ValidationErrorId["maxLength"] = "maxLength";
|
|
17
|
+
ValidationErrorId["cpfNumberPattern"] = "cpfNumberPattern";
|
|
18
|
+
ValidationErrorId["cvvPattern"] = "cvvPattern";
|
|
19
|
+
ValidationErrorId["phonePattern"] = "phonePattern";
|
|
20
|
+
ValidationErrorId["buildingNumberPattern"] = "buildingNumberPattern";
|
|
21
|
+
ValidationErrorId["zipPattern"] = "zipPattern";
|
|
22
|
+
ValidationErrorId["dataPattern"] = "dataPattern";
|
|
23
|
+
})(ValidationErrorId || (ValidationErrorId = {}));
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci1pZC5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL3ZhbGlkYXRvcnMvdmFsaWRhdGlvbi1lcnJvci1pZC5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGlCQXFCWDtBQXJCRCxXQUFZLGlCQUFpQjtJQUMzQiwwREFBcUMsQ0FBQTtJQUNyQywwREFBcUMsQ0FBQTtJQUNyQyxzRUFBaUQsQ0FBQTtJQUNqRCw4REFBeUMsQ0FBQTtJQUN6Qyw4REFBeUMsQ0FBQTtJQUN6QyxvRUFBK0MsQ0FBQTtJQUMvQyw0REFBdUMsQ0FBQTtJQUN2Qyw0REFBdUMsQ0FBQTtJQUN2QyxvREFBK0IsQ0FBQTtJQUMvQixrREFBNkIsQ0FBQTtJQUM3Qiw0REFBdUMsQ0FBQTtJQUN2QywwQ0FBcUIsQ0FBQTtJQUNyQiw0Q0FBdUIsQ0FBQTtJQUN2Qiw0Q0FBdUIsQ0FBQTtJQUN2QiwwREFBcUMsQ0FBQTtJQUNyQyw4Q0FBeUIsQ0FBQTtJQUN6QixrREFBNkIsQ0FBQTtJQUM3QixvRUFBK0MsQ0FBQTtJQUMvQyw4Q0FBeUIsQ0FBQTtJQUN6QixnREFBMkIsQ0FBQTtBQUM3QixDQUFDLEVBckJXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFxQjVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVmFsaWRhdGlvbkVycm9ySWQge1xuICBiaXJ0aERhdGVQYXR0ZXJuID0gJ2JpcnRoRGF0ZVBhdHRlcm4nLFxuICBleHBpcmF0aW9uTGVuZ3RoID0gJ2V4cGlyYXRpb25MZW5ndGgnLFxuICBleHBpcmF0aW9uTW9udGhQYXR0ZXJuID0gJ2V4cGlyYXRpb25Nb250aFBhdHRlcm4nLFxuICBleHBpcmF0aW9uTWluTW9udGggPSAnZXhwaXJhdGlvbk1pbk1vbnRoJyxcbiAgZXhwaXJhdGlvbk1heE1vbnRoID0gJ2V4cGlyYXRpb25NYXhNb250aCcsXG4gIGV4cGlyYXRpb25ZZWFyUGF0dGVybiA9ICdleHBpcmF0aW9uWWVhclBhdHRlcm4nLFxuICBleHBpcmF0aW9uTWluWWVhciA9ICdleHBpcmF0aW9uTWluWWVhcicsXG4gIGV4cGlyYXRpb25NYXhZZWFyID0gJ2V4cGlyYXRpb25NYXhZZWFyJyxcbiAgY291cG9uUGF0dGVybiA9ICdjb3Vwb25QYXR0ZXJuJyxcbiAgZW1haWxQYXR0ZXJuID0gJ2VtYWlsUGF0dGVybicsXG4gIGNhcmROdW1iZXJQYXR0ZXJuID0gJ2NhcmROdW1iZXJQYXR0ZXJuJyxcbiAgcmVxdWlyZWQgPSAncmVxdWlyZWQnLFxuICBtaW5MZW5ndGggPSAnbWluTGVuZ3RoJyxcbiAgbWF4TGVuZ3RoID0gJ21heExlbmd0aCcsXG4gIGNwZk51bWJlclBhdHRlcm4gPSAnY3BmTnVtYmVyUGF0dGVybicsXG4gIGN2dlBhdHRlcm4gPSAnY3Z2UGF0dGVybicsXG4gIHBob25lUGF0dGVybiA9ICdwaG9uZVBhdHRlcm4nLFxuICBidWlsZGluZ051bWJlclBhdHRlcm4gPSAnYnVpbGRpbmdOdW1iZXJQYXR0ZXJuJyxcbiAgemlwUGF0dGVybiA9ICd6aXBQYXR0ZXJuJyxcbiAgZGF0YVBhdHRlcm4gPSAnZGF0YVBhdHRlcm4nLFxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci1wYXJhbXMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL3ZhbGlkYXRvcnMvdmFsaWRhdGlvbi1lcnJvci1wYXJhbXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JJZCB9IGZyb20gJy4vdmFsaWRhdGlvbi1lcnJvci1pZC5lbnVtJztcblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uRXJyb3JQYXJhbXMge1xuICBpZDogVmFsaWRhdGlvbkVycm9ySWQ7XG4gIGRlZmF1bHRNZXNzYWdlPzogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy92YWxpZGF0aW9uLWVycm9yLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yUGFyYW1zIH0gZnJvbSAnLi92YWxpZGF0aW9uLWVycm9yLXBhcmFtcy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25FcnJvciB7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHBhcmFtcz86IFZhbGlkYXRpb25FcnJvclBhcmFtcztcbiAgW3BhcmFtZXRlcjogc3RyaW5nXTogdW5rbm93bjtcbn1cbiJdfQ==
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { CreditCardMaxLengthValidator } from './credit-card-length/credit-card-max-length.validator';
|
|
3
4
|
import { CreditCardMinLengthValidator } from './credit-card-length/credit-card-min-length.validator';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export class ValidatorsModule {
|
|
6
7
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
8
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: ValidatorsModule, imports: [CommonModule] }); }
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ValidatorsModule, providers: [CreditCardMinLengthValidator], imports: [CommonModule] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ValidatorsModule, providers: [CreditCardMinLengthValidator, CreditCardMaxLengthValidator], imports: [CommonModule] }); }
|
|
9
10
|
}
|
|
10
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ValidatorsModule, decorators: [{
|
|
11
12
|
type: NgModule,
|
|
12
13
|
args: [{
|
|
13
14
|
declarations: [],
|
|
14
15
|
imports: [CommonModule],
|
|
15
|
-
providers: [CreditCardMinLengthValidator],
|
|
16
|
+
providers: [CreditCardMinLengthValidator, CreditCardMaxLengthValidator],
|
|
16
17
|
}]
|
|
17
18
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy92YWxpZGF0b3JzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUFPckcsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsWUFIakIsWUFBWTsrR0FHWCxnQkFBZ0IsYUFGaEIsQ0FBQyw0QkFBNEIsRUFBRSw0QkFBNEIsQ0FBQyxZQUQ3RCxZQUFZOzsyRkFHWCxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsU0FBUyxFQUFFLENBQUMsNEJBQTRCLEVBQUUsNEJBQTRCLENBQUM7aUJBQ3hFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkTWF4TGVuZ3RoVmFsaWRhdG9yIH0gZnJvbSAnLi9jcmVkaXQtY2FyZC1sZW5ndGgvY3JlZGl0LWNhcmQtbWF4LWxlbmd0aC52YWxpZGF0b3InO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZE1pbkxlbmd0aFZhbGlkYXRvciB9IGZyb20gJy4vY3JlZGl0LWNhcmQtbGVuZ3RoL2NyZWRpdC1jYXJkLW1pbi1sZW5ndGgudmFsaWRhdG9yJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW0NyZWRpdENhcmRNaW5MZW5ndGhWYWxpZGF0b3IsIENyZWRpdENhcmRNYXhMZW5ndGhWYWxpZGF0b3JdLFxufSlcbmV4cG9ydCBjbGFzcyBWYWxpZGF0b3JzTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1jb25maWd1cmF0aW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvcGF5bWVudC1jb25maWd1cmF0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWHBzQm9vbGVhbiB9IGZyb20gJy4uL3hwcy1ib29sZWFuLmVudW0nO1xuaW1wb3J0IHsgY3JlZGl0Q2FyZFBheW1lbnRNZXRob2RJZCB9IGZyb20gJy4vY3JlZGl0LWNhcmQtcGF5bWVudC1tZXRob2RzLWlkLnZhcmlhYmxlJztcblxuZXhwb3J0IGludGVyZmFjZSBPdmVycmlkZWRGaWVsZCB7XG4gIGluaXRpYWxWYWx1ZTogWHBzQm9vbGVhbiB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlUGF5bWVudENvbmZpZ3VyYXRpb24ge1xuICBwYXltZW50TWV0aG9kSWQ6IG51bWJlcjtcbiAgcmV0dXJuVXJsOiBzdHJpbmc7XG4gIGFjY291bnRJZD86IG51bWJlcjtcbiAgcGF5bWVudFdpdGhTYXZlZE1ldGhvZD86IGJvb2xlYW47XG4gIHNhdmVkTWV0aG9kSWQ/OiBudW1iZXI7XG4gIHNhdmVQYXltZW50TWV0aG9kPzogYm9vbGVhbjtcbiAgb3ZlcnJpZGVGb3JtRmllbGRzPzogeyBba2V5OiBzdHJpbmddOiBPdmVycmlkZWRGaWVsZCB9O1xufVxuXG5pbnRlcmZhY2UgU3BlY2lhbFBheW1lbnRTZXR0aW5ncyB7XG4gIHVzZVNpbmdsZUV4cGlyYXRpb25EYXRlRmllbGQ/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgUGF5bWVudENvbmZpZ3VyYXRpb25DcmVkaXRDYXJkU2V0dGluZ3NcbiAgZXh0ZW5kcyBCYXNlUGF5bWVudENvbmZpZ3VyYXRpb24ge1xuICBwYXltZW50TWV0aG9kSWQ6IHR5cGVvZiBjcmVkaXRDYXJkUGF5bWVudE1ldGhvZElkO1xuICBwYXltZW50TWV0aG9kU2V0dGluZ3M6IFNwZWNpYWxQYXltZW50U2V0dGluZ3M7XG59XG5cbmludGVyZmFjZSBQYXltZW50Q29uZmlndXJhdGlvbldpdGhHZW5lcmFsU2V0dGluZ3NcbiAgZXh0ZW5kcyBCYXNlUGF5bWVudENvbmZpZ3VyYXRpb24ge1xuICBwYXltZW50TWV0aG9kSWQ6IEV4Y2x1ZGU8bnVtYmVyLCB0eXBlb2YgY3JlZGl0Q2FyZFBheW1lbnRNZXRob2RJZD47XG4gIHBheW1lbnRNZXRob2RTZXR0aW5ncz86IG5ldmVyO1xufVxuXG5leHBvcnQgdHlwZSBQYXltZW50Q29uZmlndXJhdGlvbiA9XG4gIHwgUGF5bWVudENvbmZpZ3VyYXRpb25DcmVkaXRDYXJkU2V0dGluZ3NcbiAgfCBQYXltZW50Q29uZmlndXJhdGlvbldpdGhHZW5lcmFsU2V0dGluZ3M7XG4iXX0=
|