1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.checkNumberLengthForType = checkNumberLengthForType;
- exports["default"] = checkNumberLength;
- var _mergeArrays = _interopRequireDefault(require("./mergeArrays.js"));
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
- function checkNumberLength(nationalNumber, metadata) {
- return checkNumberLengthForType(nationalNumber, undefined, metadata);
- }
- function checkNumberLengthForType(nationalNumber, type, metadata) {
- var type_info = metadata.type(type);
-
-
-
-
-
-
- var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths();
-
- if (!possible_lengths) {
- return 'IS_POSSIBLE';
- }
- if (type === 'FIXED_LINE_OR_MOBILE') {
-
-
- if (!metadata.type('FIXED_LINE')) {
-
-
- return checkNumberLengthForType(nationalNumber, 'MOBILE', metadata);
- }
- var mobile_type = metadata.type('MOBILE');
- if (mobile_type) {
-
-
-
-
-
- possible_lengths = (0, _mergeArrays["default"])(possible_lengths, mobile_type.possibleLengths());
-
-
-
-
-
-
-
- }
- }
- else if (type && !type_info) {
- return 'INVALID_LENGTH';
- }
- var actual_length = nationalNumber.length;
-
-
-
-
-
-
- var minimum_length = possible_lengths[0];
- if (minimum_length === actual_length) {
- return 'IS_POSSIBLE';
- }
- if (minimum_length > actual_length) {
- return 'TOO_SHORT';
- }
- if (possible_lengths[possible_lengths.length - 1] < actual_length) {
- return 'TOO_LONG';
- }
- return possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';
- }
|