UNPKG

ts-macro

Version:
4 lines (3 loc) 1.91 kB
import{toString as c}from"muggle-string";var l={completion:!0,format:!0,navigation:!0,semantic:!0,structure:!0,verification:!0},d=class{constructor(n,t,e="tsx",u=[]){this.filePath=n;this.ast=t;this.languageId=e;this.plugins=u;this.id=`root_${this.languageId}`,this.codes.push([t.text,void 0,0,l]);for(let o of this.plugins)try{o.resolveVirtualCode?.(this)}catch(i){console.error(`[${o.name}]:`,i)}t.statements[0]?.kind!==272&&this.codes.unshift(`/* placeholder */ `,[` `,void 0,0,l]),this.mappings=m(this.codes);let s=c(this.codes);this.snapshot={getLength:()=>s.length,getText:(o,i)=>s.slice(o,i),getChangeRange(){}}}id;mappings;embeddedCodes=[];codes=[];snapshot;source};function m(r){let n=0,t=[];for(let e of r)typeof e=="string"?n+=e.length:(t.push({sourceOffsets:[e[2]],generatedOffsets:[n],lengths:[e[0].length],data:e[3]}),n+=e[0].length);return t}function P(r){return r}function S(r){return n=>{if(n?.modules){let t=r({ts:n.modules.typescript,...n});return(Array.isArray(t)?t:[t]).flatMap(e=>(e.resolveVirtualCode&&(e.resolveEmbeddedCode??=(u,s,o)=>{for(let i of["script","scriptSetup"]){let g=s[i]?.ast;g&&e.resolveVirtualCode({ast:g,source:i,filePath:u,id:o.id,codes:o.content,languageId:o.lang,embeddedCodes:o.embeddedCodes,linkedCodeMappings:o.linkedCodeMappings})}}),e.order??=e.enforce==="pre"?-1:e.enforce==="post"?1:0,e.version??=2.1,e))}return t=>r(t,n)}}import{create as b,getLength as L,getStack as N,offsetStack as k,replace as V,replaceAll as R,replaceSourceRange as f,resetOffsetStack as U,setTracking as M,toString as F,track as I}from"muggle-string";function A(r,n,t,...e){return f(r,void 0,n,t,...e)}export{d as TsmVirtualCode,l as allCodeFeatures,b as create,S as createPlugin,P as defineConfig,L as getLength,N as getStack,k as offsetStack,V as replace,R as replaceAll,A as replaceRange,f as replaceSourceRange,U as resetOffsetStack,M as setTracking,F as toString,I as track};