ut-tools
Version:
Build and Release management automation package.
2 lines (1 loc) • 8.22 kB
JavaScript
function t(t){let n="";return t.absolute&&("file"===t.protocol?(t.drive&&(n+=t.drive),n+="/"):(n+=t.protocol+"://",t.origin&&(n+=t.origin+"/"))),""===(n+=t.path.join("/"))&&(n="."),n}function n(t,r,e,o){this.message=t,this.expected=r,this.found=e,this.location=o,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,n)}!function(t,n){function r(){this.constructor=t}r.prototype=n.prototype,t.prototype=new r}(n,Error),n.buildMessage=function(t,n){var r={literal:function(t){return'"'+o(t.text)+'"'},class:function(t){var n,r="";for(n=0;n<t.parts.length;n++)r+=t.parts[n]instanceof Array?u(t.parts[n][0])+"-"+u(t.parts[n][1]):u(t.parts[n]);return"["+(t.inverted?"^":"")+r+"]"},any:function(t){return"any character"},end:function(t){return"end of input"},other:function(t){return t.description}};function e(t){return t.charCodeAt(0).toString(16).toUpperCase()}function o(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(t){return"\\x0"+e(t)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(t){return"\\x"+e(t)})}function u(t){return t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(t){return"\\x0"+e(t)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(t){return"\\x"+e(t)})}return"Expected "+function(t){var n,e,o,u=new Array(t.length);for(n=0;n<t.length;n++)u[n]=(o=t[n],r[o.type](o));if(u.sort(),u.length>0){for(n=1,e=1;n<u.length;n++)u[n-1]!==u[n]&&(u[e]=u[n],e++);u.length=e}switch(u.length){case 1:return u[0];case 2:return u[0]+" or "+u[1];default:return u.slice(0,-1).join(", ")+", or "+u[u.length-1]}}(t)+" but "+function(t){return t?'"'+o(t)+'"':"end of input"}(n)+" found."};var r=function(t,r){r=void 0!==r?r:{};var e,o,u,i,c={},a={Path:nt},l=nt,s=function(t,n,r,e){return{protocol:t,origin:n,absolute:!0,...r,...e}},f=function(t,n,r){return{protocol:t,origin:n,absolute:!0,...r,path:[]}},p="http://",h=W("http://",!0),g=function(t){return"http"},v="https://",d=W("https://",!0),b=function(t){return"https"},x="",m=function(){return null},C=function(t,n,r){return{protocol:t,origin:null,absolute:!0,...n,...r}},w="file://",A=W("file://",!0),y="file:",j=W("file:",!0),F=function(t){return"file"},S=function(t,n){return{protocol:"file",origin:null,absolute:!0,...t,...n}},E=/^[A-Za-z]/,L=X([["A","Z"],["a","z"]],!1,!1),R=":",$=W(":",!1),M=function(t){return{drive:t.toLowerCase()+":"}},k=function(){return{drive:null}},z=function(){return{drive:null}},B=function(t){return{protocol:null,origin:null,absolute:!1,drive:null,...t}},O=function(t){return{path:t}},P=function(t,n){return[t,...n]},T=function(t){return[t]},Z=".",I=W(".",!1),U="/",q=W("/",!1),D="\\",G=W("\\",!1),H=/^[^\/\\]/,J=X(["/","\\"],!0,!1),K=0,N=[{line:1,column:1}],Q=0,V=[];if("startRule"in r){if(!(r.startRule in a))throw new Error("Can't start parsing from rule \""+r.startRule+'".');l=a[r.startRule]}function W(t,n){return{type:"literal",text:t,ignoreCase:n}}function X(t,n,r){return{type:"class",parts:t,inverted:n,ignoreCase:r}}function Y(n){var r,e=N[n];if(e)return e;for(r=n-1;!N[r];)r--;for(e={line:(e=N[r]).line,column:e.column};r<n;)10===t.charCodeAt(r)?(e.line++,e.column=1):e.column++,r++;return N[n]=e,e}function _(t,n){var r=Y(t),e=Y(n);return{start:{offset:t,line:r.line,column:r.column},end:{offset:n,line:e.line,column:e.column}}}function tt(t){K<Q||(K>Q&&(Q=K,V=[]),V.push(t))}function nt(){var n;return(n=function(){var t,n,r,e,o;return t=K,(n=rt())!==c&&(r=et())!==c&&(e=ut())!==c&&(o=it())!==c?(n=s(n,r,e,o),t=n):(K=t,t=c),t===c&&(t=K,(n=rt())!==c&&(r=et())!==c&&(e=function(){var t;return(t=x)!==c&&(t=z()),t}())!==c?(n=f(n,r,e),t=n):(K=t,t=c)),t}())===c&&(n=function(){var n,r,e,o;return n=K,(r=function(){var n;return t.substr(K,7).toLowerCase()===w?(n=t.substr(K,7),K+=7):(n=c,tt(A)),n===c&&(t.substr(K,5).toLowerCase()===y?(n=t.substr(K,5),K+=5):(n=c,tt(j))),n!==c&&(n=F()),n}())!==c&&(e=ot())!==c&&(o=it())!==c?(r=C(r,e,o),n=r):(K=n,n=c),n}())===c&&(n=function(){var t,n,r;return t=K,(n=ot())!==c&&(r=it())!==c?(n=S(n,r),t=n):(K=t,t=c),t}())===c&&(n=function(){var n,r,e;return n=K,(r=function(){var n;return(n=function(){var n,r,e;return n=K,46===t.charCodeAt(K)?(r=Z,K++):(r=c,tt(I)),r!==c&&(e=at())!==c?n=r=[r,e]:(K=n,n=c),n}())===c&&(n=x),n}())!==c&&(e=it())!==c?(r=B(e),n=r):(K=n,n=c),n}()),n}function rt(){var n,r;return t.substr(K,7).toLowerCase()===p?(r=t.substr(K,7),K+=7):(r=c,tt(h)),r!==c&&(r=g()),(n=r)===c&&(n=function(){var n;return t.substr(K,8).toLowerCase()===v?(n=t.substr(K,8),K+=8):(n=c,tt(d)),n!==c&&(n=b()),n}()),n}function et(){var n,r,e;if(n=K,r=[],(e=lt())!==c)for(;e!==c;)r.push(e),e=lt();else r=c;return(n=r!==c?t.substring(n,K):r)===c&&(n=K,(r=x)!==c&&(r=m()),n=r),n}function ot(){var n;return(n=function(){var n,r,e,o;return n=K,(r=at())===c&&(r=null),r!==c?(E.test(t.charAt(K))?(e=t.charAt(K),K++):(e=c,tt(L)),e!==c?(58===t.charCodeAt(K)?(o=R,K++):(o=c,tt($)),o!==c&&at()!==c?(r=M(e),n=r):(K=n,n=c)):(K=n,n=c)):(K=n,n=c),n}())===c&&(n=ut()),n}function ut(){var t;return(t=at())!==c&&(t=k()),t}function it(){var t;return(t=function t(){var n,r,e;return n=K,(r=ct())!==c&&at()!==c&&(e=t())!==c?(r=P(r,e),n=r):(K=n,n=c),n===c&&(n=K,(r=ct())!==c&&(r=T(r)),n=r),n}())!==c&&(t=O(t)),t}function ct(){var n,r,e;if(n=K,r=[],(e=lt())!==c)for(;e!==c;)r.push(e),e=lt();else r=c;return(n=r!==c?t.substring(n,K):r)===c&&(n=x),n}function at(){var n;return 47===t.charCodeAt(K)?(n=U,K++):(n=c,tt(q)),n===c&&(92===t.charCodeAt(K)?(n=D,K++):(n=c,tt(G))),n}function lt(){var n;return H.test(t.charAt(K))?(n=t.charAt(K),K++):(n=c,tt(J)),n}if((e=l())!==c&&K===t.length)return e;throw e!==c&&K<t.length&&tt({type:"end"}),o=V,u=Q<t.length?t.charAt(Q):null,i=Q<t.length?_(Q,Q+1):_(Q,Q),new n(n.buildMessage(o,u),o,u,i)};function e(t){if("string"!=typeof t)throw new Error(`@stoplight/path: Cannot parse ${t} because it is not a string`);return r(t,{})}function o(n){return t(u(e(n)))}function u(t){let n=t.path;n=n.filter(t=>""!==t&&"."!==t);const r=[];for(const e of n)".."===e&&r.length&&".."!==r[r.length-1]?r.pop():".."===e&&t.absolute||r.push(e);return t.path=r,t}function i(t){let n=t.lastIndexOf(".");".."===t&&(n=-1),"."===t&&(n=-1);let r=t,e="";return n>0&&(r=t.slice(0,n),e=t.slice(n)),{name:r,ext:e}}const c=(t,n)=>{const r=u(e(t)).path.pop();if(!r)return"";const{name:o,ext:c}=i(r);return!0===n||n===c?o:`${o}${c}`},a=n=>{const r=u(e(n));return r.path.pop(),t(u(r))},l=t=>{const n=u(e(t)).path.pop();if(!n)return"";const{ext:r}=i(n);return r};function s(t){return e(t).absolute}function f(t){const n=e(t);return"http"===n.protocol||"https"===n.protocol}const p=(...n)=>{if(0===n.length)return".";const r=n.map(e),o=Object.assign({},r[0]);for(let t=1;t<r.length;t++){const e=r[t];if(e.absolute)throw new Error('Cannot join an absolute path "'+n[t]+'" in the middle of other paths.');for(const t of e.path)o.path.push(t)}return t(u(o))};function h(n,r){const o=u(e(r));if(!o.absolute)return t(o);const i=u(e(n));if(o.origin!==i.origin)return t(o);if(!i.absolute)return t(o);if(i.drive!==o.drive)return t(o);const c=Math.min(i.path.length,o.path.length);for(let t=0;t<c&&i.path[0]===o.path[0];t++)i.path.shift(),o.path.shift();return o.path.unshift(...i.path.fill("..")),t({origin:null,drive:null,absolute:!1,protocol:null,path:o.path})}function g(...n){if(0===n.length)return".";const r=u(e(n[n.length-1]));return r.absolute?t(r):p(...n)}const v="/",d=t=>{return null!==e(t).drive},b=t=>e(t).path.filter(Boolean).join("/");function x(t){const[n,r,e,...o]=t.split("/"),u=o.length?`/${o.join("/")}`:void 0;let c,a;return u&&(c=o.find(t=>t.includes(".")))&&(a=i(c).ext),{shortcode:n,orgSlug:r,projectSlug:e,uri:u,file:c,ext:a}}function m({shortcode:t,orgSlug:n,projectSlug:r,uri:e=""}){return[t,n,r,e.replace(/^\//,"")].filter(Boolean).join("/")}export{c as basename,x as deserializeSrn,a as dirname,l as extname,t as format,s as isAbsolute,f as isURL,p as join,o as normalize,e as parse,h as relative,g as resolve,v as sep,m as serializeSrn,d as startsWithWindowsDrive,b as stripRoot,o as toFSPath};