@xsolla/payment-client-core 0.5.5 → 0.5.6
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/card-number/card-number.converter.mjs +3 -1
- package/esm2022/lib/core/payment/form/validators/credit-card-zeros-bin/credit-card-zeros-bin.validator.mjs +20 -0
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/xsolla-payment-client-core.mjs +19 -1
- package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/payment/form/validators/credit-card-zeros-bin/credit-card-zeros-bin.validator.d.ts +2 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Converter } from '../converter.abstract';
|
|
2
2
|
import { luhnFormulaValidator } from '../../validators/luhn-formula-validator/luhn-formula.validator';
|
|
3
|
+
import { creditBinZerosValidator } from '../../validators/credit-card-zeros-bin/credit-card-zeros-bin.validator';
|
|
3
4
|
import { CardNumberConfig } from '../../controls/card-number/card-number-control.config';
|
|
4
5
|
import { Injectable } from '@angular/core';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
@@ -17,6 +18,7 @@ export class CardNumberConverter extends Converter {
|
|
|
17
18
|
.getValidators(field)
|
|
18
19
|
.concat([
|
|
19
20
|
luhnFormulaValidator,
|
|
21
|
+
creditBinZerosValidator,
|
|
20
22
|
this.minLengthValidator.validate,
|
|
21
23
|
this.maxLengthValidator.validate,
|
|
22
24
|
]);
|
|
@@ -43,4 +45,4 @@ export class CardNumberConverter extends Converter {
|
|
|
43
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardNumberConverter, decorators: [{
|
|
44
46
|
type: Injectable
|
|
45
47
|
}], ctorParameters: () => [{ type: i1.SyncService }, { type: i2.CreditCardMaxLengthValidator }, { type: i3.CreditCardMinLengthValidator }] });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1udW1iZXIuY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL2NhcmQtbnVtYmVyL2NhcmQtbnVtYmVyLmNvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFNbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDdEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFFakgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFekYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFHM0MsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQVM7SUFDaEQsWUFDRSxXQUF3QixFQUNQLGtCQUFnRCxFQUNoRCxrQkFBZ0Q7UUFFakUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBSEYsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUE4QjtRQUNoRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQThCO0lBR25FLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBWTtRQUMvQixPQUFPLEtBQUs7YUFDVCxhQUFhLENBQUMsS0FBSyxDQUFDO2FBQ3BCLE1BQU0sQ0FBQztZQUNOLG9CQUFvQjtZQUNwQix1QkFBdUI7WUFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVE7WUFDaEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVE7U0FDakMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVTLG1CQUFtQixDQUMzQixLQUFZLEVBQ1osU0FBb0I7UUFFcEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhFLE1BQU0sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUVsQyxNQUFNLENBQUMsa0JBQWtCO1lBQ3RCLFNBQVMsRUFBRSxrQkFBd0MsSUFBSSxFQUFFLENBQUM7UUFFN0QsTUFBTSxDQUFDLGNBQWMsR0FBRyxTQUFTLEVBQUUsY0FBaUMsQ0FBQztRQUVyRSxNQUFNLENBQUMsV0FBVyxHQUFHLFNBQVMsRUFBRSxXQUFxQixDQUFDO1FBQ3RELE1BQU0sQ0FBQyxRQUFRLEdBQUcsU0FBUyxFQUFFLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFFL0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVTLGVBQWU7UUFDdkIsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzsrR0E3Q1UsbUJBQW1CO21IQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuLi9jb252ZXJ0ZXIuYWJzdHJhY3QnO1xuaW1wb3J0IHsgU3luY1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9yZXF1ZXN0cy9zeW5jL3N5bmMuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkTWluTGVuZ3RoVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9jcmVkaXQtY2FyZC1sZW5ndGgvY3JlZGl0LWNhcmQtbWluLWxlbmd0aC52YWxpZGF0b3InO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZE1heExlbmd0aFZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvY3JlZGl0LWNhcmQtbGVuZ3RoL2NyZWRpdC1jYXJkLW1heC1sZW5ndGgudmFsaWRhdG9yJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbHVobkZvcm11bGFWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL2x1aG4tZm9ybXVsYS12YWxpZGF0b3IvbHVobi1mb3JtdWxhLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBjcmVkaXRCaW5aZXJvc1ZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvY3JlZGl0LWNhcmQtemVyb3MtYmluL2NyZWRpdC1jYXJkLXplcm9zLWJpbi52YWxpZGF0b3InO1xuaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi4vLi4vZm9ybS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FyZE51bWJlckNvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NhcmQtbnVtYmVyL2NhcmQtbnVtYmVyLWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IENyZWRpdENhcmRUeXBlcyB9IGZyb20gJy4uLy4uLy4uLy4uL2NyZWRpdC1jYXJkL2NyZWRpdC1jYXJkLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FyZE51bWJlckNvbnZlcnRlciBleHRlbmRzIENvbnZlcnRlciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBzeW5jU2VydmljZTogU3luY1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXhMZW5ndGhWYWxpZGF0b3I6IENyZWRpdENhcmRNYXhMZW5ndGhWYWxpZGF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtaW5MZW5ndGhWYWxpZGF0b3I6IENyZWRpdENhcmRNaW5MZW5ndGhWYWxpZGF0b3IsXG4gICkge1xuICAgIHN1cGVyKHN5bmNTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWxpZGF0b3JzKGZpZWxkOiBGaWVsZCk6IFZhbGlkYXRvckZuW10ge1xuICAgIHJldHVybiBzdXBlclxuICAgICAgLmdldFZhbGlkYXRvcnMoZmllbGQpXG4gICAgICAuY29uY2F0KFtcbiAgICAgICAgbHVobkZvcm11bGFWYWxpZGF0b3IsXG4gICAgICAgIGNyZWRpdEJpblplcm9zVmFsaWRhdG9yLFxuICAgICAgICB0aGlzLm1pbkxlbmd0aFZhbGlkYXRvci52YWxpZGF0ZSxcbiAgICAgICAgdGhpcy5tYXhMZW5ndGhWYWxpZGF0b3IudmFsaWRhdGUsXG4gICAgICBdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9sQ29uZmlnKFxuICAgIGZpZWxkOiBGaWVsZCxcbiAgICBmb3JtU3RhdGU6IEZvcm1TdGF0ZSxcbiAgKTogQ2FyZE51bWJlckNvbmZpZyB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jcmVhdGVEZWZhdWx0Q29udHJvbENvbmZpZyhDYXJkTnVtYmVyQ29uZmlnLCBmaWVsZCk7XG5cbiAgICBjb25maWcucGxhY2Vob2xkZXIgPSBjb25maWcudGl0bGU7XG5cbiAgICBjb25maWcuYXZhaWxhYmxlQ2FyZFR5cGVzID1cbiAgICAgIChmb3JtU3RhdGU/LmF2YWlsYWJsZUNhcmRUeXBlcyBhcyBDcmVkaXRDYXJkVHlwZXNbXSkgPz8gW107XG5cbiAgICBjb25maWcuYWN0aXZlQ2FyZFR5cGUgPSBmb3JtU3RhdGU/LmFjdGl2ZUNhcmRUeXBlIGFzIENyZWRpdENhcmRUeXBlcztcblxuICAgIGNvbmZpZy5jdXN0b21FcnJvciA9IGZvcm1TdGF0ZT8uY3VzdG9tRXJyb3IgYXMgc3RyaW5nO1xuICAgIGNvbmZpZy5kaXNhYmxlZCA9IGZvcm1TdGF0ZT8uZGlzYWJsZWQgPz8gZmFsc2U7XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEF1dG9jb21wbGV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnY2MtbnVtYmVyJztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAndGV4dCc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { isEmptyInputValue } from '../is-empty-input-value.function';
|
|
2
|
+
import { isString } from '../../../../type-guards/is-string.function';
|
|
3
|
+
import { TranslateHelper } from '../../../../../shared/translate/translate.helper';
|
|
4
|
+
export const creditBinZerosValidator = ({ value }) => {
|
|
5
|
+
if (isEmptyInputValue(value) || !isString(value)) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const error = {
|
|
9
|
+
rewritableError: {
|
|
10
|
+
message: TranslateHelper.t('errors.validation.cardNumber', 'Enter a valid card number'),
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
const binLength = 6;
|
|
14
|
+
const binNumber = value.replace(/\D/g, '').slice(0, binLength);
|
|
15
|
+
if (binNumber === '000000') {
|
|
16
|
+
return error;
|
|
17
|
+
}
|
|
18
|
+
return null;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWNhcmQtemVyb3MtYmluLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy9jcmVkaXQtY2FyZC16ZXJvcy1iaW4vY3JlZGl0LWNhcmQtemVyb3MtYmluLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFnQixDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtJQUNoRSxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQXFCO1FBQzlCLGVBQWUsRUFBRTtZQUNmLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUN4Qiw4QkFBOEIsRUFDOUIsMkJBQTJCLENBQzVCO1NBQ0Y7S0FDRixDQUFDO0lBRUYsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFL0QsSUFBSSxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDM0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0VtcHR5SW5wdXRWYWx1ZSB9IGZyb20gJy4uL2lzLWVtcHR5LWlucHV0LXZhbHVlLmZ1bmN0aW9uJztcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnLi4vdmFsaWRhdG9yLWZuLnR5cGUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJy4uL3ZhbGlkYXRpb24tZXJyb3JzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGUtZ3VhcmRzL2lzLXN0cmluZy5mdW5jdGlvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvdHJhbnNsYXRlL3RyYW5zbGF0ZS5oZWxwZXInO1xuXG5leHBvcnQgY29uc3QgY3JlZGl0QmluWmVyb3NWYWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKHsgdmFsdWUgfSkgPT4ge1xuICBpZiAoaXNFbXB0eUlucHV0VmFsdWUodmFsdWUpIHx8ICFpc1N0cmluZyh2YWx1ZSkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzID0ge1xuICAgIHJld3JpdGFibGVFcnJvcjoge1xuICAgICAgbWVzc2FnZTogVHJhbnNsYXRlSGVscGVyLnQoXG4gICAgICAgICdlcnJvcnMudmFsaWRhdGlvbi5jYXJkTnVtYmVyJyxcbiAgICAgICAgJ0VudGVyIGEgdmFsaWQgY2FyZCBudW1iZXInLFxuICAgICAgKSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGJpbkxlbmd0aCA9IDY7XG4gIGNvbnN0IGJpbk51bWJlciA9IHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJykuc2xpY2UoMCwgYmluTGVuZ3RoKTtcblxuICBpZiAoYmluTnVtYmVyID09PSAnMDAwMDAwJykge1xuICAgIHJldHVybiBlcnJvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufTtcbiJdfQ==
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
2
|
-
export const PAYMENT_CLIENT_CORE_VERSION = '0.5.
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const PAYMENT_CLIENT_CORE_VERSION = '0.5.6';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnRUFBZ0U7QUFDaEUsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFBBWU1FTlRfQ0xJRU5UX0NPUkVfVkVSU0lPTiA9ICcwLjUuNic7XG4iXX0=
|
|
@@ -13,7 +13,7 @@ import { CommonModule } from '@angular/common';
|
|
|
13
13
|
import { provideTranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
14
14
|
|
|
15
15
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
16
|
-
const PAYMENT_CLIENT_CORE_VERSION = '0.5.
|
|
16
|
+
const PAYMENT_CLIENT_CORE_VERSION = '0.5.6';
|
|
17
17
|
|
|
18
18
|
class TranslateHelper {
|
|
19
19
|
static init(service) {
|
|
@@ -4307,6 +4307,23 @@ const luhnFormulaValidator = ({ value }) => {
|
|
|
4307
4307
|
return resultSum % modBase === 0 ? null : error;
|
|
4308
4308
|
};
|
|
4309
4309
|
|
|
4310
|
+
const creditBinZerosValidator = ({ value }) => {
|
|
4311
|
+
if (isEmptyInputValue(value) || !isString(value)) {
|
|
4312
|
+
return null;
|
|
4313
|
+
}
|
|
4314
|
+
const error = {
|
|
4315
|
+
rewritableError: {
|
|
4316
|
+
message: TranslateHelper.t('errors.validation.cardNumber', 'Enter a valid card number'),
|
|
4317
|
+
},
|
|
4318
|
+
};
|
|
4319
|
+
const binLength = 6;
|
|
4320
|
+
const binNumber = value.replace(/\D/g, '').slice(0, binLength);
|
|
4321
|
+
if (binNumber === '000000') {
|
|
4322
|
+
return error;
|
|
4323
|
+
}
|
|
4324
|
+
return null;
|
|
4325
|
+
};
|
|
4326
|
+
|
|
4310
4327
|
class CardNumberConfig extends ControlConfig {
|
|
4311
4328
|
constructor() {
|
|
4312
4329
|
super(...arguments);
|
|
@@ -4387,6 +4404,7 @@ class CardNumberConverter extends Converter {
|
|
|
4387
4404
|
.getValidators(field)
|
|
4388
4405
|
.concat([
|
|
4389
4406
|
luhnFormulaValidator,
|
|
4407
|
+
creditBinZerosValidator,
|
|
4390
4408
|
this.minLengthValidator.validate,
|
|
4391
4409
|
this.maxLengthValidator.validate,
|
|
4392
4410
|
]);
|