sourav-das/stem-separator
3
1(function (global, factory) {2 if (typeof exports === 'object' && typeof module !== 'undefined') {3 factory(module);4 module.exports = def(module);5 } else if (typeof define === 'function' && define.amd) {6 define(['module'], function(mod) {7 factory.apply(this, arguments);8 mod.exports = def(mod);9 });10 } else {11 const mod = { exports: {} };12 factory(mod);13 global = typeof globalThis !== 'undefined' ? globalThis : global || self;14 global.sourcemapCodec = def(mod);15 }16 function def(m) { return 'default' in m.exports ? m.exports.default : m.exports; }17})(this, (function (module) {18"use strict";19var __defProp = Object.defineProperty;20var __getOwnPropDesc = Object.getOwnPropertyDescriptor;21var __getOwnPropNames = Object.getOwnPropertyNames;22var __hasOwnProp = Object.prototype.hasOwnProperty;23var __export = (target, all) => {24 for (var name in all)25 __defProp(target, name, { get: all[name], enumerable: true });26};27var __copyProps = (to, from, except, desc) => {28 if (from && typeof from === "object" || typeof from === "function") {29 for (let key of __getOwnPropNames(from))30 if (!__hasOwnProp.call(to, key) && key !== except)31 __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });32 }33 return to;34};35var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);36 37// src/sourcemap-codec.ts38var sourcemap_codec_exports = {};39__export(sourcemap_codec_exports, {40 decode: () => decode,41 decodeGeneratedRanges: () => decodeGeneratedRanges,42 decodeOriginalScopes: () => decodeOriginalScopes,43 encode: () => encode,44 encodeGeneratedRanges: () => encodeGeneratedRanges,45 encodeOriginalScopes: () => encodeOriginalScopes46});47module.exports = __toCommonJS(sourcemap_codec_exports);48 49// src/vlq.ts50var comma = ",".charCodeAt(0);51var semicolon = ";".charCodeAt(0);52var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";53var intToChar = new Uint8Array(64);54var charToInt = new Uint8Array(128);55for (let i = 0; i < chars.length; i++) {56 const c = chars.charCodeAt(i);57 intToChar[i] = c;58 charToInt[c] = i;59}60function decodeInteger(reader, relative) {61 let value = 0;62 let shift = 0;63 let integer = 0;64 do {65 const c = reader.next();66 integer = charToInt[c];67 value |= (integer & 31) << shift;68 shift += 5;69 } while (integer & 32);70 const shouldNegate = value & 1;71 value >>>= 1;72 if (shouldNegate) {73 value = -2147483648 | -value;74 }75 return relative + value;76}77function encodeInteger(builder, num, relative) {78 let delta = num - relative;79 delta = delta < 0 ? -delta << 1 | 1 : delta << 1;80 do {81 let clamped = delta & 31;82 delta >>>= 5;83 if (delta > 0) clamped |= 32;84 builder.write(intToChar[clamped]);85 } while (delta > 0);86 return num;87}88function hasMoreVlq(reader, max) {89 if (reader.pos >= max) return false;90 return reader.peek() !== comma;91}92 93// src/strings.ts94var bufLength = 1024 * 16;95var td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== "undefined" ? {96 decode(buf) {97 const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);98 return out.toString();99 }100} : {101 decode(buf) {102 let out = "";103 for (let i = 0; i < buf.length; i++) {104 out += String.fromCharCode(buf[i]);105 }106 return out;107 }108};109var StringWriter = class {110 constructor() {111 this.pos = 0;112 this.out = "";113 this.buffer = new Uint8Array(bufLength);114 }115 write(v) {116 const { buffer } = this;117 buffer[this.pos++] = v;118 if (this.pos === bufLength) {119 this.out += td.decode(buffer);120 this.pos = 0;121 }122 }123 flush() {124 const { buffer, out, pos } = this;125 return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;126 }127};128var StringReader = class {129 constructor(buffer) {130 this.pos = 0;131 this.buffer = buffer;132 }133 next() {134 return this.buffer.charCodeAt(this.pos++);135 }136 peek() {137 return this.buffer.charCodeAt(this.pos);138 }139 indexOf(char) {140 const { buffer, pos } = this;141 const idx = buffer.indexOf(char, pos);142 return idx === -1 ? buffer.length : idx;143 }144};145 146// src/scopes.ts147var EMPTY = [];148function decodeOriginalScopes(input) {149 const { length } = input;150 const reader = new StringReader(input);151 const scopes = [];152 const stack = [];153 let line = 0;154 for (; reader.pos < length; reader.pos++) {155 line = decodeInteger(reader, line);156 const column = decodeInteger(reader, 0);157 if (!hasMoreVlq(reader, length)) {158 const last = stack.pop();159 last[2] = line;160 last[3] = column;161 continue;162 }163 const kind = decodeInteger(reader, 0);164 const fields = decodeInteger(reader, 0);165 const hasName = fields & 1;166 const scope = hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind];167 let vars = EMPTY;168 if (hasMoreVlq(reader, length)) {169 vars = [];170 do {171 const varsIndex = decodeInteger(reader, 0);172 vars.push(varsIndex);173 } while (hasMoreVlq(reader, length));174 }175 scope.vars = vars;176 scopes.push(scope);177 stack.push(scope);178 }179 return scopes;180}181function encodeOriginalScopes(scopes) {182 const writer = new StringWriter();183 for (let i = 0; i < scopes.length; ) {184 i = _encodeOriginalScopes(scopes, i, writer, [0]);185 }186 return writer.flush();187}188function _encodeOriginalScopes(scopes, index, writer, state) {189 const scope = scopes[index];190 const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;191 if (index > 0) writer.write(comma);192 state[0] = encodeInteger(writer, startLine, state[0]);193 encodeInteger(writer, startColumn, 0);194 encodeInteger(writer, kind, 0);195 const fields = scope.length === 6 ? 1 : 0;196 encodeInteger(writer, fields, 0);197 if (scope.length === 6) encodeInteger(writer, scope[5], 0);198 for (const v of vars) {199 encodeInteger(writer, v, 0);200 }201 for (index++; index < scopes.length; ) {202 const next = scopes[index];203 const { 0: l, 1: c } = next;204 if (l > endLine || l === endLine && c >= endColumn) {205 break;206 }207 index = _encodeOriginalScopes(scopes, index, writer, state);208 }209 writer.write(comma);210 state[0] = encodeInteger(writer, endLine, state[0]);211 encodeInteger(writer, endColumn, 0);212 return index;213}214function decodeGeneratedRanges(input) {215 const { length } = input;216 const reader = new StringReader(input);217 const ranges = [];218 const stack = [];219 let genLine = 0;220 let definitionSourcesIndex = 0;221 let definitionScopeIndex = 0;222 let callsiteSourcesIndex = 0;223 let callsiteLine = 0;224 let callsiteColumn = 0;225 let bindingLine = 0;226 let bindingColumn = 0;227 do {228 const semi = reader.indexOf(";");229 let genColumn = 0;230 for (; reader.pos < semi; reader.pos++) {231 genColumn = decodeInteger(reader, genColumn);232 if (!hasMoreVlq(reader, semi)) {233 const last = stack.pop();234 last[2] = genLine;235 last[3] = genColumn;236 continue;237 }238 const fields = decodeInteger(reader, 0);239 const hasDefinition = fields & 1;240 const hasCallsite = fields & 2;241 const hasScope = fields & 4;242 let callsite = null;243 let bindings = EMPTY;244 let range;245 if (hasDefinition) {246 const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);247 definitionScopeIndex = decodeInteger(248 reader,249 definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0250 );251 definitionSourcesIndex = defSourcesIndex;252 range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];253 } else {254 range = [genLine, genColumn, 0, 0];255 }256 range.isScope = !!hasScope;257 if (hasCallsite) {258 const prevCsi = callsiteSourcesIndex;259 const prevLine = callsiteLine;260 callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);261 const sameSource = prevCsi === callsiteSourcesIndex;262 callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);263 callsiteColumn = decodeInteger(264 reader,265 sameSource && prevLine === callsiteLine ? callsiteColumn : 0266 );267 callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];268 }269 range.callsite = callsite;270 if (hasMoreVlq(reader, semi)) {271 bindings = [];272 do {273 bindingLine = genLine;274 bindingColumn = genColumn;275 const expressionsCount = decodeInteger(reader, 0);276 let expressionRanges;277 if (expressionsCount < -1) {278 expressionRanges = [[decodeInteger(reader, 0)]];279 for (let i = -1; i > expressionsCount; i--) {280 const prevBl = bindingLine;281 bindingLine = decodeInteger(reader, bindingLine);282 bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);283 const expression = decodeInteger(reader, 0);284 expressionRanges.push([expression, bindingLine, bindingColumn]);285 }286 } else {287 expressionRanges = [[expressionsCount]];288 }289 bindings.push(expressionRanges);290 } while (hasMoreVlq(reader, semi));291 }292 range.bindings = bindings;293 ranges.push(range);294 stack.push(range);295 }296 genLine++;297 reader.pos = semi + 1;298 } while (reader.pos < length);299 return ranges;300}301function encodeGeneratedRanges(ranges) {302 if (ranges.length === 0) return "";303 const writer = new StringWriter();304 for (let i = 0; i < ranges.length; ) {305 i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);306 }307 return writer.flush();308}309function _encodeGeneratedRanges(ranges, index, writer, state) {310 const range = ranges[index];311 const {312 0: startLine,313 1: startColumn,314 2: endLine,315 3: endColumn,316 isScope,317 callsite,318 bindings319 } = range;320 if (state[0] < startLine) {321 catchupLine(writer, state[0], startLine);322 state[0] = startLine;323 state[1] = 0;324 } else if (index > 0) {325 writer.write(comma);326 }327 state[1] = encodeInteger(writer, range[1], state[1]);328 const fields = (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0);329 encodeInteger(writer, fields, 0);330 if (range.length === 6) {331 const { 4: sourcesIndex, 5: scopesIndex } = range;332 if (sourcesIndex !== state[2]) {333 state[3] = 0;334 }335 state[2] = encodeInteger(writer, sourcesIndex, state[2]);336 state[3] = encodeInteger(writer, scopesIndex, state[3]);337 }338 if (callsite) {339 const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;340 if (sourcesIndex !== state[4]) {341 state[5] = 0;342 state[6] = 0;343 } else if (callLine !== state[5]) {344 state[6] = 0;345 }346 state[4] = encodeInteger(writer, sourcesIndex, state[4]);347 state[5] = encodeInteger(writer, callLine, state[5]);348 state[6] = encodeInteger(writer, callColumn, state[6]);349 }350 if (bindings) {351 for (const binding of bindings) {352 if (binding.length > 1) encodeInteger(writer, -binding.length, 0);353 const expression = binding[0][0];354 encodeInteger(writer, expression, 0);355 let bindingStartLine = startLine;356 let bindingStartColumn = startColumn;357 for (let i = 1; i < binding.length; i++) {358 const expRange = binding[i];359 bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);360 bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);361 encodeInteger(writer, expRange[0], 0);362 }363 }364 }365 for (index++; index < ranges.length; ) {366 const next = ranges[index];367 const { 0: l, 1: c } = next;368 if (l > endLine || l === endLine && c >= endColumn) {369 break;370 }371 index = _encodeGeneratedRanges(ranges, index, writer, state);372 }373 if (state[0] < endLine) {374 catchupLine(writer, state[0], endLine);375 state[0] = endLine;376 state[1] = 0;377 } else {378 writer.write(comma);379 }380 state[1] = encodeInteger(writer, endColumn, state[1]);381 return index;382}383function catchupLine(writer, lastLine, line) {384 do {385 writer.write(semicolon);386 } while (++lastLine < line);387}388 389// src/sourcemap-codec.ts390function decode(mappings) {391 const { length } = mappings;392 const reader = new StringReader(mappings);393 const decoded = [];394 let genColumn = 0;395 let sourcesIndex = 0;396 let sourceLine = 0;397 let sourceColumn = 0;398 let namesIndex = 0;399 do {400 const semi = reader.indexOf(";");401 const line = [];402 let sorted = true;403 let lastCol = 0;404 genColumn = 0;405 while (reader.pos < semi) {406 let seg;407 genColumn = decodeInteger(reader, genColumn);408 if (genColumn < lastCol) sorted = false;409 lastCol = genColumn;410 if (hasMoreVlq(reader, semi)) {411 sourcesIndex = decodeInteger(reader, sourcesIndex);412 sourceLine = decodeInteger(reader, sourceLine);413 sourceColumn = decodeInteger(reader, sourceColumn);414 if (hasMoreVlq(reader, semi)) {415 namesIndex = decodeInteger(reader, namesIndex);416 seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];417 } else {418 seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];419 }420 } else {421 seg = [genColumn];422 }423 line.push(seg);424 reader.pos++;425 }426 if (!sorted) sort(line);427 decoded.push(line);428 reader.pos = semi + 1;429 } while (reader.pos <= length);430 return decoded;431}432function sort(line) {433 line.sort(sortComparator);434}435function sortComparator(a, b) {436 return a[0] - b[0];437}438function encode(decoded) {439 const writer = new StringWriter();440 let sourcesIndex = 0;441 let sourceLine = 0;442 let sourceColumn = 0;443 let namesIndex = 0;444 for (let i = 0; i < decoded.length; i++) {445 const line = decoded[i];446 if (i > 0) writer.write(semicolon);447 if (line.length === 0) continue;448 let genColumn = 0;449 for (let j = 0; j < line.length; j++) {450 const segment = line[j];451 if (j > 0) writer.write(comma);452 genColumn = encodeInteger(writer, segment[0], genColumn);453 if (segment.length === 1) continue;454 sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);455 sourceLine = encodeInteger(writer, segment[2], sourceLine);456 sourceColumn = encodeInteger(writer, segment[3], sourceColumn);457 if (segment.length === 4) continue;458 namesIndex = encodeInteger(writer, segment[4], namesIndex);459 }460 }461 return writer.flush();462}463}));464//# sourceMappingURL=sourcemap-codec.umd.js.map465 