UNPKG

libphonenumber-js

Version:

A simpler (and smaller) rewrite of Google Android's popular libphonenumber library

63 lines (47 loc) 1.46 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = is_valid; var _parse = require('./parse'); var _parse2 = _interopRequireDefault(_parse); var _getNumberType = require('./get number type'); var _getNumberType2 = _interopRequireDefault(_getNumberType); var _metadata = require('./metadata'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Checks if a given phone number is valid // // Example use cases: // // ```js // is_valid('8005553535', 'RU') // is_valid('8005553535', 'RU', metadata) // is_valid({ phone: '8005553535', country: 'RU' }) // is_valid({ phone: '8005553535', country: 'RU' }, metadata) // is_valid('+78005553535') // is_valid('+78005553535', metadata) // ``` // function is_valid(first_argument, second_argument, third_argument) { var _sort_out_arguments = (0, _getNumberType.sort_out_arguments)(first_argument, second_argument, third_argument), input = _sort_out_arguments.input, metadata = _sort_out_arguments.metadata; // Sanity check if (!metadata) { throw new Error('Metadata not passed'); } if (!input) { return false; } if (!input.country) { return false; } var country_metadata = metadata.countries[input.country]; if ((0, _metadata.get_types)(country_metadata)) { if (!(0, _getNumberType2.default)(input, metadata)) { return false; } } return true; } //# sourceMappingURL=validate.js.map