@yamlresume/core 0.5.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -7
- package/dist/index.d.ts +176 -1154
- package/dist/index.js +68 -68
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/magic-string.es-PGO5ZCT3.js +0 -14
- package/dist/magic-string.es-PGO5ZCT3.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
var y="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",L=new Uint8Array(64),N=new Uint8Array(128);for(let l=0;l<y.length;l++){let t=y.charCodeAt(l);L[l]=t,N[t]=l;}function d(l,t,e){let n=t-e;n=n<0?-n<<1|1:n<<1;do{let i=n&31;n>>>=5,n>0&&(i|=32),l.write(L[i]);}while(n>0);return t}var E=1024*16,v=typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u"?{decode(l){return Buffer.from(l.buffer,l.byteOffset,l.byteLength).toString()}}:{decode(l){let t="";for(let e=0;e<l.length;e++)t+=String.fromCharCode(l[e]);return t}},S=class{constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(E);}write(t){let{buffer:e}=this;e[this.pos++]=t,this.pos===E&&(this.out+=v.decode(e),this.pos=0);}flush(){let{buffer:t,out:e,pos:n}=this;return n>0?e+v.decode(t.subarray(0,n)):e}};function k(l){let t=new S,e=0,n=0,i=0,r=0;for(let s=0;s<l.length;s++){let h=l[s];if(s>0&&t.write(59),h.length===0)continue;let o=0;for(let u=0;u<h.length;u++){let a=h[u];u>0&&t.write(44),o=d(t,a[0],o),a.length!==1&&(e=d(t,a[1],e),n=d(t,a[2],n),i=d(t,a[3],i),a.length!==4&&(r=d(t,a[4],r)));}}return t.flush()}var p=class l{constructor(t){this.bits=t instanceof l?t.bits.slice():[];}add(t){this.bits[t>>5]|=1<<(t&31);}has(t){return !!(this.bits[t>>5]&1<<(t&31))}},m=class l{constructor(t,e,n){this.start=t,this.end=e,this.original=n,this.intro="",this.outro="",this.content=n,this.storeName=false,this.edited=false,this.previous=null,this.next=null;}appendLeft(t){this.outro+=t;}appendRight(t){this.intro=this.intro+t;}clone(){let t=new l(this.start,this.end,this.original);return t.intro=this.intro,t.outro=this.outro,t.content=this.content,t.storeName=this.storeName,t.edited=this.edited,t}contains(t){return this.start<t&&t<this.end}eachNext(t){let e=this;for(;e;)t(e),e=e.next;}eachPrevious(t){let e=this;for(;e;)t(e),e=e.previous;}edit(t,e,n){return this.content=t,n||(this.intro="",this.outro=""),this.storeName=e,this.edited=true,this}prependLeft(t){this.outro=t+this.outro;}prependRight(t){this.intro=t+this.intro;}reset(){this.intro="",this.outro="",this.edited&&(this.content=this.original,this.storeName=false,this.edited=false);}split(t){let e=t-this.start,n=this.original.slice(0,e),i=this.original.slice(e);this.original=n;let r=new l(t,this.end,i);return r.outro=this.outro,this.outro="",this.end=t,this.edited?(r.edit("",false),this.content=""):this.content=n,r.next=this.next,r.next&&(r.next.previous=r),r.previous=this,this.next=r,r}toString(){return this.intro+this.content+this.outro}trimEnd(t){if(this.outro=this.outro.replace(t,""),this.outro.length)return true;let e=this.content.replace(t,"");if(e.length)return e!==this.content&&(this.split(this.start+e.length).edit("",void 0,true),this.edited&&this.edit(e,this.storeName,true)),true;if(this.edit("",void 0,true),this.intro=this.intro.replace(t,""),this.intro.length)return true}trimStart(t){if(this.intro=this.intro.replace(t,""),this.intro.length)return true;let e=this.content.replace(t,"");if(e.length){if(e!==this.content){let n=this.split(this.end-e.length);this.edited&&n.edit(e,this.storeName,true),this.edit("",void 0,true);}return true}else if(this.edit("",void 0,true),this.outro=this.outro.replace(t,""),this.outro.length)return true}};function A(){return typeof globalThis<"u"&&typeof globalThis.btoa=="function"?l=>globalThis.btoa(unescape(encodeURIComponent(l))):typeof Buffer=="function"?l=>Buffer.from(l,"utf-8").toString("base64"):()=>{throw new Error("Unsupported environment: `window.btoa` or `Buffer` should be supported.")}}var j=A(),w=class{constructor(t){this.version=3,this.file=t.file,this.sources=t.sources,this.sourcesContent=t.sourcesContent,this.names=t.names,this.mappings=k(t.mappings),typeof t.x_google_ignoreList<"u"&&(this.x_google_ignoreList=t.x_google_ignoreList),typeof t.debugId<"u"&&(this.debugId=t.debugId);}toString(){return JSON.stringify(this)}toUrl(){return "data:application/json;charset=utf-8;base64,"+j(this.toString())}};function $(l){let t=l.split(`
|
|
2
|
-
`),e=t.filter(r=>/^\t+/.test(r)),n=t.filter(r=>/^ {2,}/.test(r));if(e.length===0&&n.length===0)return null;if(e.length>=n.length)return " ";let i=n.reduce((r,s)=>{let h=/^ +/.exec(s)[0].length;return Math.min(h,r)},1/0);return new Array(i+1).join(" ")}function O(l,t){let e=l.split(/[/\\]/),n=t.split(/[/\\]/);for(e.pop();e[0]===n[0];)e.shift(),n.shift();if(e.length){let i=e.length;for(;i--;)e[i]="..";}return e.concat(n).join("/")}var q=Object.prototype.toString;function _(l){return q.call(l)==="[object Object]"}function x(l){let t=l.split(`
|
|
3
|
-
`),e=[];for(let n=0,i=0;n<t.length;n++)e.push(i),i+=t[n].length+1;return function(i){let r=0,s=e.length;for(;r<s;){let u=r+s>>1;i<e[u]?s=u:r=u+1;}let h=r-1,o=i-e[h];return {line:h,column:o}}}var T=/\w/,b=class{constructor(t){this.hires=t,this.generatedCodeLine=0,this.generatedCodeColumn=0,this.raw=[],this.rawSegments=this.raw[this.generatedCodeLine]=[],this.pending=null;}addEdit(t,e,n,i){if(e.length){let r=e.length-1,s=e.indexOf(`
|
|
4
|
-
`,0),h=-1;for(;s>=0&&r>s;){let u=[this.generatedCodeColumn,t,n.line,n.column];i>=0&&u.push(i),this.rawSegments.push(u),this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,h=s,s=e.indexOf(`
|
|
5
|
-
`,s+1);}let o=[this.generatedCodeColumn,t,n.line,n.column];i>=0&&o.push(i),this.rawSegments.push(o),this.advance(e.slice(h+1));}else this.pending&&(this.rawSegments.push(this.pending),this.advance(e));this.pending=null;}addUneditedChunk(t,e,n,i,r){let s=e.start,h=true,o=false;for(;s<e.end;){if(n[s]===`
|
|
6
|
-
`)i.line+=1,i.column=0,this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,h=true,o=false;else {if(this.hires||h||r.has(s)){let u=[this.generatedCodeColumn,t,i.line,i.column];this.hires==="boundary"?T.test(n[s])?o||(this.rawSegments.push(u),o=true):(this.rawSegments.push(u),o=false):this.rawSegments.push(u);}i.column+=1,this.generatedCodeColumn+=1,h=false;}s+=1;}this.pending=null;}advance(t){if(!t)return;let e=t.split(`
|
|
7
|
-
`);if(e.length>1){for(let n=0;n<e.length-1;n++)this.generatedCodeLine++,this.raw[this.generatedCodeLine]=this.rawSegments=[];this.generatedCodeColumn=0;}this.generatedCodeColumn+=e[e.length-1].length;}},g=`
|
|
8
|
-
`,f={insertLeft:false,insertRight:false,storeName:false},C=class l{constructor(t,e={}){let n=new m(0,t.length,t);Object.defineProperties(this,{original:{writable:true,value:t},outro:{writable:true,value:""},intro:{writable:true,value:""},firstChunk:{writable:true,value:n},lastChunk:{writable:true,value:n},lastSearchedChunk:{writable:true,value:n},byStart:{writable:true,value:{}},byEnd:{writable:true,value:{}},filename:{writable:true,value:e.filename},indentExclusionRanges:{writable:true,value:e.indentExclusionRanges},sourcemapLocations:{writable:true,value:new p},storedNames:{writable:true,value:{}},indentStr:{writable:true,value:void 0},ignoreList:{writable:true,value:e.ignoreList},offset:{writable:true,value:e.offset||0}}),this.byStart[0]=n,this.byEnd[t.length]=n;}addSourcemapLocation(t){this.sourcemapLocations.add(t);}append(t){if(typeof t!="string")throw new TypeError("outro content must be a string");return this.outro+=t,this}appendLeft(t,e){if(t=t+this.offset,typeof e!="string")throw new TypeError("inserted content must be a string");this._split(t);let n=this.byEnd[t];return n?n.appendLeft(e):this.intro+=e,this}appendRight(t,e){if(t=t+this.offset,typeof e!="string")throw new TypeError("inserted content must be a string");this._split(t);let n=this.byStart[t];return n?n.appendRight(e):this.outro+=e,this}clone(){let t=new l(this.original,{filename:this.filename,offset:this.offset}),e=this.firstChunk,n=t.firstChunk=t.lastSearchedChunk=e.clone();for(;e;){t.byStart[n.start]=n,t.byEnd[n.end]=n;let i=e.next,r=i&&i.clone();r&&(n.next=r,r.previous=n,n=r),e=i;}return t.lastChunk=n,this.indentExclusionRanges&&(t.indentExclusionRanges=this.indentExclusionRanges.slice()),t.sourcemapLocations=new p(this.sourcemapLocations),t.intro=this.intro,t.outro=this.outro,t}generateDecodedMap(t){t=t||{};let e=0,n=Object.keys(this.storedNames),i=new b(t.hires),r=x(this.original);return this.intro&&i.advance(this.intro),this.firstChunk.eachNext(s=>{let h=r(s.start);s.intro.length&&i.advance(s.intro),s.edited?i.addEdit(e,s.content,h,s.storeName?n.indexOf(s.original):-1):i.addUneditedChunk(e,s,this.original,h,this.sourcemapLocations),s.outro.length&&i.advance(s.outro);}),{file:t.file?t.file.split(/[/\\]/).pop():void 0,sources:[t.source?O(t.file||"",t.source):t.file||""],sourcesContent:t.includeContent?[this.original]:void 0,names:n,mappings:i.raw,x_google_ignoreList:this.ignoreList?[e]:void 0}}generateMap(t){return new w(this.generateDecodedMap(t))}_ensureindentStr(){this.indentStr===void 0&&(this.indentStr=$(this.original));}_getRawIndentString(){return this._ensureindentStr(),this.indentStr}getIndentString(){return this._ensureindentStr(),this.indentStr===null?" ":this.indentStr}indent(t,e){let n=/^[^\r\n]/gm;if(_(t)&&(e=t,t=void 0),t===void 0&&(this._ensureindentStr(),t=this.indentStr||" "),t==="")return this;e=e||{};let i={};e.exclude&&(typeof e.exclude[0]=="number"?[e.exclude]:e.exclude).forEach(a=>{for(let c=a[0];c<a[1];c+=1)i[c]=true;});let r=e.indentStart!==false,s=u=>r?`${t}${u}`:(r=true,u);this.intro=this.intro.replace(n,s);let h=0,o=this.firstChunk;for(;o;){let u=o.end;if(o.edited)i[h]||(o.content=o.content.replace(n,s),o.content.length&&(r=o.content[o.content.length-1]===`
|
|
9
|
-
`));else for(h=o.start;h<u;){if(!i[h]){let a=this.original[h];a===`
|
|
10
|
-
`?r=true:a!=="\r"&&r&&(r=false,h===o.start||(this._splitChunk(o,h),o=o.next),o.prependRight(t));}h+=1;}h=o.end,o=o.next;}return this.outro=this.outro.replace(n,s),this}insert(){throw new Error("magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)")}insertLeft(t,e){return f.insertLeft||(console.warn("magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead"),f.insertLeft=true),this.appendLeft(t,e)}insertRight(t,e){return f.insertRight||(console.warn("magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead"),f.insertRight=true),this.prependRight(t,e)}move(t,e,n){if(t=t+this.offset,e=e+this.offset,n=n+this.offset,n>=t&&n<=e)throw new Error("Cannot move a selection inside itself");this._split(t),this._split(e),this._split(n);let i=this.byStart[t],r=this.byEnd[e],s=i.previous,h=r.next,o=this.byStart[n];if(!o&&r===this.lastChunk)return this;let u=o?o.previous:this.lastChunk;return s&&(s.next=h),h&&(h.previous=s),u&&(u.next=i),o&&(o.previous=r),i.previous||(this.firstChunk=r.next),r.next||(this.lastChunk=i.previous,this.lastChunk.next=null),i.previous=u,r.next=o||null,u||(this.firstChunk=i),o||(this.lastChunk=r),this}overwrite(t,e,n,i){return i=i||{},this.update(t,e,n,{...i,overwrite:!i.contentOnly})}update(t,e,n,i){if(t=t+this.offset,e=e+this.offset,typeof n!="string")throw new TypeError("replacement content must be a string");if(this.original.length!==0){for(;t<0;)t+=this.original.length;for(;e<0;)e+=this.original.length;}if(e>this.original.length)throw new Error("end is out of bounds");if(t===e)throw new Error("Cannot overwrite a zero-length range \u2013 use appendLeft or prependRight instead");this._split(t),this._split(e),i===true&&(f.storeName||(console.warn("The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string"),f.storeName=true),i={storeName:true});let r=i!==void 0?i.storeName:false,s=i!==void 0?i.overwrite:false;if(r){let u=this.original.slice(t,e);Object.defineProperty(this.storedNames,u,{writable:true,value:true,enumerable:true});}let h=this.byStart[t],o=this.byEnd[e];if(h){let u=h;for(;u!==o;){if(u.next!==this.byStart[u.end])throw new Error("Cannot overwrite across a split point");u=u.next,u.edit("",false);}h.edit(n,r,!s);}else {let u=new m(t,e,"").edit(n,r);o.next=u,u.previous=o;}return this}prepend(t){if(typeof t!="string")throw new TypeError("outro content must be a string");return this.intro=t+this.intro,this}prependLeft(t,e){if(t=t+this.offset,typeof e!="string")throw new TypeError("inserted content must be a string");this._split(t);let n=this.byEnd[t];return n?n.prependLeft(e):this.intro=e+this.intro,this}prependRight(t,e){if(t=t+this.offset,typeof e!="string")throw new TypeError("inserted content must be a string");this._split(t);let n=this.byStart[t];return n?n.prependRight(e):this.outro=e+this.outro,this}remove(t,e){if(t=t+this.offset,e=e+this.offset,this.original.length!==0){for(;t<0;)t+=this.original.length;for(;e<0;)e+=this.original.length;}if(t===e)return this;if(t<0||e>this.original.length)throw new Error("Character is out of bounds");if(t>e)throw new Error("end must be greater than start");this._split(t),this._split(e);let n=this.byStart[t];for(;n;)n.intro="",n.outro="",n.edit(""),n=e>n.end?this.byStart[n.end]:null;return this}reset(t,e){if(t=t+this.offset,e=e+this.offset,this.original.length!==0){for(;t<0;)t+=this.original.length;for(;e<0;)e+=this.original.length;}if(t===e)return this;if(t<0||e>this.original.length)throw new Error("Character is out of bounds");if(t>e)throw new Error("end must be greater than start");this._split(t),this._split(e);let n=this.byStart[t];for(;n;)n.reset(),n=e>n.end?this.byStart[n.end]:null;return this}lastChar(){if(this.outro.length)return this.outro[this.outro.length-1];let t=this.lastChunk;do{if(t.outro.length)return t.outro[t.outro.length-1];if(t.content.length)return t.content[t.content.length-1];if(t.intro.length)return t.intro[t.intro.length-1]}while(t=t.previous);return this.intro.length?this.intro[this.intro.length-1]:""}lastLine(){let t=this.outro.lastIndexOf(g);if(t!==-1)return this.outro.substr(t+1);let e=this.outro,n=this.lastChunk;do{if(n.outro.length>0){if(t=n.outro.lastIndexOf(g),t!==-1)return n.outro.substr(t+1)+e;e=n.outro+e;}if(n.content.length>0){if(t=n.content.lastIndexOf(g),t!==-1)return n.content.substr(t+1)+e;e=n.content+e;}if(n.intro.length>0){if(t=n.intro.lastIndexOf(g),t!==-1)return n.intro.substr(t+1)+e;e=n.intro+e;}}while(n=n.previous);return t=this.intro.lastIndexOf(g),t!==-1?this.intro.substr(t+1)+e:this.intro+e}slice(t=0,e=this.original.length-this.offset){if(t=t+this.offset,e=e+this.offset,this.original.length!==0){for(;t<0;)t+=this.original.length;for(;e<0;)e+=this.original.length;}let n="",i=this.firstChunk;for(;i&&(i.start>t||i.end<=t);){if(i.start<e&&i.end>=e)return n;i=i.next;}if(i&&i.edited&&i.start!==t)throw new Error(`Cannot use replaced character ${t} as slice start anchor.`);let r=i;for(;i;){i.intro&&(r!==i||i.start===t)&&(n+=i.intro);let s=i.start<e&&i.end>=e;if(s&&i.edited&&i.end!==e)throw new Error(`Cannot use replaced character ${e} as slice end anchor.`);let h=r===i?t-i.start:0,o=s?i.content.length+e-i.end:i.content.length;if(n+=i.content.slice(h,o),i.outro&&(!s||i.end===e)&&(n+=i.outro),s)break;i=i.next;}return n}snip(t,e){let n=this.clone();return n.remove(0,t),n.remove(e,n.original.length),n}_split(t){if(this.byStart[t]||this.byEnd[t])return;let e=this.lastSearchedChunk,n=t>e.end;for(;e;){if(e.contains(t))return this._splitChunk(e,t);e=n?this.byStart[e.end]:this.byEnd[e.start];}}_splitChunk(t,e){if(t.edited&&t.content.length){let i=x(this.original)(e);throw new Error(`Cannot split a chunk that has already been edited (${i.line}:${i.column} \u2013 "${t.original}")`)}let n=t.split(e);return this.byEnd[e]=t,this.byStart[e]=n,this.byEnd[n.end]=n,t===this.lastChunk&&(this.lastChunk=n),this.lastSearchedChunk=t,true}toString(){let t=this.intro,e=this.firstChunk;for(;e;)t+=e.toString(),e=e.next;return t+this.outro}isEmpty(){let t=this.firstChunk;do if(t.intro.length&&t.intro.trim()||t.content.length&&t.content.trim()||t.outro.length&&t.outro.trim())return false;while(t=t.next);return true}length(){let t=this.firstChunk,e=0;do e+=t.intro.length+t.content.length+t.outro.length;while(t=t.next);return e}trimLines(){return this.trim("[\\r\\n]")}trim(t){return this.trimStart(t).trimEnd(t)}trimEndAborted(t){let e=new RegExp((t||"\\s")+"+$");if(this.outro=this.outro.replace(e,""),this.outro.length)return true;let n=this.lastChunk;do{let i=n.end,r=n.trimEnd(e);if(n.end!==i&&(this.lastChunk===n&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),r)return true;n=n.previous;}while(n);return false}trimEnd(t){return this.trimEndAborted(t),this}trimStartAborted(t){let e=new RegExp("^"+(t||"\\s")+"+");if(this.intro=this.intro.replace(e,""),this.intro.length)return true;let n=this.firstChunk;do{let i=n.end,r=n.trimStart(e);if(n.end!==i&&(n===this.lastChunk&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),r)return true;n=n.next;}while(n);return false}trimStart(t){return this.trimStartAborted(t),this}hasChanged(){return this.original!==this.toString()}_replaceRegexp(t,e){function n(r,s){return typeof e=="string"?e.replace(/\$(\$|&|\d+)/g,(h,o)=>o==="$"?"$":o==="&"?r[0]:+o<r.length?r[+o]:`$${o}`):e(...r,r.index,s,r.groups)}function i(r,s){let h,o=[];for(;h=r.exec(s);)o.push(h);return o}if(t.global)i(t,this.original).forEach(s=>{if(s.index!=null){let h=n(s,this.original);h!==s[0]&&this.overwrite(s.index,s.index+s[0].length,h);}});else {let r=this.original.match(t);if(r&&r.index!=null){let s=n(r,this.original);s!==r[0]&&this.overwrite(r.index,r.index+r[0].length,s);}}return this}_replaceString(t,e){let{original:n}=this,i=n.indexOf(t);return i!==-1&&this.overwrite(i,i+t.length,e),this}replace(t,e){return typeof t=="string"?this._replaceString(t,e):this._replaceRegexp(t,e)}_replaceAllString(t,e){let{original:n}=this,i=t.length;for(let r=n.indexOf(t);r!==-1;r=n.indexOf(t,r+i))n.slice(r,r+i)!==e&&this.overwrite(r,r+i,e);return this}replaceAll(t,e){if(typeof t=="string")return this._replaceAllString(t,e);if(!t.global)throw new TypeError("MagicString.prototype.replaceAll called with a non-global RegExp argument");return this._replaceRegexp(t,e)}},R=Object.prototype.hasOwnProperty,I=class l{constructor(t={}){this.intro=t.intro||"",this.separator=t.separator!==void 0?t.separator:`
|
|
11
|
-
`,this.sources=[],this.uniqueSources=[],this.uniqueSourceIndexByFilename={};}addSource(t){if(t instanceof C)return this.addSource({content:t,filename:t.filename,separator:this.separator});if(!_(t)||!t.content)throw new Error("bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`");if(["filename","ignoreList","indentExclusionRanges","separator"].forEach(e=>{R.call(t,e)||(t[e]=t.content[e]);}),t.separator===void 0&&(t.separator=this.separator),t.filename)if(!R.call(this.uniqueSourceIndexByFilename,t.filename))this.uniqueSourceIndexByFilename[t.filename]=this.uniqueSources.length,this.uniqueSources.push({filename:t.filename,content:t.content.original});else {let e=this.uniqueSources[this.uniqueSourceIndexByFilename[t.filename]];if(t.content.original!==e.content)throw new Error(`Illegal source: same filename (${t.filename}), different contents`)}return this.sources.push(t),this}append(t,e){return this.addSource({content:new C(t),separator:e&&e.separator||""}),this}clone(){let t=new l({intro:this.intro,separator:this.separator});return this.sources.forEach(e=>{t.addSource({filename:e.filename,content:e.content.clone(),separator:e.separator});}),t}generateDecodedMap(t={}){let e=[],n;this.sources.forEach(r=>{Object.keys(r.content.storedNames).forEach(s=>{~e.indexOf(s)||e.push(s);});});let i=new b(t.hires);return this.intro&&i.advance(this.intro),this.sources.forEach((r,s)=>{s>0&&i.advance(this.separator);let h=r.filename?this.uniqueSourceIndexByFilename[r.filename]:-1,o=r.content,u=x(o.original);o.intro&&i.advance(o.intro),o.firstChunk.eachNext(a=>{let c=u(a.start);a.intro.length&&i.advance(a.intro),r.filename?a.edited?i.addEdit(h,a.content,c,a.storeName?e.indexOf(a.original):-1):i.addUneditedChunk(h,a,o.original,c,o.sourcemapLocations):i.advance(a.content),a.outro.length&&i.advance(a.outro);}),o.outro&&i.advance(o.outro),r.ignoreList&&h!==-1&&(n===void 0&&(n=[]),n.push(h));}),{file:t.file?t.file.split(/[/\\]/).pop():void 0,sources:this.uniqueSources.map(r=>t.file?O(t.file,r.filename):r.filename),sourcesContent:this.uniqueSources.map(r=>t.includeContent?r.content:null),names:e,mappings:i.raw,x_google_ignoreList:n}}generateMap(t){return new w(this.generateDecodedMap(t))}getIndentString(){let t={};return this.sources.forEach(e=>{let n=e.content._getRawIndentString();n!==null&&(t[n]||(t[n]=0),t[n]+=1);}),Object.keys(t).sort((e,n)=>t[e]-t[n])[0]||" "}indent(t){if(arguments.length||(t=this.getIndentString()),t==="")return this;let e=!this.intro||this.intro.slice(-1)===`
|
|
12
|
-
`;return this.sources.forEach((n,i)=>{let r=n.separator!==void 0?n.separator:this.separator,s=e||i>0&&/\r?\n$/.test(r);n.content.indent(t,{exclude:n.indentExclusionRanges,indentStart:s}),e=n.content.lastChar()===`
|
|
13
|
-
`;}),this.intro&&(this.intro=t+this.intro.replace(/^[^\n]/gm,(n,i)=>i>0?t+n:n)),this}prepend(t){return this.intro=t+this.intro,this}toString(){let t=this.sources.map((e,n)=>{let i=e.separator!==void 0?e.separator:this.separator;return (n>0?i:"")+e.content.toString()}).join("");return this.intro+t}isEmpty(){return !(this.intro.length&&this.intro.trim()||this.sources.some(t=>!t.content.isEmpty()))}length(){return this.sources.reduce((t,e)=>t+e.content.length(),this.intro.length)}trimLines(){return this.trim("[\\r\\n]")}trim(t){return this.trimStart(t).trimEnd(t)}trimStart(t){let e=new RegExp("^"+(t||"\\s")+"+");if(this.intro=this.intro.replace(e,""),!this.intro){let n,i=0;do if(n=this.sources[i++],!n)break;while(!n.content.trimStartAborted(t))}return this}trimEnd(t){let e=new RegExp((t||"\\s")+"+$"),n,i=this.sources.length-1;do if(n=this.sources[i--],!n){this.intro=this.intro.replace(e,"");break}while(!n.content.trimEndAborted(t));return this}};export{I as Bundle,w as SourceMap,C as default};//# sourceMappingURL=magic-string.es-PGO5ZCT3.js.map
|
|
14
|
-
//# sourceMappingURL=magic-string.es-PGO5ZCT3.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.0/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts","../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.0/node_modules/@jridgewell/sourcemap-codec/src/strings.ts","../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.0/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/BitSet.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/Chunk.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/SourceMap.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/guessIndent.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/getRelativePath.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/isObject.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/getLocator.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/utils/Mappings.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/MagicString.js","../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/src/Bundle.js"],"names":["chars","intToChar","charToInt","i","c","encodeInteger","builder","num","relative","delta","clamped","bufLength","td","buf","out","StringWriter","v","buffer","pos","encode","decoded","writer","sourcesIndex","sourceLine","sourceColumn","namesIndex","line","genColumn","j","segment","BitSet","_BitSet","arg","n","Chunk","_Chunk","start","end","content","chunk","index","fn","storeName","contentOnly","sliceIndex","originalBefore","originalAfter","newChunk","rx","trimmed","getBtoa","str","btoa","SourceMap","properties","guessIndent","code","lines","tabbed","spaced","min","previous","current","numSpaces","getRelativePath","from","to","fromParts","toParts","toString","isObject","thing","getLocator","source","originalLines","lineOffsets","m","column","wordRegex","Mappings","hires","sourceIndex","loc","nameIndex","contentLengthMinusOne","contentLineEnd","previousContentLineEnd","original","sourcemapLocations","originalCharIndex","first","charInHiresBoundary","warned","MagicString","_MagicString","string","options","char","cloned","originalChunk","clonedChunk","nextOriginalChunk","nextClonedChunk","names","mappings","locate","indentStr","pattern","isExcluded","exclusion","shouldIndentNextCharacter","replacer","match","charIndex","last","oldLeft","oldRight","newRight","newLeft","overwrite","lineIndex","lineStr","result","startChunk","containsEnd","sliceStart","sliceEnd","clone","searchForward","length","charType","aborted","searchValue","replacement","getReplacement","_","matchAll","re","matches","stringLength","hasOwnProp","Bundle","_Bundle","option","uniqueSource","bundle","x_google_ignoreList","name","magicString","indentStringCounts","a","b","trailingNewline","separator","indentStart","body"],"mappings":"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","file":"magic-string.es-PGO5ZCT3.js","sourcesContent":["import type { StringReader, StringWriter } from './strings';\n\nexport const comma = ','.charCodeAt(0);\nexport const semicolon = ';'.charCodeAt(0);\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst intToChar = new Uint8Array(64); // 64 possible chars.\nconst charToInt = new Uint8Array(128); // z is 122 in ASCII\n\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\n\nexport function decodeInteger(reader: StringReader, relative: number): number {\n let value = 0;\n let shift = 0;\n let integer = 0;\n\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n\n const shouldNegate = value & 1;\n value >>>= 1;\n\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n\n return relative + value;\n}\n\nexport function encodeInteger(builder: StringWriter, num: number, relative: number): number {\n let delta = num - relative;\n\n delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;\n do {\n let clamped = delta & 0b011111;\n delta >>>= 5;\n if (delta > 0) clamped |= 0b100000;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n\n return num;\n}\n\nexport function hasMoreVlq(reader: StringReader, max: number) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n","const bufLength = 1024 * 16;\n\n// Provide a fallback for older environments.\nconst td =\n typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf: Uint8Array): string {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf: Uint8Array): string {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n\nexport class StringWriter {\n pos = 0;\n private out = '';\n private buffer = new Uint8Array(bufLength);\n\n write(v: number): void {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n\n flush(): string {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n}\n\nexport class StringReader {\n pos = 0;\n private declare buffer: string;\n\n constructor(buffer: string) {\n this.buffer = buffer;\n }\n\n next(): number {\n return this.buffer.charCodeAt(this.pos++);\n }\n\n peek(): number {\n return this.buffer.charCodeAt(this.pos);\n }\n\n indexOf(char: string): number {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n}\n","import { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';\nimport { StringWriter, StringReader } from './strings';\n\nexport {\n decodeOriginalScopes,\n encodeOriginalScopes,\n decodeGeneratedRanges,\n encodeGeneratedRanges,\n} from './scopes';\nexport type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes';\n\nexport type SourceMapSegment =\n | [number]\n | [number, number, number, number]\n | [number, number, number, number, number];\nexport type SourceMapLine = SourceMapSegment[];\nexport type SourceMapMappings = SourceMapLine[];\n\nexport function decode(mappings: string): SourceMapMappings {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded: SourceMapMappings = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n do {\n const semi = reader.indexOf(';');\n const line: SourceMapLine = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n\n while (reader.pos < semi) {\n let seg: SourceMapSegment;\n\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n\n line.push(seg);\n reader.pos++;\n }\n\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n\n return decoded;\n}\n\nfunction sort(line: SourceMapSegment[]) {\n line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[0] - b[0];\n}\n\nexport function encode(decoded: SourceMapMappings): string;\nexport function encode(decoded: Readonly<SourceMapMappings>): string;\nexport function encode(decoded: Readonly<SourceMapMappings>): string {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n\n let genColumn = 0;\n\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n\n genColumn = encodeInteger(writer, segment[0], genColumn);\n\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n\n return writer.flush();\n}\n","export default class BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n","export default class Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\tif (DEBUG) {\n\t\t\t// we make these non-enumerable, for sanity while debugging\n\t\t\tObject.defineProperties(this, {\n\t\t\t\tprevious: { writable: true, value: null },\n\t\t\t\tnext: { writable: true, value: null },\n\t\t\t});\n\t\t} else {\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n","import { encode } from '@jridgewell/sourcemap-codec';\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nexport default class SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n","export default function guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n","export default function getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n","const toString = Object.prototype.toString;\n\nexport default function isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n","export default function getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n","const wordRegex = /\\w/;\n\nexport default class Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n","import BitSet from './BitSet.js';\nimport Chunk from './Chunk.js';\nimport SourceMap from './SourceMap.js';\nimport guessIndent from './utils/guessIndent.js';\nimport getRelativePath from './utils/getRelativePath.js';\nimport isObject from './utils/isObject.js';\nimport getLocator from './utils/getLocator.js';\nimport Mappings from './utils/Mappings.js';\nimport Stats from './utils/Stats.js';\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nexport default class MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tif (DEBUG) {\n\t\t\tObject.defineProperty(this, 'stats', { value: new Stats() });\n\t\t}\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('appendLeft');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('appendLeft');\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('appendRight');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('appendRight');\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tif (DEBUG) this.stats.time('move');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\n\t\tif (DEBUG) this.stats.timeEnd('move');\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tif (DEBUG) this.stats.time('overwrite');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('overwrite');\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('insertRight');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('insertRight');\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('insertRight');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('insertRight');\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tif (DEBUG) this.stats.time('remove');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('remove');\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tif (DEBUG) this.stats.time('reset');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('reset');\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tif (DEBUG) this.stats.time('_split');\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\tif (DEBUG) this.stats.timeEnd('_split');\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tif (previous !== replacement) this.overwrite(index, index + stringLength, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n","import MagicString from './MagicString.js';\nimport SourceMap from './SourceMap.js';\nimport getRelativePath from './utils/getRelativePath.js';\nimport isObject from './utils/isObject.js';\nimport getLocator from './utils/getLocator.js';\nimport Mappings from './utils/Mappings.js';\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nexport default class Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n"]}
|