pixel-react 1.15.11 → 1.15.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -75
- package/lib/ThirdPartyPackages/JanusGateway.js +5 -2
- package/lib/ThirdPartyPackages/JanusGateway.js.map +1 -1
- package/lib/_virtual/index10.js +2 -2
- package/lib/_virtual/index11.js +2 -2
- package/lib/_virtual/index12.js +2 -2
- package/lib/_virtual/index9.js +2 -2
- package/lib/assets/icons/spinner.svg.js +1 -1
- package/lib/assets/icons/spinner.svg.js.map +1 -1
- package/lib/components/Editor/VariableDropdown.js +2 -2
- package/lib/index.cjs +7209 -4574
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +1 -1
- package/lib/node_modules/@date-fns/tz/date/index.js +19 -1
- package/lib/node_modules/@date-fns/tz/date/index.js.map +1 -1
- package/lib/node_modules/@date-fns/tz/date/mini.js +6 -34
- package/lib/node_modules/@date-fns/tz/date/mini.js.map +1 -1
- package/lib/node_modules/@date-fns/tz/tzOffset/index.js +5 -6
- package/lib/node_modules/@date-fns/tz/tzOffset/index.js.map +1 -1
- package/lib/node_modules/janus-gateway/npm/dist/janus.es.js +3241 -0
- package/lib/node_modules/janus-gateway/npm/dist/janus.es.js.map +1 -0
- package/lib/node_modules/js-beautify/js/src/css/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/css/options.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/beautifier.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/options.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/tokenizer.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/beautifier.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/options.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/tokenizer.js +1 -1
- package/lib/node_modules/libphonenumber-js/es6/AsYouType.js +82 -115
- package/lib/node_modules/libphonenumber-js/es6/AsYouType.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternMatcher.js +58 -68
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternMatcher.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternParser.js +23 -36
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternParser.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.complete.js +9 -13
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.complete.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.js +187 -226
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.util.js +27 -21
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.util.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeParser.js +117 -150
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeParser.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeState.js +38 -57
- package/lib/node_modules/libphonenumber-js/es6/AsYouTypeState.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/ParseError.js +109 -70
- package/lib/node_modules/libphonenumber-js/es6/ParseError.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/PhoneNumber.js +57 -72
- package/lib/node_modules/libphonenumber-js/es6/PhoneNumber.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/constants.js +9 -15
- package/lib/node_modules/libphonenumber-js/es6/constants.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/format.js +93 -67
- package/lib/node_modules/libphonenumber-js/es6/format.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/formatIncompletePhoneNumber.js +1 -0
- package/lib/node_modules/libphonenumber-js/es6/formatIncompletePhoneNumber.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/getCountries.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/RFC3966.js +1 -0
- package/lib/node_modules/libphonenumber-js/es6/helpers/RFC3966.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js +10 -49
- package/lib/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js +32 -20
- package/lib/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js +4 -5
- package/lib/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js +18 -25
- package/lib/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js +11 -12
- package/lib/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js +11 -13
- package/lib/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js +11 -21
- package/lib/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js +11 -12
- package/lib/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js +12 -15
- package/lib/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js +4 -4
- package/lib/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js +35 -59
- package/lib/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js +2 -2
- package/lib/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/getNumberType.js +36 -38
- package/lib/node_modules/libphonenumber-js/es6/helpers/getNumberType.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js +1 -0
- package/lib/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/isObject.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js +10 -14
- package/lib/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js +4 -4
- package/lib/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/parseDigits.js +27 -22
- package/lib/node_modules/libphonenumber-js/es6/helpers/parseDigits.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js +6 -6
- package/lib/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/isPossible.js +7 -6
- package/lib/node_modules/libphonenumber-js/es6/isPossible.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/isValid.js +5 -6
- package/lib/node_modules/libphonenumber-js/es6/isValid.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/isValidPhoneNumber.js +26 -44
- package/lib/node_modules/libphonenumber-js/es6/isValidPhoneNumber.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/metadata.js +69 -120
- package/lib/node_modules/libphonenumber-js/es6/metadata.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/normalizeArguments.js +68 -87
- package/lib/node_modules/libphonenumber-js/es6/normalizeArguments.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/parse.js +40 -58
- package/lib/node_modules/libphonenumber-js/es6/parse.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js +36 -32
- package/lib/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/parsePhoneNumber.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js +26 -44
- package/lib/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js +28 -46
- package/lib/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/es6/tools/semver-compare.js.map +1 -1
- package/lib/node_modules/libphonenumber-js/metadata.min.json.js +18 -18
- package/lib/node_modules/libphonenumber-js/metadata.min.json.js.map +1 -1
- package/lib/node_modules/prop-types/index.js +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/DayPicker.js +64 -88
- package/lib/node_modules/react-day-picker/dist/esm/DayPicker.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/UI.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/classes/CalendarDay.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/classes/DateLib.js +6 -71
- package/lib/node_modules/react-day-picker/dist/esm/classes/DateLib.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Button.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/CaptionLabel.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Chevron.js +14 -18
- package/lib/node_modules/react-day-picker/dist/esm/components/Chevron.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Day.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/DayButton.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Dropdown.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/DropdownNav.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Footer.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Month.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/MonthCaption.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/MonthGrid.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Months.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Nav.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/NextMonthButton.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Option.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Root.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Select.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Week.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/WeekNumber.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Weekday.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Weekdays.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/Weeks.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/components/YearsDropdown.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/formatters/formatCaption.js +2 -3
- package/lib/node_modules/react-day-picker/dist/esm/formatters/formatCaption.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/formatters/formatDay.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/formatters/index.js +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getComponents.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getDates.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getDays.js +4 -4
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getDays.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getFormatters.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getMonths.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getWeeks.js +2 -2
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getWeeks.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.js +11 -9
- package/lib/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/index.js +2 -2
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelDayButton.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelGrid.js +2 -3
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelGrid.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelGridcell.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.js +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelNav.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelNext.js +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelNext.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelPrevious.js +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelPrevious.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.js +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelWeekday.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/selection/useMulti.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/selection/useRange.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/selection/useSingle.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/useAnimation.js +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/useAnimation.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/useCalendar.js +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/useCalendar.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/useDayPicker.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/useFocus.js +0 -6
- package/lib/node_modules/react-day-picker/dist/esm/useFocus.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/useSelection.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/utils/addToRange.js +1 -6
- package/lib/node_modules/react-day-picker/dist/esm/utils/addToRange.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.js.map +1 -1
- package/lib/node_modules/react-day-picker/dist/esm/utils/typeguards.js.map +1 -1
- package/lib/node_modules/react-hook-form/dist/index.esm.js +44 -67
- package/lib/node_modules/react-hook-form/dist/index.esm.js.map +1 -1
- package/lib/node_modules/react-virtuoso/dist/index.js +1200 -1246
- package/lib/node_modules/react-virtuoso/dist/index.js.map +1 -1
- package/lib/node_modules/ua-parser-js/src/ua-parser.js +71 -85
- package/lib/node_modules/ua-parser-js/src/ua-parser.js.map +1 -1
- package/lib/styles.css +1 -1
- package/lib/styles.css.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +106 -106
- package/lib/node_modules/@date-fns/tz/tzName/index.js +0 -40
- package/lib/node_modules/@date-fns/tz/tzName/index.js.map +0 -1
- package/lib/node_modules/react-day-picker/node_modules/date-fns/eachYearOfInterval.js +0 -64
- package/lib/node_modules/react-day-picker/node_modules/date-fns/eachYearOfInterval.js.map +0 -1
|
@@ -1,107 +1,91 @@
|
|
|
1
1
|
import isObject from './helpers/isObject.js';
|
|
2
2
|
|
|
3
|
-
function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
7
|
-
return typeof o;
|
|
8
|
-
} : function (o) {
|
|
9
|
-
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
10
|
-
}, _typeof(o);
|
|
11
|
-
}
|
|
12
|
-
function ownKeys(e, r) {
|
|
13
|
-
var t = Object.keys(e);
|
|
3
|
+
function ownKeys(object, enumerableOnly) {
|
|
4
|
+
var keys = Object.keys(object);
|
|
14
5
|
if (Object.getOwnPropertySymbols) {
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
return Object.getOwnPropertyDescriptor(
|
|
18
|
-
})),
|
|
6
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
7
|
+
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
|
8
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
9
|
+
})), keys.push.apply(keys, symbols);
|
|
19
10
|
}
|
|
20
|
-
return
|
|
11
|
+
return keys;
|
|
21
12
|
}
|
|
22
|
-
function _objectSpread(
|
|
23
|
-
for (var
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
_defineProperty(
|
|
27
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(
|
|
28
|
-
Object.defineProperty(
|
|
13
|
+
function _objectSpread(target) {
|
|
14
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
15
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
16
|
+
i % 2 ? ownKeys(Object(source), true).forEach(function (key) {
|
|
17
|
+
_defineProperty(target, key, source[key]);
|
|
18
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
|
|
19
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
29
20
|
});
|
|
30
21
|
}
|
|
31
|
-
return
|
|
32
|
-
}
|
|
33
|
-
function _defineProperty(e, r, t) {
|
|
34
|
-
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
35
|
-
value: t,
|
|
36
|
-
enumerable: true,
|
|
37
|
-
configurable: true,
|
|
38
|
-
writable: true
|
|
39
|
-
}) : e[r] = t, e;
|
|
40
|
-
}
|
|
41
|
-
function _toPropertyKey(t) {
|
|
42
|
-
var i = _toPrimitive(t, "string");
|
|
43
|
-
return "symbol" == _typeof(i) ? i : i + "";
|
|
22
|
+
return target;
|
|
44
23
|
}
|
|
45
|
-
function
|
|
46
|
-
if (
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
24
|
+
function _defineProperty(obj, key, value) {
|
|
25
|
+
if (key in obj) {
|
|
26
|
+
Object.defineProperty(obj, key, {
|
|
27
|
+
value: value,
|
|
28
|
+
enumerable: true,
|
|
29
|
+
configurable: true,
|
|
30
|
+
writable: true
|
|
31
|
+
});
|
|
32
|
+
} else {
|
|
33
|
+
obj[key] = value;
|
|
52
34
|
}
|
|
53
|
-
return
|
|
35
|
+
return obj;
|
|
54
36
|
}
|
|
55
|
-
function _slicedToArray(
|
|
56
|
-
return _arrayWithHoles(
|
|
37
|
+
function _slicedToArray(arr, i) {
|
|
38
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
57
39
|
}
|
|
58
40
|
function _nonIterableRest() {
|
|
59
41
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
60
42
|
}
|
|
61
|
-
function _unsupportedIterableToArray(
|
|
62
|
-
if (
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
43
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
44
|
+
if (!o) return;
|
|
45
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
46
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
47
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
48
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
49
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
67
50
|
}
|
|
68
|
-
function _arrayLikeToArray(
|
|
69
|
-
(
|
|
70
|
-
for (var
|
|
71
|
-
|
|
51
|
+
function _arrayLikeToArray(arr, len) {
|
|
52
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
53
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
|
54
|
+
arr2[i] = arr[i];
|
|
55
|
+
}
|
|
56
|
+
return arr2;
|
|
72
57
|
}
|
|
73
|
-
function _iterableToArrayLimit(
|
|
74
|
-
var
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
58
|
+
function _iterableToArrayLimit(arr, i) {
|
|
59
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
60
|
+
if (_i == null) return;
|
|
61
|
+
var _arr = [];
|
|
62
|
+
var _n = true;
|
|
63
|
+
var _d = false;
|
|
64
|
+
var _s, _e;
|
|
65
|
+
try {
|
|
66
|
+
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
|
|
67
|
+
_arr.push(_s.value);
|
|
68
|
+
if (i && _arr.length === i) break;
|
|
69
|
+
}
|
|
70
|
+
} catch (err) {
|
|
71
|
+
_d = true;
|
|
72
|
+
_e = err;
|
|
73
|
+
} finally {
|
|
83
74
|
try {
|
|
84
|
-
if (
|
|
85
|
-
} catch (r) {
|
|
86
|
-
o = true, n = r;
|
|
75
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
87
76
|
} finally {
|
|
88
|
-
|
|
89
|
-
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
90
|
-
} finally {
|
|
91
|
-
if (o) throw n;
|
|
92
|
-
}
|
|
77
|
+
if (_d) throw _e;
|
|
93
78
|
}
|
|
94
|
-
return a;
|
|
95
79
|
}
|
|
80
|
+
return _arr;
|
|
96
81
|
}
|
|
97
|
-
function _arrayWithHoles(
|
|
98
|
-
if (Array.isArray(
|
|
82
|
+
function _arrayWithHoles(arr) {
|
|
83
|
+
if (Array.isArray(arr)) return arr;
|
|
99
84
|
}
|
|
100
|
-
|
|
101
|
-
// Extracts the following properties from function arguments:
|
|
102
85
|
// * input `text`
|
|
103
86
|
// * `options` object
|
|
104
87
|
// * `metadata` JSON
|
|
88
|
+
|
|
105
89
|
function normalizeArguments(args) {
|
|
106
90
|
var _Array$prototype$slic = Array.prototype.slice.call(args),
|
|
107
91
|
_Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 4),
|
|
@@ -111,16 +95,14 @@ function normalizeArguments(args) {
|
|
|
111
95
|
arg_4 = _Array$prototype$slic2[3];
|
|
112
96
|
var text;
|
|
113
97
|
var options;
|
|
114
|
-
var metadata;
|
|
115
|
-
|
|
116
|
-
// If the phone number is passed as a string.
|
|
98
|
+
var metadata; // If the phone number is passed as a string.
|
|
117
99
|
// `parsePhoneNumber('88005553535', ...)`.
|
|
100
|
+
|
|
118
101
|
if (typeof arg_1 === 'string') {
|
|
119
102
|
text = arg_1;
|
|
120
|
-
} else throw new TypeError('A text for parsing must be a string.');
|
|
121
|
-
|
|
122
|
-
// If "default country" argument is being passed then move it to `options`.
|
|
103
|
+
} else throw new TypeError('A text for parsing must be a string.'); // If "default country" argument is being passed then move it to `options`.
|
|
123
104
|
// `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.
|
|
105
|
+
|
|
124
106
|
if (!arg_2 || typeof arg_2 === 'string') {
|
|
125
107
|
if (arg_4) {
|
|
126
108
|
options = arg_3;
|
|
@@ -134,8 +116,7 @@ function normalizeArguments(args) {
|
|
|
134
116
|
defaultCountry: arg_2
|
|
135
117
|
}, options);
|
|
136
118
|
}
|
|
137
|
-
}
|
|
138
|
-
// `defaultCountry` is not passed.
|
|
119
|
+
} // `defaultCountry` is not passed.
|
|
139
120
|
// Example: `parsePhoneNumber('+78005553535', [options], metadata)`.
|
|
140
121
|
else if (isObject(arg_2)) {
|
|
141
122
|
if (arg_3) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeArguments.js","sources":["../../../../node_modules/libphonenumber-js/es6/normalizeArguments.js"],"sourcesContent":["function
|
|
1
|
+
{"version":3,"file":"normalizeArguments.js","sources":["../../../../node_modules/libphonenumber-js/es6/normalizeArguments.js"],"sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport isObject from './helpers/isObject.js'; // Extracts the following properties from function arguments:\n// * input `text`\n// * `options` object\n// * `metadata` JSON\n\nexport default function normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args),\n _Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 4),\n arg_1 = _Array$prototype$slic2[0],\n arg_2 = _Array$prototype$slic2[1],\n arg_3 = _Array$prototype$slic2[2],\n arg_4 = _Array$prototype$slic2[3];\n\n var text;\n var options;\n var metadata; // If the phone number is passed as a string.\n // `parsePhoneNumber('88005553535', ...)`.\n\n if (typeof arg_1 === 'string') {\n text = arg_1;\n } else throw new TypeError('A text for parsing must be a string.'); // If \"default country\" argument is being passed then move it to `options`.\n // `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\n\n\n if (!arg_2 || typeof arg_2 === 'string') {\n if (arg_4) {\n options = arg_3;\n metadata = arg_4;\n } else {\n options = undefined;\n metadata = arg_3;\n }\n\n if (arg_2) {\n options = _objectSpread({\n defaultCountry: arg_2\n }, options);\n }\n } // `defaultCountry` is not passed.\n // Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\n else if (isObject(arg_2)) {\n if (arg_3) {\n options = arg_2;\n metadata = arg_3;\n } else {\n metadata = arg_2;\n }\n } else throw new Error(\"Invalid second argument: \".concat(arg_2));\n\n return {\n text: text,\n options: options,\n metadata: metadata\n };\n}\n//# sourceMappingURL=normalizeArguments.js.map"],"names":["normalizeArguments","args","_Array$prototype$slic","Array","prototype","slice","call","_Array$prototype$slic2","_slicedToArray","arg_1","arg_2","arg_3","arg_4","text","options","metadata","TypeError","undefined","_objectSpread","defaultCountry","isObject","Error","concat"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;;AACe,SAASA,kBAATA,CAA4BC,IAA5B,EAAkC;EAChD,IAAAC,qBAAA,GAAqCC,KAAK,CAACC,SAAN,CAAgBC,KAAhB,CAAsBC,IAAtB,CAA2BL,IAA3B,CAArC;IAAAM,sBAAA,GAAAC,cAAA,CAAAN,qBAAA,EAAA,CAAA,CAAA;AAAOO,IAAAA,KAAP,GAAAF,sBAAA,CAAA,CAAA,CAAA;AAAcG,IAAAA,KAAd,GAAAH,sBAAA,CAAA,CAAA,CAAA;AAAqBI,IAAAA,KAArB,GAAAJ,sBAAA,CAAA,CAAA,CAAA;AAA4BK,IAAAA,KAA5B,GAAAL,sBAAA,CAAA,CAAA,CAAA;AAEA,EAAA,IAAIM,IAAJ;AACA,EAAA,IAAIC,OAAJ;EACA,IAAIC,QAAJ,CALgD;AAQhD;;AACA,EAAA,IAAI,OAAON,KAAP,KAAiB,QAArB,EAA+B;AAC9BI,IAAAA,IAAI,GAAGJ,KAAP;EACA,CAFD,MAGK,MAAM,IAAIO,SAAJ,CAAc,sCAAd,CAAN,CAZ2C;AAehD;;AACA,EAAA,IAAI,CAACN,KAAD,IAAU,OAAOA,KAAP,KAAiB,QAA/B,EACA;AACC,IAAA,IAAIE,KAAJ,EAAW;AACVE,MAAAA,OAAO,GAAGH,KAAV;AACAI,MAAAA,QAAQ,GAAGH,KAAX;AACA,IAAA,CAHD,MAGO;AACNE,MAAAA,OAAO,GAAGG,SAAV;AACAF,MAAAA,QAAQ,GAAGJ,KAAX;AACA,IAAA;AAED,IAAA,IAAID,KAAJ,EAAW;AACVI,MAAAA,OAAO,GAAAI,aAAA,CAAA;AAAKC,QAAAA,cAAc,EAAET;AAArB,OAAA,EAA+BI,OAA/B,CAAP;AACA,IAAA;AACD,EAAA,CAbD;AAeA;AAAA,OACK,IAAIM,QAAQ,CAACV,KAAD,CAAZ,EACL;AACC,IAAA,IAAIC,KAAJ,EAAW;AACVG,MAAAA,OAAO,GAAIJ,KAAX;AACAK,MAAAA,QAAQ,GAAGJ,KAAX;AACA,IAAA,CAHD,MAGO;AACNI,MAAAA,QAAQ,GAAGL,KAAX;AACA,IAAA;EACD,CARI,MASA,MAAM,IAAIW,KAAJ,6BAAAC,MAAA,CAAsCZ,KAAtC,CAAA,CAAN;EAEL,OAAO;AACNG,IAAAA,IAAI,EAAJA,IADM;AAENC,IAAAA,OAAO,EAAPA,OAFM;AAGNC,IAAAA,QAAQ,EAARA;GAHD;AAKA;;;;","x_google_ignoreList":[0]}
|
|
@@ -16,21 +16,15 @@ import extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/e
|
|
|
16
16
|
// `phonenumberutil.js` of December 31th, 2018.
|
|
17
17
|
//
|
|
18
18
|
// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
// We don't allow input strings for parsing to be longer than 250 chars.
|
|
22
19
|
// This prevents malicious input from consuming CPU.
|
|
23
|
-
var MAX_INPUT_STRING_LENGTH = 250;
|
|
24
20
|
|
|
25
|
-
// This consists of the plus symbol, digits, and arabic-indic digits.
|
|
26
|
-
var PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']');
|
|
21
|
+
var MAX_INPUT_STRING_LENGTH = 250; // This consists of the plus symbol, digits, and arabic-indic digits.
|
|
27
22
|
|
|
28
|
-
// Regular expression of trailing characters that we want to remove.
|
|
23
|
+
var PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']'); // Regular expression of trailing characters that we want to remove.
|
|
29
24
|
// A trailing `#` is sometimes used when writing phone numbers with extensions in US.
|
|
30
25
|
// Example: "+1 (645) 123 1234-910#" number has extension "910".
|
|
31
|
-
var AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');
|
|
32
26
|
|
|
33
|
-
|
|
27
|
+
var AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');
|
|
34
28
|
//
|
|
35
29
|
// ```js
|
|
36
30
|
// parse('8 (800) 555-35-35', 'RU')
|
|
@@ -54,27 +48,25 @@ var AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$
|
|
|
54
48
|
* @param {object} metadata
|
|
55
49
|
* @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).
|
|
56
50
|
*/
|
|
51
|
+
|
|
57
52
|
function parse(text, options, metadata) {
|
|
58
53
|
// If assigning the `{}` default value is moved to the arguments above,
|
|
59
54
|
// code coverage would decrease for some weird reason.
|
|
60
55
|
options = options || {};
|
|
61
|
-
metadata = new Metadata(metadata);
|
|
56
|
+
metadata = new Metadata(metadata); // Validate `defaultCountry`.
|
|
62
57
|
|
|
63
|
-
// Validate `defaultCountry`.
|
|
64
58
|
if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {
|
|
65
59
|
if (options.v2) {
|
|
66
60
|
throw new ParseError('INVALID_COUNTRY');
|
|
67
61
|
}
|
|
68
62
|
throw new Error("Unknown country: ".concat(options.defaultCountry));
|
|
69
|
-
}
|
|
63
|
+
} // Parse the phone number.
|
|
70
64
|
|
|
71
|
-
// Parse the phone number.
|
|
72
65
|
var _parseInput = parseInput(text, options.v2, options.extract),
|
|
73
66
|
formattedPhoneNumber = _parseInput.number,
|
|
74
67
|
ext = _parseInput.ext,
|
|
75
|
-
error = _parseInput.error;
|
|
68
|
+
error = _parseInput.error; // If the phone number is not viable then return nothing.
|
|
76
69
|
|
|
77
|
-
// If the phone number is not viable then return nothing.
|
|
78
70
|
if (!formattedPhoneNumber) {
|
|
79
71
|
if (options.v2) {
|
|
80
72
|
if (error === 'TOO_SHORT') {
|
|
@@ -95,20 +87,18 @@ function parse(text, options, metadata) {
|
|
|
95
87
|
throw new ParseError('INVALID_COUNTRY');
|
|
96
88
|
}
|
|
97
89
|
return {};
|
|
98
|
-
}
|
|
90
|
+
} // Validate national (significant) number length.
|
|
99
91
|
|
|
100
|
-
// Validate national (significant) number length.
|
|
101
92
|
if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {
|
|
102
93
|
// Won't throw here because the regexp already demands length > 1.
|
|
94
|
+
|
|
103
95
|
/* istanbul ignore if */
|
|
104
96
|
if (options.v2) {
|
|
105
97
|
throw new ParseError('TOO_SHORT');
|
|
106
|
-
}
|
|
107
|
-
// Google's demo just throws an error in this case.
|
|
108
|
-
return {};
|
|
109
|
-
}
|
|
98
|
+
} // Google's demo just throws an error in this case.
|
|
110
99
|
|
|
111
|
-
|
|
100
|
+
return {};
|
|
101
|
+
} // Validate national (significant) number length.
|
|
112
102
|
//
|
|
113
103
|
// A sidenote:
|
|
114
104
|
//
|
|
@@ -117,11 +107,12 @@ function parse(text, options, metadata) {
|
|
|
117
107
|
// https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36
|
|
118
108
|
// Such numbers will just be discarded.
|
|
119
109
|
//
|
|
110
|
+
|
|
120
111
|
if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {
|
|
121
112
|
if (options.v2) {
|
|
122
113
|
throw new ParseError('TOO_LONG');
|
|
123
|
-
}
|
|
124
|
-
|
|
114
|
+
} // Google's demo just throws an error in this case.
|
|
115
|
+
|
|
125
116
|
return {};
|
|
126
117
|
}
|
|
127
118
|
if (options.v2) {
|
|
@@ -137,29 +128,25 @@ function parse(text, options, metadata) {
|
|
|
137
128
|
}
|
|
138
129
|
phoneNumber.__countryCallingCodeSource = countryCallingCodeSource;
|
|
139
130
|
return phoneNumber;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// Check if national phone number pattern matches the number.
|
|
131
|
+
} // Check if national phone number pattern matches the number.
|
|
143
132
|
// National number pattern is different for each country,
|
|
144
133
|
// even for those ones which are part of the "NANPA" group.
|
|
134
|
+
|
|
145
135
|
var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;
|
|
146
136
|
if (!options.extended) {
|
|
147
137
|
return valid ? result(country, nationalNumber, ext) : {};
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// isInternational: countryCallingCode !== undefined
|
|
138
|
+
} // isInternational: countryCallingCode !== undefined
|
|
151
139
|
|
|
152
140
|
return {
|
|
153
141
|
country: country,
|
|
154
142
|
countryCallingCode: countryCallingCode,
|
|
155
143
|
carrierCode: carrierCode,
|
|
156
144
|
valid: valid,
|
|
157
|
-
possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber,
|
|
145
|
+
possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber, metadata) ? true : false,
|
|
158
146
|
phone: nationalNumber,
|
|
159
147
|
ext: ext
|
|
160
148
|
};
|
|
161
149
|
}
|
|
162
|
-
|
|
163
150
|
/**
|
|
164
151
|
* Extracts a formatted phone number from text.
|
|
165
152
|
* Doesn't guarantee that the extracted phone number
|
|
@@ -172,6 +159,7 @@ function parse(text, options, metadata) {
|
|
|
172
159
|
* // Returns "(213) 373-4253".
|
|
173
160
|
* extractFormattedPhoneNumber("Call (213) 373-4253 for assistance.")
|
|
174
161
|
*/
|
|
162
|
+
|
|
175
163
|
function _extractFormattedPhoneNumber(text, extract, throwOnError) {
|
|
176
164
|
if (!text) {
|
|
177
165
|
return;
|
|
@@ -184,25 +172,23 @@ function _extractFormattedPhoneNumber(text, extract, throwOnError) {
|
|
|
184
172
|
}
|
|
185
173
|
if (extract === false) {
|
|
186
174
|
return text;
|
|
187
|
-
}
|
|
188
|
-
|
|
175
|
+
} // Attempt to extract a possible number from the string passed in
|
|
176
|
+
|
|
189
177
|
var startsAt = text.search(PHONE_NUMBER_START_PATTERN);
|
|
190
178
|
if (startsAt < 0) {
|
|
191
179
|
return;
|
|
192
180
|
}
|
|
193
|
-
return text
|
|
194
|
-
//
|
|
195
|
-
.slice(startsAt)
|
|
196
|
-
// Remove trailing non-numerical characters
|
|
181
|
+
return text // Trim everything to the left of the phone number
|
|
182
|
+
.slice(startsAt) // Remove trailing non-numerical characters
|
|
197
183
|
.replace(AFTER_PHONE_NUMBER_END_PATTERN, '');
|
|
198
184
|
}
|
|
199
|
-
|
|
200
185
|
/**
|
|
201
186
|
* @param {string} text - Input.
|
|
202
187
|
* @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.
|
|
203
188
|
* @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.
|
|
204
189
|
* @return {object} `{ ?number, ?ext }`.
|
|
205
190
|
*/
|
|
191
|
+
|
|
206
192
|
function parseInput(text, v2, extract) {
|
|
207
193
|
// // Parse RFC 3966 phone number URI.
|
|
208
194
|
// if (text && text.indexOf('tel:') === 0) {
|
|
@@ -213,8 +199,8 @@ function parseInput(text, v2, extract) {
|
|
|
213
199
|
extractFormattedPhoneNumber: function extractFormattedPhoneNumber(text) {
|
|
214
200
|
return _extractFormattedPhoneNumber(text, extract, v2);
|
|
215
201
|
}
|
|
216
|
-
});
|
|
217
|
-
|
|
202
|
+
}); // If the phone number is not viable, then abort.
|
|
203
|
+
|
|
218
204
|
if (!number) {
|
|
219
205
|
return {};
|
|
220
206
|
}
|
|
@@ -225,9 +211,9 @@ function parseInput(text, v2, extract) {
|
|
|
225
211
|
};
|
|
226
212
|
}
|
|
227
213
|
return {};
|
|
228
|
-
}
|
|
229
|
-
// Attempt to parse extension first, since it doesn't require region-specific
|
|
214
|
+
} // Attempt to parse extension first, since it doesn't require region-specific
|
|
230
215
|
// data and we want to have the non-normalised number here.
|
|
216
|
+
|
|
231
217
|
var withExtensionStripped = extractExtension(number);
|
|
232
218
|
if (withExtensionStripped.ext) {
|
|
233
219
|
return withExtensionStripped;
|
|
@@ -236,10 +222,10 @@ function parseInput(text, v2, extract) {
|
|
|
236
222
|
number: number
|
|
237
223
|
};
|
|
238
224
|
}
|
|
239
|
-
|
|
240
225
|
/**
|
|
241
226
|
* Creates `parse()` result object.
|
|
242
227
|
*/
|
|
228
|
+
|
|
243
229
|
function result(country, nationalNumber, ext) {
|
|
244
230
|
var result = {
|
|
245
231
|
country: country,
|
|
@@ -250,7 +236,6 @@ function result(country, nationalNumber, ext) {
|
|
|
250
236
|
}
|
|
251
237
|
return result;
|
|
252
238
|
}
|
|
253
|
-
|
|
254
239
|
/**
|
|
255
240
|
* Parses a viable phone number.
|
|
256
241
|
* @param {string} formattedPhoneNumber — Example: "(213) 373-4253".
|
|
@@ -259,22 +244,18 @@ function result(country, nationalNumber, ext) {
|
|
|
259
244
|
* @param {Metadata} metadata
|
|
260
245
|
* @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.
|
|
261
246
|
*/
|
|
247
|
+
|
|
262
248
|
function parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {
|
|
263
249
|
// Extract calling code from phone number.
|
|
264
|
-
var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber),
|
|
250
|
+
var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), defaultCountry, defaultCallingCode, metadata.metadata),
|
|
265
251
|
countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource,
|
|
266
252
|
countryCallingCode = _extractCountryCallin.countryCallingCode,
|
|
267
|
-
number = _extractCountryCallin.number;
|
|
253
|
+
number = _extractCountryCallin.number; // Choose a country by `countryCallingCode`.
|
|
268
254
|
|
|
269
|
-
// The exact country of the phone number
|
|
270
255
|
var country;
|
|
271
|
-
|
|
272
|
-
// If `formattedPhoneNumber` is passed in "international" format,
|
|
273
|
-
// choose a country by `countryCallingCode`.
|
|
274
256
|
if (countryCallingCode) {
|
|
275
257
|
metadata.selectNumberingPlan(countryCallingCode);
|
|
276
|
-
}
|
|
277
|
-
// Else, if `formattedPhoneNumber` is passed in "national" format,
|
|
258
|
+
} // If `formattedPhoneNumber` is passed in "national" format
|
|
278
259
|
// then `number` is defined and `countryCallingCode` is `undefined`.
|
|
279
260
|
else if (number && (defaultCountry || defaultCallingCode)) {
|
|
280
261
|
metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);
|
|
@@ -289,11 +270,9 @@ function parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCo
|
|
|
289
270
|
countryCallingCode: countryCallingCode
|
|
290
271
|
};
|
|
291
272
|
}
|
|
292
|
-
var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number),
|
|
273
|
+
var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), metadata),
|
|
293
274
|
nationalNumber = _extractNationalNumbe.nationalNumber,
|
|
294
|
-
carrierCode = _extractNationalNumbe.carrierCode;
|
|
295
|
-
|
|
296
|
-
// Sometimes there are several countries
|
|
275
|
+
carrierCode = _extractNationalNumbe.carrierCode; // Sometimes there are several countries
|
|
297
276
|
// corresponding to the same country phone code
|
|
298
277
|
// (e.g. NANPA countries all having `1` country phone code).
|
|
299
278
|
// Therefore, to reliably determine the exact country,
|
|
@@ -303,15 +282,18 @@ function parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCo
|
|
|
303
282
|
// get their countries populated with the full set of
|
|
304
283
|
// "phone number type" regular expressions.
|
|
305
284
|
//
|
|
285
|
+
|
|
306
286
|
var exactCountry = getCountryByCallingCode(countryCallingCode, {
|
|
307
287
|
nationalNumber: nationalNumber,
|
|
288
|
+
defaultCountry: defaultCountry,
|
|
308
289
|
metadata: metadata
|
|
309
290
|
});
|
|
310
291
|
if (exactCountry) {
|
|
311
292
|
country = exactCountry;
|
|
312
293
|
/* istanbul ignore if */
|
|
294
|
+
|
|
313
295
|
if (exactCountry === '001') ; else {
|
|
314
|
-
metadata.
|
|
296
|
+
metadata.country(country);
|
|
315
297
|
}
|
|
316
298
|
}
|
|
317
299
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sources":["../../../../node_modules/libphonenumber-js/es6/parse.js"],"sourcesContent":["// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\n\nimport { VALID_DIGITS, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN } from './constants.js';\nimport ParseError from './ParseError.js';\nimport Metadata from './metadata.js';\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js';\nimport extractExtension from './helpers/extension/extractExtension.js';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js';\nimport getCountryCallingCode from './getCountryCallingCode.js';\nimport { isPossibleNumber } from './isPossible.js';\n// import { parseRFC3966 } from './helpers/RFC3966.js'\nimport PhoneNumber from './PhoneNumber.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractNationalNumber from './helpers/extractNationalNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js';\n\n// We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\nvar MAX_INPUT_STRING_LENGTH = 250;\n\n// This consists of the plus symbol, digits, and arabic-indic digits.\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']');\n\n// Regular expression of trailing characters that we want to remove.\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\n// Examples:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\n\n/**\r\n * Parses a phone number.\r\n *\r\n * parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)\r\n * parse('123456789', { defaultCountry: 'RU' }, metadata)\r\n * parse('123456789', undefined, metadata)\r\n *\r\n * @param {string} input\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).\r\n */\nexport default function parse(text, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata);\n\n // Validate `defaultCountry`.\n if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n }\n\n // Parse the phone number.\n var _parseInput = parseInput(text, options.v2, options.extract),\n formattedPhoneNumber = _parseInput.number,\n ext = _parseInput.ext,\n error = _parseInput.error;\n\n // If the phone number is not viable then return nothing.\n if (!formattedPhoneNumber) {\n if (options.v2) {\n if (error === 'TOO_SHORT') {\n throw new ParseError('TOO_SHORT');\n }\n throw new ParseError('NOT_A_NUMBER');\n }\n return {};\n }\n var _parsePhoneNumber = parsePhoneNumber(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata),\n country = _parsePhoneNumber.country,\n nationalNumber = _parsePhoneNumber.nationalNumber,\n countryCallingCode = _parsePhoneNumber.countryCallingCode,\n countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource,\n carrierCode = _parsePhoneNumber.carrierCode;\n if (!metadata.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n return {};\n }\n\n // Validate national (significant) number length.\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n // Won't throw here because the regexp already demands length > 1.\n /* istanbul ignore if */\n if (options.v2) {\n throw new ParseError('TOO_SHORT');\n }\n // Google's demo just throws an error in this case.\n return {};\n }\n\n // Validate national (significant) number length.\n //\n // A sidenote:\n //\n // They say that sometimes national (significant) numbers\n // can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\n // https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\n // Such numbers will just be discarded.\n //\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError('TOO_LONG');\n }\n // Google's demo just throws an error in this case.\n return {};\n }\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);\n if (country) {\n phoneNumber.country = country;\n }\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n if (ext) {\n phoneNumber.ext = ext;\n }\n phoneNumber.__countryCallingCodeSource = countryCallingCodeSource;\n return phoneNumber;\n }\n\n // Check if national phone number pattern matches the number.\n // National number pattern is different for each country,\n // even for those ones which are part of the \"NANPA\" group.\n var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n }\n\n // isInternational: countryCallingCode !== undefined\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n carrierCode: carrierCode,\n valid: valid,\n possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber, country, metadata) ? true : false,\n phone: nationalNumber,\n ext: ext\n };\n}\n\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\nfunction _extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError('TOO_LONG');\n }\n return;\n }\n if (extract === false) {\n return text;\n }\n // Attempt to extract a possible number from the string passed in\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n if (startsAt < 0) {\n return;\n }\n return text\n // Trim everything to the left of the phone number\n .slice(startsAt)\n // Remove trailing non-numerical characters\n .replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\n}\n\n/**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\nfunction parseInput(text, v2, extract) {\n // // Parse RFC 3966 phone number URI.\n // if (text && text.indexOf('tel:') === 0) {\n // \treturn parseRFC3966(text)\n // }\n // let number = extractFormattedPhoneNumber(text, extract, v2)\n var number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, {\n extractFormattedPhoneNumber: function extractFormattedPhoneNumber(text) {\n return _extractFormattedPhoneNumber(text, extract, v2);\n }\n });\n // If the phone number is not viable, then abort.\n if (!number) {\n return {};\n }\n if (!isViablePhoneNumber(number)) {\n if (isViablePhoneNumberStart(number)) {\n return {\n error: 'TOO_SHORT'\n };\n }\n return {};\n }\n // Attempt to parse extension first, since it doesn't require region-specific\n // data and we want to have the non-normalised number here.\n var withExtensionStripped = extractExtension(number);\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n return {\n number: number\n };\n}\n\n/**\r\n * Creates `parse()` result object.\r\n */\nfunction result(country, nationalNumber, ext) {\n var result = {\n country: country,\n phone: nationalNumber\n };\n if (ext) {\n result.ext = ext;\n }\n return result;\n}\n\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\nfunction parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {\n // Extract calling code from phone number.\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), undefined, defaultCountry, defaultCallingCode, metadata.metadata),\n countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource,\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number;\n\n // The exact country of the phone number\n var country;\n\n // If `formattedPhoneNumber` is passed in \"international\" format,\n // choose a country by `countryCallingCode`.\n if (countryCallingCode) {\n metadata.selectNumberingPlan(countryCallingCode);\n }\n // Else, if `formattedPhoneNumber` is passed in \"national\" format,\n // then `number` is defined and `countryCallingCode` is `undefined`.\n else if (number && (defaultCountry || defaultCallingCode)) {\n metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);\n if (defaultCountry) {\n country = defaultCountry;\n } else {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n country = '001';\n }\n }\n }\n countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata);\n } else return {};\n if (!number) {\n return {\n countryCallingCodeSource: countryCallingCodeSource,\n countryCallingCode: countryCallingCode\n };\n }\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), country, metadata),\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode;\n\n // Sometimes there are several countries\n // corresponding to the same country phone code\n // (e.g. NANPA countries all having `1` country phone code).\n // Therefore, to reliably determine the exact country,\n // national (significant) number should have been parsed first.\n //\n // When `metadata.json` is generated, all \"ambiguous\" country phone codes\n // get their countries populated with the full set of\n // \"phone number type\" regular expressions.\n //\n var exactCountry = getCountryByCallingCode(countryCallingCode, {\n nationalNumber: nationalNumber,\n metadata: metadata\n });\n if (exactCountry) {\n country = exactCountry;\n /* istanbul ignore if */\n if (exactCountry === '001') {\n // Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\n // If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\n // then remove the \"istanbul ignore if\".\n } else {\n metadata.selectNumberingPlan(country);\n }\n }\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n countryCallingCodeSource: countryCallingCodeSource,\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n}\n//# sourceMappingURL=parse.js.map"],"names":["MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","RegExp","PLUS_CHARS","VALID_DIGITS","AFTER_PHONE_NUMBER_END_PATTERN","parse","text","options","metadata","Metadata","defaultCountry","hasCountry","v2","ParseError","Error","concat","_parseInput","parseInput","extract","formattedPhoneNumber","number","ext","error","_parsePhoneNumber","parsePhoneNumber","defaultCallingCode","country","nationalNumber","countryCallingCode","countryCallingCodeSource","carrierCode","hasSelectedNumberingPlan","length","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","phoneNumber","PhoneNumber","__countryCallingCodeSource","valid","extended","matchesEntirely","nationalNumberPattern","result","possible","possibleLengths","isPossibleNumber","phone","_extractFormattedPhoneNumber","throwOnError","startsAt","search","slice","replace","extractFormattedPhoneNumberFromPossibleRfc3966NumberUri","extractFormattedPhoneNumber","isViablePhoneNumber","isViablePhoneNumberStart","withExtensionStripped","extractExtension","_extractCountryCallin","extractCountryCallingCode","parseIncompletePhoneNumber","undefined","selectNumberingPlan","getCountryCallingCode","_extractNationalNumbe","extractNationalNumber","exactCountry","getCountryByCallingCode"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"parse.js","sources":["../../../../node_modules/libphonenumber-js/es6/parse.js"],"sourcesContent":["// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport { VALID_DIGITS, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN } from './constants.js';\nimport ParseError from './ParseError.js';\nimport Metadata from './metadata.js';\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js';\nimport extractExtension from './helpers/extension/extractExtension.js';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js';\nimport getCountryCallingCode from './getCountryCallingCode.js';\nimport { isPossibleNumber } from './isPossible.js'; // import { parseRFC3966 } from './helpers/RFC3966.js'\n\nimport PhoneNumber from './PhoneNumber.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractNationalNumber from './helpers/extractNationalNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js'; // We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\n\nvar MAX_INPUT_STRING_LENGTH = 250; // This consists of the plus symbol, digits, and arabic-indic digits.\n\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']'); // Regular expression of trailing characters that we want to remove.\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\n\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false; // Examples:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\n\n/**\r\n * Parses a phone number.\r\n *\r\n * parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)\r\n * parse('123456789', { defaultCountry: 'RU' }, metadata)\r\n * parse('123456789', undefined, metadata)\r\n *\r\n * @param {string} input\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).\r\n */\n\nexport default function parse(text, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata); // Validate `defaultCountry`.\n\n if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n } // Parse the phone number.\n\n\n var _parseInput = parseInput(text, options.v2, options.extract),\n formattedPhoneNumber = _parseInput.number,\n ext = _parseInput.ext,\n error = _parseInput.error; // If the phone number is not viable then return nothing.\n\n\n if (!formattedPhoneNumber) {\n if (options.v2) {\n if (error === 'TOO_SHORT') {\n throw new ParseError('TOO_SHORT');\n }\n\n throw new ParseError('NOT_A_NUMBER');\n }\n\n return {};\n }\n\n var _parsePhoneNumber = parsePhoneNumber(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata),\n country = _parsePhoneNumber.country,\n nationalNumber = _parsePhoneNumber.nationalNumber,\n countryCallingCode = _parsePhoneNumber.countryCallingCode,\n countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource,\n carrierCode = _parsePhoneNumber.carrierCode;\n\n if (!metadata.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n return {};\n } // Validate national (significant) number length.\n\n\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n // Won't throw here because the regexp already demands length > 1.\n\n /* istanbul ignore if */\n if (options.v2) {\n throw new ParseError('TOO_SHORT');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n } // Validate national (significant) number length.\n //\n // A sidenote:\n //\n // They say that sometimes national (significant) numbers\n // can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\n // https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\n // Such numbers will just be discarded.\n //\n\n\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError('TOO_LONG');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n }\n\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);\n\n if (country) {\n phoneNumber.country = country;\n }\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n\n if (ext) {\n phoneNumber.ext = ext;\n }\n\n phoneNumber.__countryCallingCodeSource = countryCallingCodeSource;\n return phoneNumber;\n } // Check if national phone number pattern matches the number.\n // National number pattern is different for each country,\n // even for those ones which are part of the \"NANPA\" group.\n\n\n var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;\n\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n } // isInternational: countryCallingCode !== undefined\n\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n carrierCode: carrierCode,\n valid: valid,\n possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber, metadata) ? true : false,\n phone: nationalNumber,\n ext: ext\n };\n}\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\n\nfunction _extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError('TOO_LONG');\n }\n\n return;\n }\n\n if (extract === false) {\n return text;\n } // Attempt to extract a possible number from the string passed in\n\n\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n\n if (startsAt < 0) {\n return;\n }\n\n return text // Trim everything to the left of the phone number\n .slice(startsAt) // Remove trailing non-numerical characters\n .replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\n}\n/**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\n\nfunction parseInput(text, v2, extract) {\n // // Parse RFC 3966 phone number URI.\n // if (text && text.indexOf('tel:') === 0) {\n // \treturn parseRFC3966(text)\n // }\n // let number = extractFormattedPhoneNumber(text, extract, v2)\n var number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, {\n extractFormattedPhoneNumber: function extractFormattedPhoneNumber(text) {\n return _extractFormattedPhoneNumber(text, extract, v2);\n }\n }); // If the phone number is not viable, then abort.\n\n if (!number) {\n return {};\n }\n\n if (!isViablePhoneNumber(number)) {\n if (isViablePhoneNumberStart(number)) {\n return {\n error: 'TOO_SHORT'\n };\n }\n\n return {};\n } // Attempt to parse extension first, since it doesn't require region-specific\n // data and we want to have the non-normalised number here.\n\n\n var withExtensionStripped = extractExtension(number);\n\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n\n return {\n number: number\n };\n}\n/**\r\n * Creates `parse()` result object.\r\n */\n\n\nfunction result(country, nationalNumber, ext) {\n var result = {\n country: country,\n phone: nationalNumber\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\n\n\nfunction parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {\n // Extract calling code from phone number.\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), defaultCountry, defaultCallingCode, metadata.metadata),\n countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource,\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number; // Choose a country by `countryCallingCode`.\n\n\n var country;\n\n if (countryCallingCode) {\n metadata.selectNumberingPlan(countryCallingCode);\n } // If `formattedPhoneNumber` is passed in \"national\" format\n // then `number` is defined and `countryCallingCode` is `undefined`.\n else if (number && (defaultCountry || defaultCallingCode)) {\n metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);\n\n if (defaultCountry) {\n country = defaultCountry;\n } else {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n country = '001';\n }\n }\n }\n\n countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata);\n } else return {};\n\n if (!number) {\n return {\n countryCallingCodeSource: countryCallingCodeSource,\n countryCallingCode: countryCallingCode\n };\n }\n\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), metadata),\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode; // Sometimes there are several countries\n // corresponding to the same country phone code\n // (e.g. NANPA countries all having `1` country phone code).\n // Therefore, to reliably determine the exact country,\n // national (significant) number should have been parsed first.\n //\n // When `metadata.json` is generated, all \"ambiguous\" country phone codes\n // get their countries populated with the full set of\n // \"phone number type\" regular expressions.\n //\n\n\n var exactCountry = getCountryByCallingCode(countryCallingCode, {\n nationalNumber: nationalNumber,\n defaultCountry: defaultCountry,\n metadata: metadata\n });\n\n if (exactCountry) {\n country = exactCountry;\n /* istanbul ignore if */\n\n if (exactCountry === '001') {// Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\n // If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\n // then remove the \"istanbul ignore if\".\n } else {\n metadata.country(country);\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n countryCallingCodeSource: countryCallingCodeSource,\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n}\n//# sourceMappingURL=parse.js.map"],"names":["MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","RegExp","PLUS_CHARS","VALID_DIGITS","AFTER_PHONE_NUMBER_END_PATTERN","parse","text","options","metadata","Metadata","defaultCountry","hasCountry","v2","ParseError","Error","concat","_parseInput","parseInput","extract","formattedPhoneNumber","number","ext","error","_parsePhoneNumber","parsePhoneNumber","defaultCallingCode","country","nationalNumber","countryCallingCode","countryCallingCodeSource","carrierCode","hasSelectedNumberingPlan","length","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","phoneNumber","PhoneNumber","__countryCallingCodeSource","valid","extended","matchesEntirely","nationalNumberPattern","result","possible","possibleLengths","isPossibleNumber","phone","_extractFormattedPhoneNumber","extractFormattedPhoneNumber","throwOnError","startsAt","search","slice","replace","extractFormattedPhoneNumberFromPossibleRfc3966NumberUri","isViablePhoneNumber","isViablePhoneNumberStart","withExtensionStripped","extractExtension","_extractCountryCallin","extractCountryCallingCode","parseIncompletePhoneNumber","selectNumberingPlan","getCountryCallingCode","_extractNationalNumbe","extractNationalNumber","exactCountry","getCountryByCallingCode"],"mappings":"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","x_google_ignoreList":[0]}
|