libphonenumber-js
Version:
A simpler (and smaller) rewrite of Google Android's popular libphonenumber library
63 lines (47 loc) • 1.46 kB
JavaScript
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
;