diff --git a/java/demo/src/com/google/phonenumbers/PhoneNumberParserServlet.java b/java/demo/src/com/google/phonenumbers/PhoneNumberParserServlet.java index 9dd9105bc..40f0fa8f9 100644 --- a/java/demo/src/com/google/phonenumbers/PhoneNumberParserServlet.java +++ b/java/demo/src/com/google/phonenumbers/PhoneNumberParserServlet.java @@ -28,28 +28,26 @@ import com.google.i18n.phonenumbers.PhoneNumberToTimeZonesMapper; import com.google.i18n.phonenumbers.PhoneNumberUtil; import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberFormat; import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberType; +import com.google.i18n.phonenumbers.PhoneNumberUtil.ValidationResult; import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber; import com.google.i18n.phonenumbers.ShortNumberInfo; import com.google.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder; - -import org.apache.commons.fileupload.FileItemIterator; -import org.apache.commons.fileupload.FileItemStream; -import org.apache.commons.fileupload.FileUploadException; -import org.apache.commons.fileupload.servlet.ServletFileUpload; -import org.apache.commons.fileupload.util.Streams; -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.StringEscapeUtils; - import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.Locale; import java.util.StringTokenizer; - import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.fileupload.FileItemIterator; +import org.apache.commons.fileupload.FileItemStream; +import org.apache.commons.fileupload.FileUploadException; +import org.apache.commons.fileupload.servlet.ServletFileUpload; +import org.apache.commons.fileupload.util.Streams; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang.StringEscapeUtils; /** * A servlet that accepts requests that contain strings representing a phone number and a default @@ -61,10 +59,11 @@ import javax.servlet.http.HttpServletResponse; public class PhoneNumberParserServlet extends HttpServlet { private PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); private ShortNumberInfo shortInfo = ShortNumberInfo.getInstance(); + public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { String phoneNumber = null; String defaultCountry = null; - String languageCode = "en"; // Default languageCode to English if nothing is entered. + String languageCode = "en"; // Default languageCode to English if nothing is entered. String regionCode = ""; String fileContents = null; ServletFileUpload upload = new ServletFileUpload(); @@ -106,16 +105,14 @@ public class PhoneNumberParserServlet extends HttpServlet { if (fileContents == null || fileContents.length() == 0) { // Redirect to a URL with the given input encoded in the query parameters. Locale geocodingLocale = new Locale(languageCode, regionCode); - resp.sendRedirect(getPermaLinkURL(phoneNumber, defaultCountry, geocodingLocale, - false /* absoluteURL */)); + resp.sendRedirect( + getPermaLinkURL(phoneNumber, defaultCountry, geocodingLocale, false /* absoluteURL */)); } else { resp.getWriter().println(getOutputForFile(defaultCountry, fileContents)); } } - /** - * Handle the get request to get information about a number based on query parameters. - */ + /** Handle the get request to get information about a number based on query parameters. */ public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { String phoneNumber = req.getParameter("number"); if (phoneNumber == null) { @@ -128,20 +125,21 @@ public class PhoneNumberParserServlet extends HttpServlet { String geocodingParam = req.getParameter("geocodingLocale"); Locale geocodingLocale; if (geocodingParam == null) { - geocodingLocale = ENGLISH; // Default languageCode to English if nothing is entered. + geocodingLocale = ENGLISH; // Default languageCode to English if nothing is entered. } else { geocodingLocale = Locale.forLanguageTag(geocodingParam); } resp.setContentType("text/html"); resp.setCharacterEncoding(UTF_8.name()); - resp.getWriter().println( - getOutputForSingleNumber(phoneNumber, defaultCountry, geocodingLocale)); + resp.getWriter() + .println(getOutputForSingleNumber(phoneNumber, defaultCountry, geocodingLocale)); } private StringBuilder getOutputForFile(String defaultCountry, String fileContents) { - StringBuilder output = new StringBuilder( - "Results generated from phone numbers in the file provided:" - + ""); + StringBuilder output = + new StringBuilder( + "Results generated from phone numbers in the file provided:" + + ""); output.append(""); output.append(""); output.append(""); @@ -155,25 +153,31 @@ public class PhoneNumberParserServlet extends HttpServlet { phoneNumberId++; output.append(""); output.append(" \n"); - output.append(" \n"); + output + .append(" \n"); try { PhoneNumber number = phoneUtil.parseAndKeepRawInput(numberStr, defaultCountry); boolean isNumberValid = phoneUtil.isValidNumber(number); - String prettyFormat = isNumberValid - ? phoneUtil.formatInOriginalFormat(number, defaultCountry) - : "invalid"; - String internationalFormat = isNumberValid - ? phoneUtil.format(number, PhoneNumberFormat.INTERNATIONAL) - : "invalid"; + String prettyFormat = + isNumberValid ? phoneUtil.formatInOriginalFormat(number, defaultCountry) : "invalid"; + String internationalFormat = + isNumberValid ? phoneUtil.format(number, PhoneNumberFormat.INTERNATIONAL) : "invalid"; - output.append(" \n"); - output.append(" \n"); + output + .append(" \n"); + output + .append(" \n"); } catch (NumberParseException e) { - output.append(" \n"); + output + .append(" \n"); } output.append(""); } @@ -188,26 +192,27 @@ public class PhoneNumberParserServlet extends HttpServlet { output.append(""); } - /** - * Returns a stable URL pointing to the result page for the given input. - */ + /** Returns a stable URL pointing to the result page for the given input. */ private String getPermaLinkURL( String phoneNumber, String defaultCountry, Locale geocodingLocale, boolean absoluteURL) { // If absoluteURL is false, generate a relative path. Otherwise, produce an absolute URL. - StringBuilder permaLink = new StringBuilder( - absoluteURL ? "http://libphonenumber.appspot.com/phonenumberparser" : "/phonenumberparser"); + StringBuilder permaLink = + new StringBuilder( + absoluteURL + ? "http://libphonenumber.appspot.com/phonenumberparser" + : "/phonenumberparser"); try { permaLink.append( "?number=" + URLEncoder.encode(phoneNumber != null ? phoneNumber : "", UTF_8.name())); if (defaultCountry != null && !defaultCountry.isEmpty()) { permaLink.append("&country=" + URLEncoder.encode(defaultCountry, UTF_8.name())); } - if (!geocodingLocale.getLanguage().equals(ENGLISH.getLanguage()) || - !geocodingLocale.getCountry().isEmpty()) { - permaLink.append("&geocodingLocale=" + - URLEncoder.encode(geocodingLocale.toLanguageTag(), UTF_8.name())); + if (!geocodingLocale.getLanguage().equals(ENGLISH.getLanguage()) + || !geocodingLocale.getCountry().isEmpty()) { + permaLink.append( + "&geocodingLocale=" + URLEncoder.encode(geocodingLocale.toLanguageTag(), UTF_8.name())); } - } catch(UnsupportedEncodingException e) { + } catch (UnsupportedEncodingException e) { // UTF-8 is guaranteed in Java, so this should be impossible. throw new AssertionError(e); } @@ -215,21 +220,21 @@ public class PhoneNumberParserServlet extends HttpServlet { } private static final String NEW_ISSUE_BASE_URL = - "https://issuetracker.google.com/issues/new?component=192347&title="; + "https://issuetracker.google.com/issues/new?component=192347&title="; - /** - * Returns a link to create a new github issue with the relevant information. - */ + /** Returns a link to create a new github issue with the relevant information. */ private String getNewIssueLink( String phoneNumber, String defaultCountry, Locale geocodingLocale) { boolean hasDefaultCountry = !defaultCountry.isEmpty() && defaultCountry != "ZZ"; - String issueTitle = "Validation issue with " + phoneNumber - + (hasDefaultCountry ? " (" + defaultCountry + ")" : ""); + String issueTitle = + "Validation issue with " + + phoneNumber + + (hasDefaultCountry ? " (" + defaultCountry + ")" : ""); String newIssueLink = NEW_ISSUE_BASE_URL; try { newIssueLink += URLEncoder.encode(issueTitle, UTF_8.name()); - } catch(UnsupportedEncodingException e) { + } catch (UnsupportedEncodingException e) { // UTF-8 is guaranteed in Java, so this should be impossible. throw new AssertionError(e); } @@ -243,15 +248,16 @@ public class PhoneNumberParserServlet extends HttpServlet { private StringBuilder getOutputForSingleNumber( String phoneNumber, String defaultCountry, Locale geocodingLocale) { StringBuilder output = new StringBuilder(""); - output.append( - ""); + output.append(""); output.append(""); output.append(""); output.append("Phone Number entered: " + StringEscapeUtils.escapeHtml(phoneNumber) + "
"); - output.append("defaultCountry entered: " + StringEscapeUtils.escapeHtml(defaultCountry) - + "
"); - output.append("Language entered: " - + StringEscapeUtils.escapeHtml(geocodingLocale.toLanguageTag()) + "
"); + output.append( + "defaultCountry entered: " + StringEscapeUtils.escapeHtml(defaultCountry) + "
"); + output.append( + "Language entered: " + + StringEscapeUtils.escapeHtml(geocodingLocale.toLanguageTag()) + + "
"); try { PhoneNumber number = phoneUtil.parseAndKeepRawInput(phoneNumber, defaultCountry); output.append("
"); @@ -276,24 +282,33 @@ public class PhoneNumberParserServlet extends HttpServlet { output.append("
IDRaw phone number
").append(phoneNumberId).append(" ").append( - StringEscapeUtils.escapeHtml(numberStr)).append(" ") + .append(StringEscapeUtils.escapeHtml(numberStr)) + .append(" ").append( - StringEscapeUtils.escapeHtml(prettyFormat)).append(" ").append( - StringEscapeUtils.escapeHtml(internationalFormat)).append(" ") + .append(StringEscapeUtils.escapeHtml(prettyFormat)) + .append(" ") + .append(StringEscapeUtils.escapeHtml(internationalFormat)) + .append(" ").append( - StringEscapeUtils.escapeHtml(e.toString())).append(" ") + .append(StringEscapeUtils.escapeHtml(e.toString())) + .append("
"); output.append(""); appendLine("Result from isPossibleNumber()", Boolean.toString(isPossible), output); - if (!isPossible) { - appendLine("Result from isPossibleNumberWithReason()", - phoneUtil.isPossibleNumberWithReason(number).toString(), output); - output.append(""); - } else { - appendLine("Result from isValidNumber()", Boolean.toString(isNumberValid), output); - if (isNumberValid) { - if (hasDefaultCountry) { - appendLine( - "Result from isValidNumberForRegion()", - Boolean.toString(phoneUtil.isValidNumberForRegion(number, defaultCountry)), - output); + if (isPossible) { + if (phoneUtil.isPossibleNumberWithReason(number) + == ValidationResult.IS_POSSIBLE_LOCAL_ONLY) { + appendLine("Result from isPossibleNumberWithReason()", "IS_POSSIBLE_LOCAL_ONLY", output); + output.append( + ""); + } else { + appendLine("Result from isValidNumber()", Boolean.toString(isNumberValid), output); + if (isNumberValid && hasDefaultCountry) { + appendLine( + "Result from isValidNumberForRegion()", + Boolean.toString(phoneUtil.isValidNumberForRegion(number, defaultCountry)), + output); } + String region = phoneUtil.getRegionCodeForNumber(number); + appendLine("Phone Number region", region == null ? "" : region, output); + appendLine("Result from getNumberType()", numberType.toString(), output); } - String region = phoneUtil.getRegionCodeForNumber(number); - appendLine("Phone Number region", region == null ? "" : region, output); - appendLine("Result from getNumberType()", numberType.toString(), output); + } else { + appendLine( + "Result from isPossibleNumberWithReason()", + phoneUtil.isPossibleNumberWithReason(number).toString(), + output); + output.append( + ""); } output.append("
Validation Results
Note: numbers that are not possible have type " + - "UNKNOWN, an unknown region, and are considered invalid.
Number is considered invalid as it is " + + "not a possible national number.
Note: Numbers that are not possible have type UNKNOWN," + + " an unknown region, and are considered invalid.
"); output.append(""); @@ -303,20 +318,25 @@ public class PhoneNumberParserServlet extends HttpServlet { output.append(""); output.append(""); boolean isPossibleShort = shortInfo.isPossibleShortNumber(number); - appendLine("Result from isPossibleShortNumber()", - Boolean.toString(isPossibleShort), output); + appendLine( + "Result from isPossibleShortNumber()", Boolean.toString(isPossibleShort), output); if (isPossibleShort) { - appendLine("Result from isValidShortNumber()", - Boolean.toString(shortInfo.isValidShortNumber(number)), output); + appendLine( + "Result from isValidShortNumber()", + Boolean.toString(shortInfo.isValidShortNumber(number)), + output); if (hasDefaultCountry) { boolean isPossibleShortForRegion = shortInfo.isPossibleShortNumberForRegion(number, defaultCountry); - appendLine("Result from isPossibleShortNumberForRegion()", - Boolean.toString(isPossibleShortForRegion), output); + appendLine( + "Result from isPossibleShortNumberForRegion()", + Boolean.toString(isPossibleShortForRegion), + output); if (isPossibleShortForRegion) { - appendLine("Result from isValidShortNumberForRegion()", - Boolean.toString(shortInfo.isValidShortNumberForRegion(number, - defaultCountry)), output); + appendLine( + "Result from isValidShortNumberForRegion()", + Boolean.toString(shortInfo.isValidShortNumberForRegion(number, defaultCountry)), + output); } } } @@ -327,11 +347,12 @@ public class PhoneNumberParserServlet extends HttpServlet { output.append("
"); output.append("
Short Number Results
"); output.append(""); - appendLine("E164 format", - isNumberValid ? phoneUtil.format(number, PhoneNumberFormat.E164) : "invalid", - output); - appendLine("Original format", - phoneUtil.formatInOriginalFormat(number, defaultCountry), output); + appendLine( + "E164 format", + isNumberValid ? phoneUtil.format(number, PhoneNumberFormat.E164) : "invalid", + output); + appendLine( + "Original format", phoneUtil.formatInOriginalFormat(number, defaultCountry), output); appendLine("National format", phoneUtil.format(number, PhoneNumberFormat.NATIONAL), output); appendLine( "International format", @@ -357,8 +378,8 @@ public class PhoneNumberParserServlet extends HttpServlet { // Note this doesn't handle supplementary characters, but it shouldn't be a big deal as // there are no dial-pad characters in the supplementary range. char inputChar = phoneNumber.charAt(i); - appendLine("Char entered: '" + inputChar + "' Output: ", - formatter.inputDigit(inputChar), output); + appendLine( + "Char entered: '" + inputChar + "' Output: ", formatter.inputDigit(inputChar), output); } output.append("
Formatting Results
"); output.append(""); @@ -369,8 +390,8 @@ public class PhoneNumberParserServlet extends HttpServlet { output.append("PhoneNumberOfflineGeocoder Results"); appendLine( "Location", - PhoneNumberOfflineGeocoder.getInstance().getDescriptionForNumber( - number, geocodingLocale), + PhoneNumberOfflineGeocoder.getInstance() + .getDescriptionForNumber(number, geocodingLocale), output); output.append(""); output.append(""); @@ -385,9 +406,9 @@ public class PhoneNumberParserServlet extends HttpServlet { output.append(""); output.append(""); - if (numberType == PhoneNumberType.MOBILE || - numberType == PhoneNumberType.FIXED_LINE_OR_MOBILE || - numberType == PhoneNumberType.PAGER) { + if (numberType == PhoneNumberType.MOBILE + || numberType == PhoneNumberType.FIXED_LINE_OR_MOBILE + || numberType == PhoneNumberType.PAGER) { output.append("
"); output.append(""); output.append(""); @@ -403,10 +424,14 @@ public class PhoneNumberParserServlet extends HttpServlet { String newIssueLink = getNewIssueLink(phoneNumber, defaultCountry, geocodingLocale); String guidelinesLink = "https://github.com/google/libphonenumber/blob/master/CONTRIBUTING.md"; - output.append("File an issue: by clicking on " - + "this link, I confirm that I " - + "have read the contributor's guidelines."); + output.append( + "File an issue: by clicking on " + + "this link, I confirm that I " + + "have read the contributor's guidelines."); } catch (NumberParseException e) { output.append(StringEscapeUtils.escapeHtml(e.toString())); } diff --git a/javascript/i18n/phonenumbers/demo-compiled.js b/javascript/i18n/phonenumbers/demo-compiled.js index 540e67612..3b5dac4ce 100644 --- a/javascript/i18n/phonenumbers/demo-compiled.js +++ b/javascript/i18n/phonenumbers/demo-compiled.js @@ -3,15 +3,10 @@ Copyright The Closure Library Authors. SPDX-License-Identifier: Apache-2.0 */ -var aa=this||self;function ba(a){a.da=void 0;a.ca=function(){return a.da?a.da:a.da=new a}}function h(a,b){function c(){}c.prototype=b.prototype;a.ea=b.prototype;a.prototype=new c;a.prototype.constructor=a};function l(a){if(Error.captureStackTrace)Error.captureStackTrace(this,l);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))}h(l,Error);l.prototype.name="CustomError";function ca(a,b){a=a.split("%s");for(var c="",d=a.length-1,e=0;ec?Math.max(0,a.length+c):c;if("string"===typeof a)return"string"!==typeof b||1!=b.length?-1:a.indexOf(b,c);for(;cb?1:ac?Math.max(0,a.length+c):c;if("string"===typeof a)return"string"!==typeof b||1!=b.length?-1:a.indexOf(b,c);for(;cb?1:aa.length?!1:N($a,a)}function hb(a){return N(Ya,a)?O(a,Ra):O(a,L)}function ib(a){var b=hb(a.toString());D(a);a.a(b)}function jb(a){return null!=a&&(1!=z(a,9)||-1!=w(a,9)[0])} -function O(a,b){for(var c=new C,d,e=a.length,f=0;f=e?a=c:(d=d.substring(0,e),d=O(d,L),0==d.length?a=c:(g=g.clone(),Fa(g,4),d=[g],g=y(b,1),c=Q(b),g in K?(a=T(a,g,U(g)),e=ub(d,c),null!=e&&(d=e.clone(),e=y(e,4),0b?2:f[f.length-1]=e&&e<=d;++e)if(c=parseInt(a.substring(0,e),10),c in K)return b.a(a.substring(e)),c;return 0} -function Fb(a,b,c,d,e,f){if(0==b.length)return 0;b=new C(b);var g;null!=c&&(g=u(c,11));null==g&&(g="NonMatch");var k=b.toString();if(0==k.length)g=20;else if(M.test(k))k=k.replace(M,""),D(b),b.a(hb(k)),g=1;else{k=new RegExp(g);ib(b);g=b.toString();if(0==g.search(k)){k=g.match(k)[0].length;var m=g.substring(k).match(Ua);m&&null!=m[1]&&0=b.b.length)throw Error("Phone number too short after IDD"); -a=Eb(b,d);if(0!=a)return v(f,1,a),a;throw Error("Invalid country calling code");}if(null!=c&&(g=y(c,10),k=""+g,m=b.toString(),0==m.lastIndexOf(k,0)&&(k=new C(m.substring(k.length)),m=u(c,1),m=new RegExp(y(m,2)),Gb(k,c,null),k=k.toString(),!N(m,b.toString())&&N(m,k)||3==Cb(a,b.toString(),c,-1))))return d.a(k),e&&v(f,6,10),v(f,1,g),g;v(f,1,0);return 0} -function Gb(a,b,c){var d=a.toString(),e=d.length,f=u(b,15);if(0!=e&&null!=f&&0!=f.length){var g=new RegExp("^(?:"+f+")");if(e=g.exec(d)){f=new RegExp(y(u(b,1),2));var k=N(f,d),m=e.length-1;b=u(b,16);if(null==b||0==b.length||null==e[m]||0==e[m].length){if(!k||N(f,d.substring(e[0].length)))null!=c&&0b.b.length)throw Error("The string supplied is too short to be a phone number");null!=g&&(c=new C,e=new C(b.toString()),Gb(e,g,c),a=Cb(a,e.toString(),g,-1),2!=a&&4!=a&&5!=a&&(b=e,d&&0a)throw Error("The string supplied is too short to be a phone number");if(17a.length?!1:L(Va,a)}function cb(a){return L(Sa,a)?M(a,La):M(a,I)}function db(a){var b=cb(a.toString());n(a);a.a(b)}function eb(a){return null!=a&&(1!=A(a,9)||-1!=y(a,9)[0])} +function M(a,b){for(var c=new l,d,e=a.length,f=0;f=e?c=b:(d=d.substring(0,e),d=M(d,I),0==d.length?c=b:(g=g.clone(),za(g,4),d=[g],g=z(a,1),b=P(a),g in E?(c=R(c,g,S(g)),e=nb(d,b),null!=e&&(d=e.clone(),e=z(e,4),0b?2:f[f.length-1]=e&&e<=d;++e)if(c=parseInt(a.substring(0,e),10),c in E)return b.a(a.substring(e)),c;return 0} +function zb(a,b,c,d,e,f){if(0==b.length)return 0;b=new l(b);var g;null!=c&&(g=w(c,11));null==g&&(g="NonMatch");var h=b.toString();if(0==h.length)g=20;else if(J.test(h))h=h.replace(J,""),n(b),b.a(cb(h)),g=1;else{h=new RegExp(g);db(b);g=b.toString();if(0==g.search(h)){h=g.match(h)[0].length;var m=g.substring(h).match(Oa);m&&null!=m[1]&&0=b.b.length)throw Error("Phone number too short after IDD"); +a=yb(b,d);if(0!=a)return x(f,1,a),a;throw Error("Invalid country calling code");}if(null!=c&&(g=z(c,10),h=""+g,m=b.toString(),0==m.lastIndexOf(h,0)&&(h=new l(m.substring(h.length)),m=w(c,1),m=new RegExp(z(m,2)),Ab(h,c,null),h=h.toString(),!L(m,b.toString())&&L(m,h)||3==wb(a,b.toString(),c,-1))))return d.a(h),e&&x(f,6,10),x(f,1,g),g;x(f,1,0);return 0} +function Ab(a,b,c){var d=a.toString(),e=d.length,f=w(b,15);if(0!=e&&null!=f&&0!=f.length){var g=new RegExp("^(?:"+f+")");if(e=g.exec(d)){f=new RegExp(z(w(b,1),2));var h=L(f,d),m=e.length-1;b=w(b,16);if(null==b||0==b.length||null==e[m]||0==e[m].length){if(!h||L(f,d.substring(e[0].length)))null!=c&&0b.b.length)throw Error("The string supplied is too short to be a phone number");null!=g&&(c=new l,e=new l(b.toString()),Ab(e,g,c),a=wb(a,e.toString(),g,-1),2!=a&&4!=a&&5!=a&&(b=e,d&&0a)throw Error("The string supplied is too short to be a phone number");if(17 0) { output.append('\nNational format with carrier code: '); - output.append(phoneUtil.formatNationalNumberWithCarrierCode(number, - carrierCode)); + output.append( + phoneUtil_.formatNationalNumberWithCarrierCode(number, carrierCode)); } output.append('\n\n****AsYouTypeFormatter Results****'); var formatter = new i18n.phonenumbers.AsYouTypeFormatter(regionCode); @@ -171,4 +164,31 @@ function phoneNumberParser() { return false; } +function getNumberTypeString(number) { + switch (phoneUtil_.getNumberType(number)) { + case i18n.phonenumbers.PhoneNumberType.FIXED_LINE: + return 'FIXED_LINE'; + case i18n.phonenumbers.PhoneNumberType.MOBILE: + return 'MOBILE' + case i18n.phonenumbers.PhoneNumberType.FIXED_LINE_OR_MOBILE: + return 'FIXED_LINE_OR_MOBILE'; + case i18n.phonenumbers.PhoneNumberType.TOLL_FREE: + return 'TOLL_FREE'; + case i18n.phonenumbers.PhoneNumberType.PREMIUM_RATE: + return 'PREMIUM_RATE'; + case i18n.phonenumbers.PhoneNumberType.SHARED_COST: + return 'SHARED_COST'; + case i18n.phonenumbers.PhoneNumberType.VOIP: + return 'VOIP'; + case i18n.phonenumbers.PhoneNumberType.PERSONAL_NUMBER: + return 'PERSONAL_NUMBER'; + case i18n.phonenumbers.PhoneNumberType.PAGER: + return 'PAGER'; + case i18n.phonenumbers.PhoneNumberType.UAN: + return 'UAN'; + case i18n.phonenumbers.PhoneNumberType.UNKNOWN: + return 'UNKNOWN'; + } +} + goog.exportSymbol('phoneNumberParser', phoneNumberParser);
PhoneNumberToCarrierMapper Results