123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports["default"] = extractNationalNumber;
- var _extractNationalNumberFromPossiblyIncompleteNumber = _interopRequireDefault(require("./extractNationalNumberFromPossiblyIncompleteNumber.js"));
- var _matchesEntirely = _interopRequireDefault(require("./matchesEntirely.js"));
- var _checkNumberLength = _interopRequireDefault(require("./checkNumberLength.js"));
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
- function extractNationalNumber(number, metadata) {
-
-
-
-
-
-
-
-
-
- var _extractNationalNumbe = (0, _extractNationalNumberFromPossiblyIncompleteNumber["default"])(number, metadata),
- carrierCode = _extractNationalNumbe.carrierCode,
- nationalNumber = _extractNationalNumbe.nationalNumber;
- if (nationalNumber !== number) {
- if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {
-
- return {
- nationalNumber: number
- };
- }
-
- if (metadata.possibleLengths()) {
-
-
-
-
-
-
-
-
- if (!isPossibleIncompleteNationalNumber(nationalNumber, metadata)) {
-
- return {
- nationalNumber: number
- };
- }
- }
- }
- return {
- nationalNumber: nationalNumber,
- carrierCode: carrierCode
- };
- }
- function shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {
-
-
- if ((0, _matchesEntirely["default"])(nationalNumberBefore, metadata.nationalNumberPattern()) && !(0, _matchesEntirely["default"])(nationalNumberAfter, metadata.nationalNumberPattern())) {
- return false;
- }
-
-
-
-
-
-
-
-
-
-
-
-
- return true;
- }
- function isPossibleIncompleteNationalNumber(nationalNumber, metadata) {
- switch ((0, _checkNumberLength["default"])(nationalNumber, metadata)) {
- case 'TOO_SHORT':
- case 'INVALID_LENGTH':
-
-
-
- return false;
- default:
- return true;
- }
- }
|