validatePhoneNumberLength.js 942 B

12345678910111213141516171819202122232425262728293031
  1. import normalizeArguments from './normalizeArguments.js'
  2. import parsePhoneNumberWithError from './parsePhoneNumberWithError_.js'
  3. import ParseError from './ParseError.js'
  4. import Metadata from './metadata.js'
  5. import checkNumberLength from './helpers/checkNumberLength.js'
  6. export default function validatePhoneNumberLength() {
  7. let { text, options, metadata } = normalizeArguments(arguments)
  8. options = {
  9. ...options,
  10. extract: false
  11. }
  12. // Parse phone number.
  13. try {
  14. const phoneNumber = parsePhoneNumberWithError(text, options, metadata)
  15. metadata = new Metadata(metadata)
  16. metadata.selectNumberingPlan(phoneNumber.countryCallingCode)
  17. const result = checkNumberLength(phoneNumber.nationalNumber, metadata)
  18. if (result !== 'IS_POSSIBLE') {
  19. return result
  20. }
  21. } catch (error) {
  22. /* istanbul ignore else */
  23. if (error instanceof ParseError) {
  24. return error.message
  25. } else {
  26. throw error
  27. }
  28. }
  29. }