UNPKG

824 BJavaScriptView Raw
1const t=require("lodash");function e(t){var e=r(t);return e?t.filter(t=>new RegExp("^/"+e).test(t)):t}function r(e){if(!e||!Array.isArray(e))return!1;var r=/^\/v\d+/,n=!1;if(t.forEach(e,t=>!(n=r.test(t))),n){var s=[];return e.forEach(e=>{var n=r.test(e)?t.chain(e).split("/").nth(1).value():"";s.push(n)}),t.chain(s).compact(t=>t).maxBy(t=>Number(t.substr(1))).value()}return!1}function n(e){const r={},n=/^\/v/;for(let s=0;s<e.length;s++)if(n.test(e[s])){let n=e[s].split("/").slice(1),a=t.last(n),i=t.first(n);t.get(r,a)?r[a].push(i):r[a]=[i]}return t.isEmpty(r)?[]:t.chain(r).keys(r).map(t=>s(r,t)).value()}function s(e,r){return 1===e[r].length?"/"+t.first(e[r])+"/"+r:"/"+t.chain(e[r]).compact(t=>t).maxBy(t=>Number(t.substr(1))).value()+"/"+r}module.exports={getComponentPaths:e,getLatestVersion:r,getLatestActions:n};
\No newline at end of file