UNPKG

2 kBSource Map (JSON)View Raw
1{"version":3,"sources":["extractPathFromURL.tsx"],"names":["escapeStringRegexp","extractPathFromURL","prefixes","url","prefix","protocol","match","host","replace","RegExp","prefixRegex","split","map","it","join","normalizedURL","test","undefined"],"mappings":"AAAA,OAAOA,kBAAP,MAA+B,sBAA/B;AAEA,eAAe,SAASC,kBAAT,CAA4BC,QAA5B,EAAgDC,GAAhD,EAA6D;AAC1E,OAAK,MAAMC,MAAX,IAAqBF,QAArB,EAA+B;AAAA;;AAC7B,UAAMG,QAAQ,sCAAGD,MAAM,CAACE,KAAP,CAAa,SAAb,CAAH,kDAAG,cAA0B,CAA1B,CAAH,2DAAmC,EAAjD;AACA,UAAMC,IAAI,GAAGH,MAAM,CAChBI,OADU,CACF,IAAIC,MAAJ,YAAeT,kBAAkB,CAACK,QAAD,CAAjC,EADE,EAC8C,EAD9C,EAEVG,OAFU,CAEF,MAFE,EAEM,GAFN,EAEW;AAFX,KAGVA,OAHU,CAGF,KAHE,EAGK,EAHL,CAAb,CAF6B,CAKN;;AAEvB,UAAME,WAAW,GAAG,IAAID,MAAJ,YACdT,kBAAkB,CAACK,QAAD,CADJ,iBACqBE,IAAI,CACxCI,KADoC,CAC9B,GAD8B,EAEpCC,GAFoC,CAE/BC,EAAD,IAASA,EAAE,KAAK,GAAP,GAAa,OAAb,GAAuBb,kBAAkB,CAACa,EAAD,CAFlB,EAGpCC,IAHoC,CAG/B,KAH+B,CADrB,EAApB;AAOA,UAAMC,aAAa,GAAGZ,GAAG,CAACK,OAAJ,CAAY,MAAZ,EAAoB,GAApB,CAAtB;;AAEA,QAAIE,WAAW,CAACM,IAAZ,CAAiBD,aAAjB,CAAJ,EAAqC;AACnC,aAAOA,aAAa,CAACP,OAAd,CAAsBE,WAAtB,EAAmC,EAAnC,CAAP;AACD;AACF;;AAED,SAAOO,SAAP;AACD","sourcesContent":["import escapeStringRegexp from 'escape-string-regexp';\n\nexport default function extractPathFromURL(prefixes: string[], url: string) {\n for (const prefix of prefixes) {\n const protocol = prefix.match(/^[^:]+:/)?.[0] ?? '';\n const host = prefix\n .replace(new RegExp(`^${escapeStringRegexp(protocol)}`), '')\n .replace(/\\/+/g, '/') // Replace multiple slash (//) with single ones\n .replace(/^\\//, ''); // Remove extra leading slash\n\n const prefixRegex = new RegExp(\n `^${escapeStringRegexp(protocol)}(/)*${host\n .split('.')\n .map((it) => (it === '*' ? '[^/]+' : escapeStringRegexp(it)))\n .join('\\\\.')}`\n );\n\n const normalizedURL = url.replace(/\\/+/g, '/');\n\n if (prefixRegex.test(normalizedURL)) {\n return normalizedURL.replace(prefixRegex, '');\n }\n }\n\n return undefined;\n}\n"]}
\No newline at end of file