@newskit-render/validation 1.10.0 → 1.10.1
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/dist/cjs/utils.d.ts +1 -0
- package/dist/cjs/utils.js +1 -0
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/validations/phoneNumber.d.ts +0 -1
- package/dist/cjs/validations/phoneNumber.js +0 -1
- package/dist/cjs/validations/phoneNumber.js.map +1 -1
- package/dist/cjs/yupPhone.d.ts +13 -0
- package/dist/cjs/yupPhone.js +78 -0
- package/dist/cjs/yupPhone.js.map +1 -0
- package/dist/esm/utils.d.ts +1 -0
- package/dist/esm/utils.js +1 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/validations/phoneNumber.d.ts +0 -1
- package/dist/esm/validations/phoneNumber.js +0 -1
- package/dist/esm/validations/phoneNumber.js.map +1 -1
- package/dist/esm/yupPhone.d.ts +13 -0
- package/dist/esm/yupPhone.js +50 -0
- package/dist/esm/yupPhone.js.map +1 -0
- package/package.json +3 -3
package/dist/cjs/utils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as yup from 'yup';
|
|
2
2
|
import { InitializeYupOptions, ValidationFieldNames, GetValidation } from './types';
|
|
3
|
+
import './yupPhone';
|
|
3
4
|
export declare const defaultRequiredFields: ValidationFieldNames[];
|
|
4
5
|
export declare const getValidation: (requiredFields: ValidationFieldNames[]) => ({ validationFieldName, requiredMessage, formatMessage, regex, isPhone, excludeEmptyString, }: GetValidation) => yup.default<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
|
|
5
6
|
export declare const generateDefaultSchema: (options?: InitializeYupOptions) => {
|
package/dist/cjs/utils.js
CHANGED
|
@@ -27,6 +27,7 @@ exports.generateDefaultSchema = exports.getValidation = exports.defaultRequiredF
|
|
|
27
27
|
var yup = __importStar(require("yup"));
|
|
28
28
|
var types_1 = require("./types");
|
|
29
29
|
var validations_1 = require("./validations");
|
|
30
|
+
require("./yupPhone");
|
|
30
31
|
exports.defaultRequiredFields = [
|
|
31
32
|
types_1.ValidationFieldNames.firstName,
|
|
32
33
|
types_1.ValidationFieldNames.lastname,
|
package/dist/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA0B;AAC1B,iCAIgB;AAChB,6CAmBsB;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.mobileValidation = exports.phoneNumberValidation = void 0;
|
|
27
27
|
var types_1 = require("../types");
|
|
28
|
-
require("yup-phone");
|
|
29
28
|
var yup = __importStar(require("yup"));
|
|
30
29
|
var phoneMessage = 'That doesn’t look like a valid phone number. Please try again.';
|
|
31
30
|
var phoneNumberValidation = function (_a) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phoneNumber.js","sourceRoot":"","sources":["../../../src/validations/phoneNumber.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"phoneNumber.js","sourceRoot":"","sources":["../../../src/validations/phoneNumber.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAA+C;AAC/C,uCAA0B;AAE1B,IAAM,YAAY,GAChB,gEAAgE,CAAA;AAE3D,IAAM,qBAAqB,GAAG,UAAC,EAGrC;QAFC,kBAAkB,wBAAA,EAClB,eAAe,qBAAA;IAEf,OAAA,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;QACjB,WAAW,EAAE,kBAAkB,CAAC;YAC9B,mBAAmB,EAAE,4BAAoB,CAAC,WAAW;YACrD,eAAe,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,CACvC,UAAU,EACV,2BAA2B,CAC5B;YACD,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,IAAI;SACzB,CAAC;KACH,CAAC;AAXF,CAWE,CAAA;AAfS,QAAA,qBAAqB,yBAe9B;AAEG,IAAM,gBAAgB,GAAG,UAAC,EAAuC;QAArC,kBAAkB,wBAAA,EAAE,eAAe,qBAAA;IACpE,OAAA,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;QACjB,MAAM,EAAE,kBAAkB,CAAC;YACzB,mBAAmB,EAAE,4BAAoB,CAAC,MAAM;YAChD,eAAe,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,CACvC,UAAU,EACV,yBAAyB,CAC1B;YACD,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,IAAI;SACzB,CAAC;KACH,CAAC;AAXF,CAWE,CAAA;AAZS,QAAA,gBAAgB,oBAYzB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare module 'yup' {
|
|
2
|
+
interface StringSchema {
|
|
3
|
+
/**
|
|
4
|
+
* Check for phone number validity.
|
|
5
|
+
*
|
|
6
|
+
* @param {String} [countryCode=IN] The country code to check against.
|
|
7
|
+
* @param {Boolean} [strict=false] How strictly should it check.
|
|
8
|
+
* @param {String} [errorMessage=DEFAULT_MESSAGE] The error message to return if the validation fails.
|
|
9
|
+
*/
|
|
10
|
+
phone(countryCode?: string, strict?: boolean, errorMessage?: string): StringSchema;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
var Yup = __importStar(require("yup"));
|
|
30
|
+
var google_libphonenumber_1 = __importDefault(require("google-libphonenumber"));
|
|
31
|
+
var phoneUtil = google_libphonenumber_1.default.PhoneNumberUtil.getInstance();
|
|
32
|
+
var YUP_PHONE_METHOD = 'phone';
|
|
33
|
+
var CLDR_REGION_CODE_SIZE = 2;
|
|
34
|
+
var isValidCountryCode = function (countryCode) {
|
|
35
|
+
return typeof countryCode === 'string' &&
|
|
36
|
+
countryCode.length === CLDR_REGION_CODE_SIZE;
|
|
37
|
+
};
|
|
38
|
+
var isValid10DigitUKPhoneNumber = function (number) {
|
|
39
|
+
var _a;
|
|
40
|
+
var countryCode = "+".concat(number.getCountryCode());
|
|
41
|
+
return (countryCode === '+44' &&
|
|
42
|
+
"0".concat((_a = number.getRawInput()) === null || _a === void 0 ? void 0 : _a.replace(countryCode, '')).length === 10);
|
|
43
|
+
};
|
|
44
|
+
Yup.addMethod(Yup.string, YUP_PHONE_METHOD, function yupPhone(countryCode, strict, errorMessage) {
|
|
45
|
+
if (strict === void 0) { strict = false; }
|
|
46
|
+
if (errorMessage === void 0) { errorMessage = ''; }
|
|
47
|
+
var errMsg = typeof errorMessage === 'string' && errorMessage
|
|
48
|
+
? errorMessage
|
|
49
|
+
: isValidCountryCode(countryCode)
|
|
50
|
+
? "${path} must be a valid phone number for region ".concat(countryCode)
|
|
51
|
+
: '${path} must be a valid phone number.';
|
|
52
|
+
// @ts-ignore
|
|
53
|
+
return this.test(YUP_PHONE_METHOD, errMsg, function (value) {
|
|
54
|
+
if (!isValidCountryCode(countryCode)) {
|
|
55
|
+
// if not valid countryCode, then set default country to Great Britain (GB)
|
|
56
|
+
countryCode = 'GB';
|
|
57
|
+
strict = false;
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
var phoneNumber = phoneUtil.parseAndKeepRawInput(value, countryCode);
|
|
61
|
+
if (!phoneUtil.isPossibleNumber(phoneNumber)) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
var regionCodeFromPhoneNumber = phoneUtil.getRegionCodeForNumber(phoneNumber);
|
|
65
|
+
/** check if the countryCode provided should be used as
|
|
66
|
+
* default country code or strictly followed, if both checks fail
|
|
67
|
+
* it checks if it's valid 10 digit UK number
|
|
68
|
+
*/
|
|
69
|
+
return ((strict
|
|
70
|
+
? phoneUtil.isValidNumberForRegion(phoneNumber, countryCode)
|
|
71
|
+
: phoneUtil.isValidNumberForRegion(phoneNumber, regionCodeFromPhoneNumber)) || isValid10DigitUKPhoneNumber(phoneNumber));
|
|
72
|
+
}
|
|
73
|
+
catch (_a) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=yupPhone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yupPhone.js","sourceRoot":"","sources":["../../src/yupPhone.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA0B;AAC1B,gFAAgD;AAEhD,IAAM,SAAS,GAAG,+BAAY,CAAC,eAAe,CAAC,WAAW,EAAE,CAAA;AAmB5D,IAAM,gBAAgB,GAAG,OAAO,CAAA;AAChC,IAAM,qBAAqB,GAAG,CAAC,CAAA;AAE/B,IAAM,kBAAkB,GAAG,UAAC,WAA+B;IACzD,OAAA,OAAO,WAAW,KAAK,QAAQ;QAC/B,WAAW,CAAC,MAAM,KAAK,qBAAqB;AAD5C,CAC4C,CAAA;AAE9C,IAAM,2BAA2B,GAAG,UAAC,MAAgC;;IACnE,IAAM,WAAW,GAAG,WAAI,MAAM,CAAC,cAAc,EAAE,CAAE,CAAA;IAEjD,OAAO,CACL,WAAW,KAAK,KAAK;QACrB,WAAI,MAAA,MAAM,CAAC,WAAW,EAAE,0CAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAE,CAAC,MAAM,KAAK,EAAE,CACnE,CAAA;AACH,CAAC,CAAA;AAED,GAAG,CAAC,SAAS,CACX,GAAG,CAAC,MAAM,EACV,gBAAgB,EAChB,SAAS,QAAQ,CAAC,WAAoB,EAAE,MAAc,EAAE,YAAiB;IAAjC,uBAAA,EAAA,cAAc;IAAE,6BAAA,EAAA,iBAAiB;IACvE,IAAM,MAAM,GACV,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY;QAC9C,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACjC,CAAC,CAAC,0DAAoD,WAAW,CAAE;YACnE,CAAC,CAAC,uCAAuC,CAAA;IAC7C,aAAa;IACb,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAC,KAAa;QACvD,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;YACpC,2EAA2E;YAC3E,WAAW,GAAG,IAAI,CAAA;YAClB,MAAM,GAAG,KAAK,CAAA;SACf;QAED,IAAI;YACF,IAAM,WAAW,GAAG,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YAEtE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE;gBAC5C,OAAO,KAAK,CAAA;aACb;YAED,IAAM,yBAAyB,GAC7B,SAAS,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAA;YAE/C;;;eAGG;YACH,OAAO,CACL,CAAC,MAAM;gBACL,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC;gBAC5D,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAC9B,WAAW,EACX,yBAAyB,CAC1B,CAAC,IAAI,2BAA2B,CAAC,WAAW,CAAC,CACnD,CAAA;SACF;QAAC,WAAM;YACN,OAAO,KAAK,CAAA;SACb;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CACF,CAAA"}
|
package/dist/esm/utils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as yup from 'yup';
|
|
2
2
|
import { InitializeYupOptions, ValidationFieldNames, GetValidation } from './types';
|
|
3
|
+
import './yupPhone';
|
|
3
4
|
export declare const defaultRequiredFields: ValidationFieldNames[];
|
|
4
5
|
export declare const getValidation: (requiredFields: ValidationFieldNames[]) => ({ validationFieldName, requiredMessage, formatMessage, regex, isPhone, excludeEmptyString, }: GetValidation) => yup.default<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
|
|
5
6
|
export declare const generateDefaultSchema: (options?: InitializeYupOptions) => {
|
package/dist/esm/utils.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as yup from 'yup';
|
|
2
2
|
import { ValidationFieldNames, } from './types';
|
|
3
3
|
import { nameValidation, displayNameValidation, mobileValidation, phoneNumberValidation, holidayStopValidation, vouchersValidation, deleteUserHolidayStopValidation, addressValidation, postcodeValidation, passwordValidation, paymentMethodIdValidation, zuoraPaymentMethodValidation, emailValidation, confirmCancellation, commentingNotifications, cancellationReason, accountCreationPage, deliveryInstructions, } from './validations';
|
|
4
|
+
import './yupPhone';
|
|
4
5
|
export var defaultRequiredFields = [
|
|
5
6
|
ValidationFieldNames.firstName,
|
|
6
7
|
ValidationFieldNames.lastname,
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAA;AAC1B,OAAO,EAEL,oBAAoB,GAErB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,+BAA+B,EAC/B,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,4BAA4B,EAC5B,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phoneNumber.js","sourceRoot":"","sources":["../../../src/validations/phoneNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"phoneNumber.js","sourceRoot":"","sources":["../../../src/validations/phoneNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,GAAG,MAAM,KAAK,CAAA;AAE1B,IAAM,YAAY,GAChB,gEAAgE,CAAA;AAElE,MAAM,CAAC,IAAM,qBAAqB,GAAG,UAAC,EAGrC;QAFC,kBAAkB,wBAAA,EAClB,eAAe,qBAAA;IAEf,OAAA,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;QACjB,WAAW,EAAE,kBAAkB,CAAC;YAC9B,mBAAmB,EAAE,oBAAoB,CAAC,WAAW;YACrD,eAAe,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,CACvC,UAAU,EACV,2BAA2B,CAC5B;YACD,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,IAAI;SACzB,CAAC;KACH,CAAC;AAXF,CAWE,CAAA;AAEJ,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,EAAuC;QAArC,kBAAkB,wBAAA,EAAE,eAAe,qBAAA;IACpE,OAAA,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;QACjB,MAAM,EAAE,kBAAkB,CAAC;YACzB,mBAAmB,EAAE,oBAAoB,CAAC,MAAM;YAChD,eAAe,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,CACvC,UAAU,EACV,yBAAyB,CAC1B;YACD,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,IAAI;SACzB,CAAC;KACH,CAAC;AAXF,CAWE,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare module 'yup' {
|
|
2
|
+
interface StringSchema {
|
|
3
|
+
/**
|
|
4
|
+
* Check for phone number validity.
|
|
5
|
+
*
|
|
6
|
+
* @param {String} [countryCode=IN] The country code to check against.
|
|
7
|
+
* @param {Boolean} [strict=false] How strictly should it check.
|
|
8
|
+
* @param {String} [errorMessage=DEFAULT_MESSAGE] The error message to return if the validation fails.
|
|
9
|
+
*/
|
|
10
|
+
phone(countryCode?: string, strict?: boolean, errorMessage?: string): StringSchema;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as Yup from 'yup';
|
|
2
|
+
import gPhoneNumber from 'google-libphonenumber';
|
|
3
|
+
var phoneUtil = gPhoneNumber.PhoneNumberUtil.getInstance();
|
|
4
|
+
var YUP_PHONE_METHOD = 'phone';
|
|
5
|
+
var CLDR_REGION_CODE_SIZE = 2;
|
|
6
|
+
var isValidCountryCode = function (countryCode) {
|
|
7
|
+
return typeof countryCode === 'string' &&
|
|
8
|
+
countryCode.length === CLDR_REGION_CODE_SIZE;
|
|
9
|
+
};
|
|
10
|
+
var isValid10DigitUKPhoneNumber = function (number) {
|
|
11
|
+
var _a;
|
|
12
|
+
var countryCode = "+".concat(number.getCountryCode());
|
|
13
|
+
return (countryCode === '+44' &&
|
|
14
|
+
"0".concat((_a = number.getRawInput()) === null || _a === void 0 ? void 0 : _a.replace(countryCode, '')).length === 10);
|
|
15
|
+
};
|
|
16
|
+
Yup.addMethod(Yup.string, YUP_PHONE_METHOD, function yupPhone(countryCode, strict, errorMessage) {
|
|
17
|
+
if (strict === void 0) { strict = false; }
|
|
18
|
+
if (errorMessage === void 0) { errorMessage = ''; }
|
|
19
|
+
var errMsg = typeof errorMessage === 'string' && errorMessage
|
|
20
|
+
? errorMessage
|
|
21
|
+
: isValidCountryCode(countryCode)
|
|
22
|
+
? "${path} must be a valid phone number for region ".concat(countryCode)
|
|
23
|
+
: '${path} must be a valid phone number.';
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
return this.test(YUP_PHONE_METHOD, errMsg, function (value) {
|
|
26
|
+
if (!isValidCountryCode(countryCode)) {
|
|
27
|
+
// if not valid countryCode, then set default country to Great Britain (GB)
|
|
28
|
+
countryCode = 'GB';
|
|
29
|
+
strict = false;
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
var phoneNumber = phoneUtil.parseAndKeepRawInput(value, countryCode);
|
|
33
|
+
if (!phoneUtil.isPossibleNumber(phoneNumber)) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
var regionCodeFromPhoneNumber = phoneUtil.getRegionCodeForNumber(phoneNumber);
|
|
37
|
+
/** check if the countryCode provided should be used as
|
|
38
|
+
* default country code or strictly followed, if both checks fail
|
|
39
|
+
* it checks if it's valid 10 digit UK number
|
|
40
|
+
*/
|
|
41
|
+
return ((strict
|
|
42
|
+
? phoneUtil.isValidNumberForRegion(phoneNumber, countryCode)
|
|
43
|
+
: phoneUtil.isValidNumberForRegion(phoneNumber, regionCodeFromPhoneNumber)) || isValid10DigitUKPhoneNumber(phoneNumber));
|
|
44
|
+
}
|
|
45
|
+
catch (_a) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=yupPhone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yupPhone.js","sourceRoot":"","sources":["../../src/yupPhone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAA;AAC1B,OAAO,YAAY,MAAM,uBAAuB,CAAA;AAEhD,IAAM,SAAS,GAAG,YAAY,CAAC,eAAe,CAAC,WAAW,EAAE,CAAA;AAmB5D,IAAM,gBAAgB,GAAG,OAAO,CAAA;AAChC,IAAM,qBAAqB,GAAG,CAAC,CAAA;AAE/B,IAAM,kBAAkB,GAAG,UAAC,WAA+B;IACzD,OAAA,OAAO,WAAW,KAAK,QAAQ;QAC/B,WAAW,CAAC,MAAM,KAAK,qBAAqB;AAD5C,CAC4C,CAAA;AAE9C,IAAM,2BAA2B,GAAG,UAAC,MAAgC;;IACnE,IAAM,WAAW,GAAG,WAAI,MAAM,CAAC,cAAc,EAAE,CAAE,CAAA;IAEjD,OAAO,CACL,WAAW,KAAK,KAAK;QACrB,WAAI,MAAA,MAAM,CAAC,WAAW,EAAE,0CAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAE,CAAC,MAAM,KAAK,EAAE,CACnE,CAAA;AACH,CAAC,CAAA;AAED,GAAG,CAAC,SAAS,CACX,GAAG,CAAC,MAAM,EACV,gBAAgB,EAChB,SAAS,QAAQ,CAAC,WAAoB,EAAE,MAAc,EAAE,YAAiB;IAAjC,uBAAA,EAAA,cAAc;IAAE,6BAAA,EAAA,iBAAiB;IACvE,IAAM,MAAM,GACV,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY;QAC9C,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACjC,CAAC,CAAC,0DAAoD,WAAW,CAAE;YACnE,CAAC,CAAC,uCAAuC,CAAA;IAC7C,aAAa;IACb,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAC,KAAa;QACvD,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;YACpC,2EAA2E;YAC3E,WAAW,GAAG,IAAI,CAAA;YAClB,MAAM,GAAG,KAAK,CAAA;SACf;QAED,IAAI;YACF,IAAM,WAAW,GAAG,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YAEtE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE;gBAC5C,OAAO,KAAK,CAAA;aACb;YAED,IAAM,yBAAyB,GAC7B,SAAS,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAA;YAE/C;;;eAGG;YACH,OAAO,CACL,CAAC,MAAM;gBACL,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC;gBAC5D,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAC9B,WAAW,EACX,yBAAyB,CAC1B,CAAC,IAAI,2BAA2B,CAAC,WAAW,CAAC,CACnD,CAAA;SACF;QAAC,WAAM;YACN,OAAO,KAAK,CAAA;SACb;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CACF,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@newskit-render/validation",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.1",
|
|
4
4
|
"description": "Newskit Render",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"test:unit:ci": "JEST_JUNIT_OUTPUT_NAME=validation.xml jest --ci --coverage --reporters=default --reporters=jest-junit"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"
|
|
26
|
-
"yup
|
|
25
|
+
"google-libphonenumber": "3.2.32",
|
|
26
|
+
"yup": "0.32.11"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@babel/polyfill": "7.12.1",
|