4 lines
1.7 KiB
JavaScript
4 lines
1.7 KiB
JavaScript
import{createRequire} from"node:module";const require=createRequire(import.meta.url);
|
|
function i(t,l,e){let c=t;e>=0&&c.length>e&&(c=c.slice(0,e));let n=Math.abs(l);return n>c.length&&(l<0?c=c.padEnd(n," "):c=c.padStart(n," ")),c}function h(t,l){let e=l,c=0,n=-1,a=!1;for(e<t.length&&t[e]==="-"&&(a=!0,e++);e<t.length&&/\d/.test(t[e]);)c=c*10+parseInt(t[e],10),e++;if(e<t.length&&t[e]===".")for(e++,n=0;e<t.length&&/\d/.test(t[e]);)n=n*10+parseInt(t[e],10),e++;return a&&c>0&&(c=-c),[c,n,e-l]}function r(t){let l="",e=0;for(;e<t.length;)if(t[e]==="\\"&&e+1<t.length)switch(t[e+1]){case"n":l+=`
|
|
`,e+=2;break;case"t":l+=" ",e+=2;break;case"r":l+="\r",e+=2;break;case"\\":l+="\\",e+=2;break;case"a":l+="\x07",e+=2;break;case"b":l+="\b",e+=2;break;case"f":l+="\f",e+=2;break;case"v":l+="\v",e+=2;break;case"e":case"E":l+="\x1B",e+=2;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let n="",a=e+1;for(;a<t.length&&a<e+4&&/[0-7]/.test(t[a]);)n+=t[a],a++;l+=String.fromCharCode(parseInt(n,8)),e=a;break}case"x":{let n=[],a=e;for(;a+3<t.length&&t[a]==="\\"&&t[a+1]==="x"&&/[0-9a-fA-F]{2}/.test(t.slice(a+2,a+4));)n.push(parseInt(t.slice(a+2,a+4),16)),a+=4;if(n.length>0){try{let s=new TextDecoder("utf-8",{fatal:!0});l+=s.decode(new Uint8Array(n))}catch{for(let s of n)l+=String.fromCharCode(s)}e=a}else l+=t[e],e++;break}case"u":{let n="",a=e+2;for(;a<t.length&&a<e+6&&/[0-9a-fA-F]/.test(t[a]);)n+=t[a],a++;n?(l+=String.fromCodePoint(parseInt(n,16)),e=a):(l+="\\u",e+=2);break}case"U":{let n="",a=e+2;for(;a<t.length&&a<e+10&&/[0-9a-fA-F]/.test(t[a]);)n+=t[a],a++;n?(l+=String.fromCodePoint(parseInt(n,16)),e=a):(l+="\\U",e+=2);break}default:l+=t[e],e++}else l+=t[e],e++;return l}export{i as a,h as b,r as c};
|