@movalib/movalib-commons 1.62.1 → 1.62.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -7,6 +7,7 @@ export declare const getApplicationsShortLabels: (applications: PartsApplication
|
|
|
7
7
|
export declare const flexStart: CSSProperties;
|
|
8
8
|
export declare const isSafariOniOS: () => boolean;
|
|
9
9
|
export declare const isInvalidMobileNumber: (phoneNumber?: string) => boolean;
|
|
10
|
+
export declare const isInvalidPhoneNumber: (phoneNumber?: string) => boolean;
|
|
10
11
|
export declare const FR_WEEK_DAYS: string[];
|
|
11
12
|
export declare const getDayOfWeekLabel: (day: DayOfWeek) => string | undefined;
|
|
12
13
|
export declare const getDayOfWeekIndex: (day: DayOfWeek) => number;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.validateField = exports.formatVehicleTireStr = exports.formatVehicleTire = exports.formatFrenchVehiclePlate = exports.isEmpty = exports.flexCenter = exports.flexEnd = exports.getApplicationShortLabel = exports.capitalizeFirstLetter = exports.flexLeftRow = exports.getFrenchDayLabel = exports.getDayOfWeek = exports.findScheduleByDayOfWeek = exports.formatTime = exports.getFormattedIntervals = exports.getFormattedSchedule = exports.formatPhoneNumber = exports.getDayOfWeekIndex = exports.getDayOfWeekLabel = exports.FR_WEEK_DAYS = exports.isInvalidMobileNumber = exports.isSafariOniOS = exports.flexStart = exports.getApplicationsShortLabels = void 0;
|
|
6
|
+
exports.validateField = exports.formatVehicleTireStr = exports.formatVehicleTire = exports.formatFrenchVehiclePlate = exports.isEmpty = exports.flexCenter = exports.flexEnd = exports.getApplicationShortLabel = exports.capitalizeFirstLetter = exports.flexLeftRow = exports.getFrenchDayLabel = exports.getDayOfWeek = exports.findScheduleByDayOfWeek = exports.formatTime = exports.getFormattedIntervals = exports.getFormattedSchedule = exports.formatPhoneNumber = exports.getDayOfWeekIndex = exports.getDayOfWeekLabel = exports.FR_WEEK_DAYS = exports.isInvalidPhoneNumber = exports.isInvalidMobileNumber = exports.isSafariOniOS = exports.flexStart = exports.getApplicationsShortLabels = void 0;
|
|
7
7
|
var max_1 = __importDefault(require("libphonenumber-js/max"));
|
|
8
8
|
var Enums_1 = require("./Enums");
|
|
9
9
|
var getApplicationsShortLabels = function (applications) {
|
|
@@ -53,6 +53,31 @@ var isInvalidMobileNumber = function (phoneNumber) {
|
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
55
|
exports.isInvalidMobileNumber = isInvalidMobileNumber;
|
|
56
|
+
var isInvalidPhoneNumber = function (phoneNumber) {
|
|
57
|
+
var _a;
|
|
58
|
+
if (phoneNumber === void 0) { phoneNumber = ""; }
|
|
59
|
+
if (!phoneNumber || typeof phoneNumber !== "string")
|
|
60
|
+
return true;
|
|
61
|
+
// Nettoyage : supprime les espaces et convertit "00..." en "+..."
|
|
62
|
+
var cleaned = phoneNumber.replace(/\s+/g, "").replace(/^00/, "+");
|
|
63
|
+
// Si le numéro ne commence pas par +, on assume que c'est un numéro local français
|
|
64
|
+
var cleanedPhoneNumber = cleaned.startsWith("+")
|
|
65
|
+
? cleaned
|
|
66
|
+
: "+33".concat(cleaned.replace(/^0/, ""));
|
|
67
|
+
try {
|
|
68
|
+
var parsed = (0, max_1.default)(cleanedPhoneNumber);
|
|
69
|
+
var type = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.getType) === null || _a === void 0 ? void 0 : _a.call(parsed);
|
|
70
|
+
console.log(type);
|
|
71
|
+
console.log(parsed === null || parsed === void 0 ? void 0 : parsed.isValid());
|
|
72
|
+
console.log(["MOBILE", "MOBILE_OR_FIXED_LINE"].includes(type || ""));
|
|
73
|
+
return !((parsed === null || parsed === void 0 ? void 0 : parsed.isValid()) &&
|
|
74
|
+
["MOBILE", "MOBILE_OR_FIXED_LINE", "FIXED_LINE"].includes(type || ""));
|
|
75
|
+
}
|
|
76
|
+
catch (_b) {
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
exports.isInvalidPhoneNumber = isInvalidPhoneNumber;
|
|
56
81
|
exports.FR_WEEK_DAYS = [
|
|
57
82
|
"Lundi",
|
|
58
83
|
"Mardi",
|
|
@@ -35,7 +35,7 @@ function validatePhoneNumber(phoneNumber) {
|
|
|
35
35
|
if (phoneNumber === null || phoneNumber === undefined || phoneNumber === "") {
|
|
36
36
|
return false;
|
|
37
37
|
}
|
|
38
|
-
return !(0, Tools_1.
|
|
38
|
+
return !(0, Tools_1.isInvalidPhoneNumber)(phoneNumber);
|
|
39
39
|
}
|
|
40
40
|
exports.validatePhoneNumber = validatePhoneNumber;
|
|
41
41
|
function validateText(text) {
|
package/package.json
CHANGED
package/src/helpers/Tools.ts
CHANGED
|
@@ -58,6 +58,31 @@ export const isInvalidMobileNumber = (phoneNumber = "") => {
|
|
|
58
58
|
}
|
|
59
59
|
};
|
|
60
60
|
|
|
61
|
+
export const isInvalidPhoneNumber = (phoneNumber = "") => {
|
|
62
|
+
if (!phoneNumber || typeof phoneNumber !== "string") return true;
|
|
63
|
+
|
|
64
|
+
// Nettoyage : supprime les espaces et convertit "00..." en "+..."
|
|
65
|
+
const cleaned = phoneNumber.replace(/\s+/g, "").replace(/^00/, "+");
|
|
66
|
+
// Si le numéro ne commence pas par +, on assume que c'est un numéro local français
|
|
67
|
+
const cleanedPhoneNumber = cleaned.startsWith("+")
|
|
68
|
+
? cleaned
|
|
69
|
+
: `+33${cleaned.replace(/^0/, "")}`;
|
|
70
|
+
|
|
71
|
+
try {
|
|
72
|
+
const parsed = parsePhoneNumberFromString(cleanedPhoneNumber);
|
|
73
|
+
const type = parsed?.getType?.();
|
|
74
|
+
console.log(type);
|
|
75
|
+
console.log(parsed?.isValid());
|
|
76
|
+
console.log(["MOBILE", "MOBILE_OR_FIXED_LINE"].includes(type || ""));
|
|
77
|
+
return !(
|
|
78
|
+
parsed?.isValid() &&
|
|
79
|
+
["MOBILE", "MOBILE_OR_FIXED_LINE", "FIXED_LINE"].includes(type || "")
|
|
80
|
+
);
|
|
81
|
+
} catch {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
61
86
|
export const FR_WEEK_DAYS: string[] = [
|
|
62
87
|
"Lundi",
|
|
63
88
|
"Mardi",
|
package/src/helpers/Validator.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isInvalidPhoneNumber } from "./Tools";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Un email valide
|
|
@@ -41,7 +41,7 @@ export function validatePhoneNumber(phoneNumber: string): boolean {
|
|
|
41
41
|
if (phoneNumber === null || phoneNumber === undefined || phoneNumber === "") {
|
|
42
42
|
return false;
|
|
43
43
|
}
|
|
44
|
-
return !
|
|
44
|
+
return !isInvalidPhoneNumber(phoneNumber);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export function validateText(text: string): boolean {
|