mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-28 03:15:16 +00:00
1 line
6.2 KiB
JSON
1 line
6.2 KiB
JSON
|
{"ast":null,"code":"function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n} // About 1.5x faster than the two-arg version of Array#splice()\n\n\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n} // This implementation is based heavily on node's url.parse\n\n\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n var toParts = to && to.split('/') || [];\n var fromParts = from && from.split('/') || [];\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n var hasTrailingSlash;\n\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n if (mustEndAbs && fromParts[0] !== '' && (!fromParts[0] || !isAbsolute(fromParts[0]))) fromParts.unshift('');\n var result = fromParts.join('/');\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n return result;\n}\n\nexport default resolvePathname;","map":{"version":3,"sources":["/app/node_modules/resolve-pathname/esm/resolve-pathname.js"],"names":["isAbsolute","pathname","charAt","spliceOne","list","index","i","k","n","length","pop","resolvePathname","to","from","undefined","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","hasTrailingSlash","last","up","part","unshift","result","join","substr"],"mappings":"AAAA,SAASA,UAAT,CAAoBC,QAApB,EAA8B;AAC5B,SAAOA,QAAQ,CAACC,MAAT,CAAgB,CAAhB,MAAuB,GAA9B;AACD,C,CAED;;;AACA,SAASC,SAAT,CAAmBC,IAAnB,EAAyBC,KAAzB,EAAgC;AAC9B,OAAK,IAAIC,CAAC,GAAGD,KAAR,EAAeE,CAAC,GAAGD,CAAC,GAAG,CAAvB,EAA0BE,CAAC,GAAGJ,IAAI,CAACK,MAAxC,EAAgDF,CAAC,GAAGC,CAApD,EAAuDF,CAAC,IAAI,CAAL,EAAQC,CAAC,IAAI,CAApE,EAAuE;AACrEH,IAAAA,IAAI,CAACE,CAAD,CAAJ,GAAUF,IAAI,CAACG,CAAD,CAAd;AACD;;AAEDH,EAAAA,IAAI,CAACM,GAAL;AACD,C,CAED;;;AACA,SAASC,eAAT,CAAyBC,EAAzB,EAA6BC,IAA7B,EAAmC;AACjC,MAAIA,IAAI,KAAKC,SAAb,EAAwBD,IAAI,GAAG,EAAP;AAExB,MAAIE,OAAO,GAAIH,EAAE,IAAIA,EAAE,CAACI,KAAH,CAAS,GAAT,CAAP,IAAyB,EAAvC;AACA,MAAIC,SAAS,GAAIJ,IAAI,IAAIA,IAAI,CAACG,KAAL,CAAW,GAAX,CAAT,IAA6B,EAA7C;AAEA,MAAIE,OAAO,GAAGN,EAAE,IAAIZ,UAAU,CAACY,EAAD,CAA9B;AACA,MAAIO,SAAS,GAAGN,IAAI,IAAIb,UAAU,CAACa,IAAD,CAAlC;AACA,MAAIO,UAAU,GAAGF,OAAO,IAAIC,SAA5B;;AAEA,MAAIP,EAAE,IAAIZ,UAAU,CAACY,EAAD,CAApB,EAA0B;AACxB;AACAK,IAAAA,SAAS,GAAGF,OAAZ;AACD,GAHD,MAGO,IAAIA,OAAO,CAACN,MAAZ,EAAoB;AACzB;AACAQ,IAAAA,SAAS,CAACP,GAAV;AACAO,IAAAA,SAAS,GAAGA,SAAS,CAACI,MAAV,CAAiBN,OAAjB,CAAZ;AACD;;AAED,MAAI,CAACE,SAAS,CAACR,MAAf,EAAuB,OAAO,GAAP;AAEvB,MAAIa,gBAAJ;;AACA,MAAIL,SAAS,CAACR,MAAd,EAAsB;AACpB,QAAIc,IAAI,GAAGN,SAAS,CAACA,SAAS,CAACR,MAAV,GAAmB,CAApB,CAApB;AACAa,IAAAA,gBAAgB,GAAGC,IAAI,KAAK,GAAT,IAAgBA,IAAI,KAAK,IAAzB,IAAiCA,IAAI,KAAK,EAA7D;AACD,GAHD,MAGO;AACLD,IAAAA,gBAAgB,GAAG,KAAnB;AACD;;AAED,MAAIE,EAAE,GAAG,CAAT;;AACA,OAAK,IAAIlB,CAAC,GAAGW,SAAS,CAACR,MAAvB,EAA+BH,CAAC,IAAI,CAApC,EAAuCA,CAAC,EAAxC,EAA4C;AAC1C,QAAImB,IAAI,GAAGR,SAAS,CAACX,CAAD,CAApB;;AAEA,QAAImB,IAAI,KAAK,GAAb,EAAkB;AAChBtB,MAAAA,SAAS,CAACc,SAAD,EAAYX,CAAZ,CAAT;AACD,KAFD,MAEO,IAAImB,IAAI,KAAK,IAAb,EAAmB;AACxBtB,MAAAA,SAAS,CAACc,SAAD,EAAYX,CAAZ,CAAT;AACAkB,MAAAA,EAAE;AACH,KAHM,MAGA,IAAIA,EAAJ,EAAQ;AACbrB,MAAAA,SAAS,CAACc,SAAD,EAAYX,CAAZ,CAAT;AACAkB,MAAAA,EAAE;AACH;AACF;;AAED,MAAI,CAACJ,UAAL,EAAiB,OAAOI,EAAE,EAAT,EAAaA,EAAb,EAAiBP,S
|