@blitznocode/blitz-orm 0.12.5 → 0.12.6
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/dist/index.d.mts +12 -8
- package/dist/index.mjs +63 -63
- package/dist/index.mjs.map +1 -1
- package/dist/magic-string.es-P5U3U4RG.mjs +17 -0
- package/dist/magic-string.es-P5U3U4RG.mjs.map +1 -0
- package/package.json +2 -2
- package/readme.md +1 -1
- package/dist/magic-string.es-Y46ICLQT.mjs +0 -17
- package/dist/magic-string.es-Y46ICLQT.mjs.map +0 -1
|
@@ -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.11/node_modules/magic-string/src/BitSet.js","../node_modules/.pnpm/magic-string@0.30.11/node_modules/magic-string/src/Chunk.js","../node_modules/.pnpm/magic-string@0.30.11/node_modules/magic-string/src/SourceMap.js","../node_modules/.pnpm/magic-string@0.30.11/node_modules/magic-string/src/utils/guessIndent.js","../node_modules/.pnpm/magic-string@0.30.11/node_modules/magic-string/src/utils/getRelativePath.js","../node_modules/.pnpm/magic-string@0.30.11/node_modules/magic-string/src/utils/isObject.js","../node_modules/.pnpm/magic-string@0.30.11/node_modules/magic-string/src/utils/getLocator.js","../node_modules/.pnpm/magic-string@0.30.11/node_modules/magic-string/src/utils/Mappings.js","../node_modules/.pnpm/magic-string@0.30.11/node_modules/magic-string/src/MagicString.js","../node_modules/.pnpm/magic-string@0.30.11/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-Y46ICLQT.mjs","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}\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 (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\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\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t}\n\t\t\t}\n\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} else {\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});\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\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\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 });\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); // eslint-disable-line no-console\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); // eslint-disable-line no-console\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\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\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); // eslint-disable-line no-console\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\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\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\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\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) {\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(\n\t\t\t\t\t\t\tmatch.index,\n\t\t\t\t\t\t\tmatch.index + match[0].length,\n\t\t\t\t\t\t\treplacement\n\t\t\t\t\t\t);\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(\n\t\t\t\t\t\tmatch.index,\n\t\t\t\t\t\tmatch.index + match[0].length,\n\t\t\t\t\t\treplacement\n\t\t\t\t\t);\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)\n\t\t\t\tthis.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"]}
|