@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.
@@ -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,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import 'yup-phone';
2
1
  import * as yup from 'yup';
3
2
  export declare const phoneNumberValidation: ({ getFieldValidation, requiredMessage, }: {
4
3
  getFieldValidation: any;
@@ -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,qBAAkB;AAClB,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"}
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"}
@@ -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,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
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;AACtB,OAAO,YAAY,CAAA;AAEnB,MAAM,CAAC,IAAM,qBAAqB,GAAG;IACnC,oBAAoB,CAAC,SAAS;IAC9B,oBAAoB,CAAC,QAAQ;IAC7B,oBAAoB,CAAC,MAAM;IAC3B,oBAAoB,CAAC,WAAW;IAChC,oBAAoB,CAAC,OAAO;IAC5B,oBAAoB,CAAC,KAAK;IAC1B,oBAAoB,CAAC,IAAI;IACzB,oBAAoB,CAAC,QAAQ;IAC7B,oBAAoB,CAAC,KAAK;IAC1B,oBAAoB,CAAC,kBAAkB;CACxC,CAAA;AAED,MAAM,CAAC,IAAM,aAAa,GACxB,UAAC,cAAsC;IACvC,OAAA,UAAC,EAOe;YANd,mBAAmB,yBAAA,EACnB,eAAe,qBAAA,EACf,aAAa,mBAAA,EACb,KAAK,WAAA,EACL,OAAO,aAAA,EACP,kBAAkB,wBAAA;QAElB,IAAI,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;QAC7B,IAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAE/D,IAAI,UAAU,EAAE;YACd,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;SAClD;QAED,IAAI,OAAO,IAAI,UAAU,EAAE;YACzB,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;SAC9D;aAAM,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE;YACjC,UAAU,GAAG,UAAU,CAAC,IAAI,CAC1B,YAAY,EACZ,aAAa,IAAI,EAAE,EACnB,UAAC,KAAK;gBACJ,IAAI,KAAK;oBACP,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;gBAC/D,OAAO,IAAI,CAAA;YACb,CAAC,CACF,CAAA;SACF;aAAM,IAAI,KAAK,EAAE;YAChB,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE;gBACrC,OAAO,EAAE,aAAa;gBACtB,kBAAkB,EAAE,kBAAkB;aACvC,CAAC,CAAA;SACH;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;AAnCD,CAmCC,CAAA;AAEH,MAAM,CAAC,IAAM,qBAAqB,GAAG,UAAC,OAA8B;;IAClE,IAAM,cAAc,GAClB,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,KAAI,qBAAqB,CAAA;IAC1D,IAAM,kBAAkB,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;IACxD,IAAM,wBAAwB,GAAG,4BAA4B,CAAA;IAC7D,IAAM,4BAA4B,GAChC,mEAAmE,CAAA;IAErE,IAAM,uBAAuB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,0CAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC9E,IAAM,2BAA2B,GAC/B,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,0CAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAEnD,IAAM,eAAe,GAAG,uBAAuB;QAC7C,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe;QAC1B,CAAC,CAAC,wBAAwB,CAAA;IAC5B,IAAM,kBAAkB,GAAG,2BAA2B;QACpD,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;QAC7B,CAAC,CAAC,4BAA4B,CAAA;IAEhC,OAAO;QACL,IAAI,EAAE,cAAc,CAAC;YACnB,kBAAkB,oBAAA;YAClB,eAAe,iBAAA;YACf,kBAAkB,oBAAA;SACnB,CAAC;QACF,QAAQ,EAAE,kBAAkB;QAC5B,MAAM,EAAE,gBAAgB,CAAC,EAAE,kBAAkB,oBAAA,EAAE,eAAe,iBAAA,EAAE,CAAC;QACjE,WAAW,EAAE,qBAAqB,CAAC,EAAE,kBAAkB,oBAAA,EAAE,eAAe,iBAAA,EAAE,CAAC;QAC3E,eAAe,EAAE,yBAAyB;QAC1C,kBAAkB,EAAE,4BAA4B;QAChD,KAAK,EAAE,eAAe,CAAC,EAAE,eAAe,iBAAA,EAAE,CAAC;QAC3C,OAAO,EAAE,iBAAiB,CAAC;YACzB,kBAAkB,oBAAA;YAClB,eAAe,iBAAA;YACf,kBAAkB,oBAAA;SACnB,CAAC;QACF,WAAW,EAAE,qBAAqB,CAAC,EAAE,eAAe,iBAAA,EAAE,CAAC;QACvD,mBAAmB,EAAE,mBAAmB,CAAC,EAAE,kBAAkB,oBAAA,EAAE,CAAC;QAChE,0BAA0B,EAAE,uBAAuB;QACnD,kBAAkB,oBAAA;QAClB,QAAQ,EAAE,kBAAkB,CAAC;YAC3B,kBAAkB,oBAAA;YAClB,eAAe,iBAAA;YACf,kBAAkB,oBAAA;SACnB,CAAC;QACF,mBAAmB,EAAE,mBAAmB,CAAC;YACvC,kBAAkB,oBAAA;YAClB,eAAe,iBAAA;YACf,kBAAkB,oBAAA;SACnB,CAAC;QACF,uBAAuB,EAAE,oBAAoB;QAC7C,qBAAqB,EAAE,qBAAqB;QAC5C,qBAAqB,EAAE,qBAAqB;QAC5C,qBAAqB,EAAE,+BAA+B;QACtD,QAAQ,EAAE,kBAAkB;KAC7B,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,3 @@
1
- import 'yup-phone';
2
1
  import * as yup from 'yup';
3
2
  export declare const phoneNumberValidation: ({ getFieldValidation, requiredMessage, }: {
4
3
  getFieldValidation: any;
@@ -1,5 +1,4 @@
1
1
  import { ValidationFieldNames } from '../types';
2
- import 'yup-phone';
3
2
  import * as yup from 'yup';
4
3
  var phoneMessage = 'That doesn’t look like a valid phone number. Please try again.';
5
4
  export var phoneNumberValidation = function (_a) {
@@ -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,WAAW,CAAA;AAClB,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"}
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.0",
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
- "yup": "0.32.11",
26
- "yup-phone": "1.3.2"
25
+ "google-libphonenumber": "3.2.32",
26
+ "yup": "0.32.11"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@babel/polyfill": "7.12.1",