searchNumbers.js 610 B

123456789101112131415161718192021222324252627282930
  1. import normalizeArguments from '../normalizeArguments.js'
  2. import PhoneNumberMatcher from '../PhoneNumberMatcher.js'
  3. /**
  4. * @return ES6 `for ... of` iterator.
  5. */
  6. export default function searchNumbers()
  7. {
  8. const { text, options, metadata } = normalizeArguments(arguments)
  9. const matcher = new PhoneNumberMatcher(text, options, metadata)
  10. return {
  11. [Symbol.iterator]() {
  12. return {
  13. next: () => {
  14. if (matcher.hasNext()) {
  15. return {
  16. done: false,
  17. value: matcher.next()
  18. }
  19. }
  20. return {
  21. done: true
  22. }
  23. }
  24. }
  25. }
  26. }
  27. }