UNPKG

4.16 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../source/isPossibleNumber_.js"],"names":["isPossiblePhoneNumber","input","options","metadata","undefined","Metadata","v2","countryCallingCode","Error","selectNumberingPlan","phone","country","hasCountry","possibleLengths","isPossibleNumber","nationalNumber","isNonGeographicCallingCode"],"mappings":";;;;;;;;AAAA;;AACA;;;;AAEe,SAASA,qBAAT,CAA+BC,KAA/B,EAAsCC,OAAtC,EAA+CC,QAA/C,EAAyD;AACvE;AACA,MAAID,OAAO,KAAKE,SAAhB,EAA2B;AAC1BF,IAAAA,OAAO,GAAG,EAAV;AACA;;AAEDC,EAAAA,QAAQ,GAAG,IAAIE,oBAAJ,CAAaF,QAAb,CAAX;;AAEA,MAAID,OAAO,CAACI,EAAZ,EAAgB;AACf,QAAI,CAACL,KAAK,CAACM,kBAAX,EAA+B;AAC9B,YAAM,IAAIC,KAAJ,CAAU,oCAAV,CAAN;AACA;;AACDL,IAAAA,QAAQ,CAACM,mBAAT,CAA6BR,KAAK,CAACM,kBAAnC;AACA,GALD,MAKO;AACN,QAAI,CAACN,KAAK,CAACS,KAAX,EAAkB;AACjB,aAAO,KAAP;AACA;;AACD,QAAIT,KAAK,CAACU,OAAV,EAAmB;AAClB,UAAI,CAACR,QAAQ,CAACS,UAAT,CAAoBX,KAAK,CAACU,OAA1B,CAAL,EAAyC;AACxC,cAAM,IAAIH,KAAJ,4BAA8BP,KAAK,CAACU,OAApC,EAAN;AACA;;AACDR,MAAAA,QAAQ,CAACQ,OAAT,CAAiBV,KAAK,CAACU,OAAvB;AACA,KALD,MAKO;AACN,UAAI,CAACV,KAAK,CAACM,kBAAX,EAA+B;AAC9B,cAAM,IAAIC,KAAJ,CAAU,oCAAV,CAAN;AACA;;AACDL,MAAAA,QAAQ,CAACM,mBAAT,CAA6BR,KAAK,CAACM,kBAAnC;AACA;AACD;;AAED,MAAIJ,QAAQ,CAACU,eAAT,EAAJ,EAAgC;AAC/B,WAAOC,gBAAgB,CAACb,KAAK,CAACS,KAAN,IAAeT,KAAK,CAACc,cAAtB,EAAsCZ,QAAtC,CAAvB;AACA,GAFD,MAEO;AACN;AACA;AACA;AACA;AACA;AACA;AACA,QAAIF,KAAK,CAACM,kBAAN,IAA4BJ,QAAQ,CAACa,0BAAT,CAAoCf,KAAK,CAACM,kBAA1C,CAAhC,EAA+F;AAC9F;AACA;AACA,aAAO,IAAP;AACA,KAJD,MAIO;AACN,YAAM,IAAIC,KAAJ,CAAU,gGAAV,CAAN;AACA;AACD;AACD;;AAEM,SAASM,gBAAT,CAA0BC,cAA1B,EAA0CZ,QAA1C,EAAoD;AAAE;AAC5D,UAAQ,mCAAkBY,cAAlB,EAAkCZ,QAAlC,CAAR;AACC,SAAK,aAAL;AACC,aAAO,IAAP;AACD;AACA;AACA;AACA;;AACA;AACC,aAAO,KAAP;AARF;AAUA","sourcesContent":["import Metadata from './metadata'\r\nimport checkNumberLength from './helpers/checkNumberLength'\r\n\r\nexport default function isPossiblePhoneNumber(input, options, metadata) {\r\n\t/* istanbul ignore if */\r\n\tif (options === undefined) {\r\n\t\toptions = {}\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tif (options.v2) {\r\n\t\tif (!input.countryCallingCode) {\r\n\t\t\tthrow new Error('Invalid phone number object passed')\r\n\t\t}\r\n\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t} else {\r\n\t\tif (!input.phone) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tif (input.country) {\r\n\t\t\tif (!metadata.hasCountry(input.country)) {\r\n\t\t\t\tthrow new Error(`Unknown country: ${input.country}`)\r\n\t\t\t}\r\n\t\t\tmetadata.country(input.country)\r\n\t\t} else {\r\n\t\t\tif (!input.countryCallingCode) {\r\n\t\t\t\tthrow new Error('Invalid phone number object passed')\r\n\t\t\t}\r\n\t\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t\t}\r\n\t}\r\n\r\n\tif (metadata.possibleLengths()) {\r\n\t\treturn isPossibleNumber(input.phone || input.nationalNumber, metadata)\r\n\t} else {\r\n\t\t// There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\r\n\t\t// were missing for \"non-geographical\" numbering plans.\r\n\t\t// Just assume the number is possible in such cases:\r\n\t\t// it's unlikely that anyone generated their custom metadata\r\n\t\t// in that short period of time (one day).\r\n\t\t// This code can be removed in some future major version update.\r\n\t\tif (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\r\n\t\t\t// \"Non-geographic entities\" did't have `possibleLengths`\r\n\t\t\t// due to a bug in metadata generation process.\r\n\t\t\treturn true\r\n\t\t} else {\r\n\t\t\tthrow new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isPossibleNumber(nationalNumber, metadata) { //, isInternational) {\r\n\tswitch (checkNumberLength(nationalNumber, metadata)) {\r\n\t\tcase 'IS_POSSIBLE':\r\n\t\t\treturn true\r\n\t\t// This library ignores \"local-only\" phone numbers (for simplicity).\r\n\t\t// See the readme for more info on what are \"local-only\" phone numbers.\r\n\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\r\n\t\t// \treturn !isInternational\r\n\t\tdefault:\r\n\t\t\treturn false\r\n\t}\r\n}"],"file":"isPossibleNumber_.js"}
\No newline at end of file