UNPKG

2.44 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/utils/path.js"],"names":["path","require","joinPath","withBasePath","basePath","paths","withTrailingSlash","posixJoinWithLeadingSlash","posix","join","map","segment","index","getCommonDir","path1","path2","path1Segments","split","path2Segments","i","length","toLowerCase","joined","slice"],"mappings":";;;;;;;AAAA,MAAMA,IAAI,GAAGC,OAAO,CAAE,MAAF,CAApB;;AACA,MAAM;AAAEC,EAAAA;AAAF,IAAeD,OAAO,CAAE,mBAAF,CAA5B;;AAEO,SAASE,YAAT,CAAsBC,QAAtB,EAAgC;AACrC,SAAO,CAAC,GAAGC,KAAJ,KAAcH,QAAQ,CAACE,QAAD,EAAW,GAAGC,KAAd,CAA7B;AACD;;AAEM,SAASC,iBAAT,CAA2BF,QAA3B,EAAqC;AAC1C,SAAQ,GAAEA,QAAS,GAAnB;AACD;;AAED,MAAMG,yBAAyB,GAAGF,KAAK,IACrCL,IAAI,CAACQ,KAAL,CAAWC,IAAX,CACE,GAAGJ,KAAK,CAACK,GAAN,CAAU,CAACC,OAAD,EAAUC,KAAV,KACXD,OAAO,KAAM,EAAb,IAAkBC,KAAK,KAAK,CAA5B,GAAiC,GAAjC,GAAsCD,OADrC,CADL,CADF;;AAOO,SAASE,YAAT,CAAsBC,KAAtB,EAA6BC,KAA7B,EAAoC;AACzC,QAAMC,aAAa,GAAGF,KAAK,CAACG,KAAN,CAAY,OAAZ,CAAtB;AACA,QAAMC,aAAa,GAAGH,KAAK,CAACE,KAAN,CAAY,OAAZ,CAAtB;;AAEA,OAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,aAAa,CAACI,MAAlC,EAA0CD,CAAC,EAA3C,EAA+C;AAC7C,QAAIA,CAAC,IAAID,aAAa,CAACE,MAAvB,EAA+B;AAC7B,aAAOb,yBAAyB,CAACW,aAAD,CAAhC;AACD,KAFD,MAEO,IACLF,aAAa,CAACG,CAAD,CAAb,CAAiBE,WAAjB,OAAmCH,aAAa,CAACC,CAAD,CAAb,CAAiBE,WAAjB,EAD9B,EAEL;AACA,YAAMC,MAAM,GAAGN,aAAa,CAACO,KAAd,CAAoB,CAApB,EAAuBJ,CAAvB,CAAf;AACA,aAAOZ,yBAAyB,CAACe,MAAD,CAAhC;AACD;AACF;;AAED,SAAOf,yBAAyB,CAACS,aAAD,CAAhC;AACD","sourcesContent":["const path = require(`path`)\nconst { joinPath } = require(`gatsby-core-utils`)\n\nexport function withBasePath(basePath) {\n return (...paths) => joinPath(basePath, ...paths)\n}\n\nexport function withTrailingSlash(basePath) {\n return `${basePath}/`\n}\n\nconst posixJoinWithLeadingSlash = paths =>\n path.posix.join(\n ...paths.map((segment, index) =>\n segment === `` && index === 0 ? `/` : segment\n )\n )\n\nexport function getCommonDir(path1, path2) {\n const path1Segments = path1.split(/[/\\\\]/)\n const path2Segments = path2.split(/[/\\\\]/)\n\n for (let i = 0; i < path1Segments.length; i++) {\n if (i >= path2Segments.length) {\n return posixJoinWithLeadingSlash(path2Segments)\n } else if (\n path1Segments[i].toLowerCase() !== path2Segments[i].toLowerCase()\n ) {\n const joined = path1Segments.slice(0, i)\n return posixJoinWithLeadingSlash(joined)\n }\n }\n\n return posixJoinWithLeadingSlash(path1Segments)\n}\n"],"file":"path.js"}
\No newline at end of file