🚀 Big News:Socket Has Acquired Secure Annex.Learn More
Socket
Book a DemoSign in
Socket

sourcemap-codec

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sourcemap-codec - npm Package Compare versions

Comparing version
1.3.1
to
1.4.0
+5
dist/types/sourcemap-codec.d.ts
export declare type SourceMapSegment = [number] | [number, number, number, number] | [number, number, number, number, number];
export declare type SourceMapLine = SourceMapSegment[];
export declare type SourceMapMappings = SourceMapLine[];
export declare function decode(mappings: string): SourceMapMappings;
export declare function encode(decoded: SourceMapMappings): string;
+4
-0
# sourcemap-codec changelog
## 1.4.0
* Add TypeScript declarations ([#70](https://github.com/Rich-Harris/sourcemap-codec/pull/70))
## 1.3.1

@@ -4,0 +8,0 @@

+143
-190
var charToInteger = {};
var integerToChar = {};
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split( '' ).forEach( function ( char, i ) {
charToInteger[ char ] = i;
integerToChar[ i ] = char;
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split('').forEach(function (char, i) {
charToInteger[char] = i;
integerToChar[i] = char;
});
function decode$1 ( string ) {
var result = [],
len = string.length,
i,
hasContinuationBit,
shift = 0,
value = 0,
integer,
shouldNegate;
for ( i = 0; i < len; i += 1 ) {
integer = charToInteger[ string[i] ];
if ( integer === undefined ) {
throw new Error( 'Invalid character (' + string[i] + ')' );
}
hasContinuationBit = integer & 32;
integer &= 31;
value += integer << shift;
if ( hasContinuationBit ) {
shift += 5;
} else {
shouldNegate = value & 1;
value >>= 1;
result.push( shouldNegate ? -value : value );
// reset
value = shift = 0;
}
}
return result;
function decode(string) {
var result = [];
var shift = 0;
var value = 0;
for (var i = 0; i < string.length; i += 1) {
var integer = charToInteger[string[i]];
if (integer === undefined) {
throw new Error('Invalid character (' + string[i] + ')');
}
var hasContinuationBit = integer & 32;
integer &= 31;
value += integer << shift;
if (hasContinuationBit) {
shift += 5;
}
else {
var shouldNegate = value & 1;
value >>= 1;
result.push(shouldNegate ? -value : value);
// reset
value = shift = 0;
}
}
return result;
}
function encode$1 ( value ) {
var result, i;
if ( typeof value === 'number' ) {
result = encodeInteger( value );
} else {
result = '';
for ( i = 0; i < value.length; i += 1 ) {
result += encodeInteger( value[i] );
}
}
return result;
function encode(value) {
var result;
if (typeof value === 'number') {
result = encodeInteger(value);
}
else {
result = '';
for (var i = 0; i < value.length; i += 1) {
result += encodeInteger(value[i]);
}
}
return result;
}
function encodeInteger ( num ) {
var result = '', clamped;
if ( num < 0 ) {
num = ( -num << 1 ) | 1;
} else {
num <<= 1;
}
do {
clamped = num & 31;
num >>= 5;
if ( num > 0 ) {
clamped |= 32;
}
result += integerToChar[ clamped ];
} while ( num > 0 );
return result;
function encodeInteger(num) {
var result = '';
if (num < 0) {
num = (-num << 1) | 1;
}
else {
num <<= 1;
}
do {
var clamped = num & 31;
num >>= 5;
if (num > 0) {
clamped |= 32;
}
result += integerToChar[clamped];
} while (num > 0);
return result;
}
function decodeSegments ( encodedSegments ) {
var i = encodedSegments.length;
var segments = new Array( i );
while ( i-- ) { segments[i] = decode$1( encodedSegments[i] ); }
return segments;
function decodeSegments(encodedSegments) {
var i = encodedSegments.length;
var segments = new Array(i);
while (i--)
segments[i] = decode(encodedSegments[i]);
return segments;
}
function decode$$1 ( mappings ) {
var sourceFileIndex = 0; // second field
var sourceCodeLine = 0; // third field
var sourceCodeColumn = 0; // fourth field
var nameIndex = 0; // fifth field
var lines = mappings.split( ';' );
var numLines = lines.length;
var decoded = new Array( numLines );
var i;
var j;
var line;
var generatedCodeColumn;
var decodedLine;
var segments;
var segment;
var result;
for ( i = 0; i < numLines; i += 1 ) {
line = lines[i];
generatedCodeColumn = 0; // first field - reset each time
decodedLine = [];
segments = decodeSegments( line.split( ',' ) );
for ( j = 0; j < segments.length; j += 1 ) {
segment = segments[j];
if ( !segment.length ) {
break;
}
generatedCodeColumn += segment[0];
result = [ generatedCodeColumn ];
decodedLine.push( result );
if ( segment.length === 1 ) {
// only one field!
continue;
}
sourceFileIndex += segment[1];
sourceCodeLine += segment[2];
sourceCodeColumn += segment[3];
result.push( sourceFileIndex, sourceCodeLine, sourceCodeColumn );
if ( segment.length === 5 ) {
nameIndex += segment[4];
result.push( nameIndex );
}
}
decoded[i] = decodedLine;
}
return decoded;
function decode$1(mappings) {
var sourceFileIndex = 0; // second field
var sourceCodeLine = 0; // third field
var sourceCodeColumn = 0; // fourth field
var nameIndex = 0; // fifth field
var lines = mappings.split(';');
var numLines = lines.length;
var decoded = new Array(numLines);
var i;
var j;
var line;
var generatedCodeColumn;
var decodedLine;
var segments;
var segment;
var result;
for (i = 0; i < numLines; i += 1) {
line = lines[i];
generatedCodeColumn = 0; // first field - reset each time
decodedLine = [];
segments = decodeSegments(line.split(','));
for (j = 0; j < segments.length; j += 1) {
segment = segments[j];
if (!segment.length) {
break;
}
generatedCodeColumn += segment[0];
result = [generatedCodeColumn];
decodedLine.push(result);
if (segment.length === 1) {
// only one field!
continue;
}
sourceFileIndex += segment[1];
sourceCodeLine += segment[2];
sourceCodeColumn += segment[3];
result.push(sourceFileIndex, sourceCodeLine, sourceCodeColumn);
if (segment.length === 5) {
nameIndex += segment[4];
result.push(nameIndex);
}
}
decoded[i] = decodedLine;
}
return decoded;
}
function encode$$1 ( decoded ) {
var offsets = {
generatedCodeColumn: 0,
sourceFileIndex: 0, // second field
sourceCodeLine: 0, // third field
sourceCodeColumn: 0, // fourth field
nameIndex: 0 // fifth field
};
return decoded.map( function (line) {
offsets.generatedCodeColumn = 0; // first field - reset each time
return line.map( encodeSegment ).join( ',' );
}).join( ';' );
function encodeSegment ( segment ) {
if ( !segment.length ) {
return segment;
}
var result = new Array( segment.length );
result[0] = segment[0] - offsets.generatedCodeColumn;
offsets.generatedCodeColumn = segment[0];
if ( segment.length === 1 ) {
// only one field!
return encode$1( result );
}
result[1] = segment[1] - offsets.sourceFileIndex;
result[2] = segment[2] - offsets.sourceCodeLine;
result[3] = segment[3] - offsets.sourceCodeColumn;
offsets.sourceFileIndex = segment[1];
offsets.sourceCodeLine = segment[2];
offsets.sourceCodeColumn = segment[3];
if ( segment.length === 5 ) {
result[4] = segment[4] - offsets.nameIndex;
offsets.nameIndex = segment[4];
}
return encode$1( result );
}
function encode$1(decoded) {
var offsets = {
generatedCodeColumn: 0,
sourceFileIndex: 0,
sourceCodeLine: 0,
sourceCodeColumn: 0,
nameIndex: 0 // fifth field
};
return decoded.map(function (line) {
offsets.generatedCodeColumn = 0; // first field - reset each time
return line.map(encodeSegment).join(',');
}).join(';');
function encodeSegment(segment) {
if (!segment.length) {
return '';
}
var result = new Array(segment.length);
result[0] = segment[0] - offsets.generatedCodeColumn;
offsets.generatedCodeColumn = segment[0];
if (segment.length === 1) {
// only one field!
return encode(result);
}
result[1] = segment[1] - offsets.sourceFileIndex;
result[2] = segment[2] - offsets.sourceCodeLine;
result[3] = segment[3] - offsets.sourceCodeColumn;
offsets.sourceFileIndex = segment[1];
offsets.sourceCodeLine = segment[2];
offsets.sourceCodeColumn = segment[3];
if (segment.length === 5) {
result[4] = segment[4] - offsets.nameIndex;
offsets.nameIndex = segment[4];
}
return encode(result);
}
}
export { decode$$1 as decode, encode$$1 as encode };
export { decode$1 as decode, encode$1 as encode };
//# sourceMappingURL=sourcemap-codec.es.js.map
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(factory((global.sourcemapCodec = global.sourcemapCodec || {})));
(factory((global.sourcemapCodec = {})));
}(this, (function (exports) { 'use strict';

@@ -9,202 +9,155 @@

var integerToChar = {};
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split( '' ).forEach( function ( char, i ) {
charToInteger[ char ] = i;
integerToChar[ i ] = char;
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split('').forEach(function (char, i) {
charToInteger[char] = i;
integerToChar[i] = char;
});
function decode$1 ( string ) {
var result = [],
len = string.length,
i,
hasContinuationBit,
shift = 0,
value = 0,
integer,
shouldNegate;
for ( i = 0; i < len; i += 1 ) {
integer = charToInteger[ string[i] ];
if ( integer === undefined ) {
throw new Error( 'Invalid character (' + string[i] + ')' );
}
hasContinuationBit = integer & 32;
integer &= 31;
value += integer << shift;
if ( hasContinuationBit ) {
shift += 5;
} else {
shouldNegate = value & 1;
value >>= 1;
result.push( shouldNegate ? -value : value );
// reset
value = shift = 0;
}
}
return result;
function decode(string) {
var result = [];
var shift = 0;
var value = 0;
for (var i = 0; i < string.length; i += 1) {
var integer = charToInteger[string[i]];
if (integer === undefined) {
throw new Error('Invalid character (' + string[i] + ')');
}
var hasContinuationBit = integer & 32;
integer &= 31;
value += integer << shift;
if (hasContinuationBit) {
shift += 5;
}
else {
var shouldNegate = value & 1;
value >>= 1;
result.push(shouldNegate ? -value : value);
// reset
value = shift = 0;
}
}
return result;
}
function encode$1 ( value ) {
var result, i;
if ( typeof value === 'number' ) {
result = encodeInteger( value );
} else {
result = '';
for ( i = 0; i < value.length; i += 1 ) {
result += encodeInteger( value[i] );
}
}
return result;
function encode(value) {
var result;
if (typeof value === 'number') {
result = encodeInteger(value);
}
else {
result = '';
for (var i = 0; i < value.length; i += 1) {
result += encodeInteger(value[i]);
}
}
return result;
}
function encodeInteger ( num ) {
var result = '', clamped;
if ( num < 0 ) {
num = ( -num << 1 ) | 1;
} else {
num <<= 1;
}
do {
clamped = num & 31;
num >>= 5;
if ( num > 0 ) {
clamped |= 32;
}
result += integerToChar[ clamped ];
} while ( num > 0 );
return result;
function encodeInteger(num) {
var result = '';
if (num < 0) {
num = (-num << 1) | 1;
}
else {
num <<= 1;
}
do {
var clamped = num & 31;
num >>= 5;
if (num > 0) {
clamped |= 32;
}
result += integerToChar[clamped];
} while (num > 0);
return result;
}
function decodeSegments ( encodedSegments ) {
var i = encodedSegments.length;
var segments = new Array( i );
while ( i-- ) { segments[i] = decode$1( encodedSegments[i] ); }
return segments;
function decodeSegments(encodedSegments) {
var i = encodedSegments.length;
var segments = new Array(i);
while (i--)
segments[i] = decode(encodedSegments[i]);
return segments;
}
function decode$$1 ( mappings ) {
var sourceFileIndex = 0; // second field
var sourceCodeLine = 0; // third field
var sourceCodeColumn = 0; // fourth field
var nameIndex = 0; // fifth field
var lines = mappings.split( ';' );
var numLines = lines.length;
var decoded = new Array( numLines );
var i;
var j;
var line;
var generatedCodeColumn;
var decodedLine;
var segments;
var segment;
var result;
for ( i = 0; i < numLines; i += 1 ) {
line = lines[i];
generatedCodeColumn = 0; // first field - reset each time
decodedLine = [];
segments = decodeSegments( line.split( ',' ) );
for ( j = 0; j < segments.length; j += 1 ) {
segment = segments[j];
if ( !segment.length ) {
break;
}
generatedCodeColumn += segment[0];
result = [ generatedCodeColumn ];
decodedLine.push( result );
if ( segment.length === 1 ) {
// only one field!
continue;
}
sourceFileIndex += segment[1];
sourceCodeLine += segment[2];
sourceCodeColumn += segment[3];
result.push( sourceFileIndex, sourceCodeLine, sourceCodeColumn );
if ( segment.length === 5 ) {
nameIndex += segment[4];
result.push( nameIndex );
}
}
decoded[i] = decodedLine;
}
return decoded;
function decode$1(mappings) {
var sourceFileIndex = 0; // second field
var sourceCodeLine = 0; // third field
var sourceCodeColumn = 0; // fourth field
var nameIndex = 0; // fifth field
var lines = mappings.split(';');
var numLines = lines.length;
var decoded = new Array(numLines);
var i;
var j;
var line;
var generatedCodeColumn;
var decodedLine;
var segments;
var segment;
var result;
for (i = 0; i < numLines; i += 1) {
line = lines[i];
generatedCodeColumn = 0; // first field - reset each time
decodedLine = [];
segments = decodeSegments(line.split(','));
for (j = 0; j < segments.length; j += 1) {
segment = segments[j];
if (!segment.length) {
break;
}
generatedCodeColumn += segment[0];
result = [generatedCodeColumn];
decodedLine.push(result);
if (segment.length === 1) {
// only one field!
continue;
}
sourceFileIndex += segment[1];
sourceCodeLine += segment[2];
sourceCodeColumn += segment[3];
result.push(sourceFileIndex, sourceCodeLine, sourceCodeColumn);
if (segment.length === 5) {
nameIndex += segment[4];
result.push(nameIndex);
}
}
decoded[i] = decodedLine;
}
return decoded;
}
function encode$$1 ( decoded ) {
var offsets = {
generatedCodeColumn: 0,
sourceFileIndex: 0, // second field
sourceCodeLine: 0, // third field
sourceCodeColumn: 0, // fourth field
nameIndex: 0 // fifth field
};
return decoded.map( function (line) {
offsets.generatedCodeColumn = 0; // first field - reset each time
return line.map( encodeSegment ).join( ',' );
}).join( ';' );
function encodeSegment ( segment ) {
if ( !segment.length ) {
return segment;
}
var result = new Array( segment.length );
result[0] = segment[0] - offsets.generatedCodeColumn;
offsets.generatedCodeColumn = segment[0];
if ( segment.length === 1 ) {
// only one field!
return encode$1( result );
}
result[1] = segment[1] - offsets.sourceFileIndex;
result[2] = segment[2] - offsets.sourceCodeLine;
result[3] = segment[3] - offsets.sourceCodeColumn;
offsets.sourceFileIndex = segment[1];
offsets.sourceCodeLine = segment[2];
offsets.sourceCodeColumn = segment[3];
if ( segment.length === 5 ) {
result[4] = segment[4] - offsets.nameIndex;
offsets.nameIndex = segment[4];
}
return encode$1( result );
}
function encode$1(decoded) {
var offsets = {
generatedCodeColumn: 0,
sourceFileIndex: 0,
sourceCodeLine: 0,
sourceCodeColumn: 0,
nameIndex: 0 // fifth field
};
return decoded.map(function (line) {
offsets.generatedCodeColumn = 0; // first field - reset each time
return line.map(encodeSegment).join(',');
}).join(';');
function encodeSegment(segment) {
if (!segment.length) {
return '';
}
var result = new Array(segment.length);
result[0] = segment[0] - offsets.generatedCodeColumn;
offsets.generatedCodeColumn = segment[0];
if (segment.length === 1) {
// only one field!
return encode(result);
}
result[1] = segment[1] - offsets.sourceFileIndex;
result[2] = segment[2] - offsets.sourceCodeLine;
result[3] = segment[3] - offsets.sourceCodeColumn;
offsets.sourceFileIndex = segment[1];
offsets.sourceCodeLine = segment[2];
offsets.sourceCodeColumn = segment[3];
if (segment.length === 5) {
result[4] = segment[4] - offsets.nameIndex;
offsets.nameIndex = segment[4];
}
return encode(result);
}
}
exports.decode = decode$$1;
exports.encode = encode$$1;
exports.decode = decode$1;
exports.encode = encode$1;

@@ -211,0 +164,0 @@ Object.defineProperty(exports, '__esModule', { value: true });

{
"name": "sourcemap-codec",
"version": "1.3.1",
"version": "1.4.0",
"description": "Encode/decode sourcemap mappings",
"main": "dist/sourcemap-codec.umd.js",
"module": "dist/sourcemap-codec.es.js",
"types": "dist/types/sourcemap-codec.d.ts",
"scripts": {
"test": "mocha",
"build": "rm -rf dist && rollup -c",
"build": "rm -rf dist && rollup -c && tsc",
"pretest": "npm run build",

@@ -33,3 +34,3 @@ "prepublish": "npm test",

"dependencies": {
"vlq": "^0.2.1"
"vlq": "^1.0.0"
},

@@ -44,11 +45,12 @@ "devDependencies": {

"remap-istanbul": "^0.9.5",
"rollup": "^0.41.6",
"rollup-plugin-buble": "^0.15.0",
"rollup-plugin-node-resolve": "^3.0.0"
"rollup": "^0.54.0",
"rollup-plugin-node-resolve": "^3.0.0",
"rollup-plugin-typescript": "^0.8.1",
"typescript": "^2.7.1"
},
"files": [
"src",
"dist",
"dist/*.js",
"dist/**/*.d.ts",
"README.md"
]
}
{"version":3,"file":"sourcemap-codec.es.js","sources":["../node_modules/vlq/src/vlq.js","../src/sourcemap-codec.js"],"sourcesContent":["var charToInteger = {};\nvar integerToChar = {};\n\n'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split( '' ).forEach( function ( char, i ) {\n\tcharToInteger[ char ] = i;\n\tintegerToChar[ i ] = char;\n});\n\nexport function decode ( string ) {\n\tvar result = [],\n\t\tlen = string.length,\n\t\ti,\n\t\thasContinuationBit,\n\t\tshift = 0,\n\t\tvalue = 0,\n\t\tinteger,\n\t\tshouldNegate;\n\n\tfor ( i = 0; i < len; i += 1 ) {\n\t\tinteger = charToInteger[ string[i] ];\n\n\t\tif ( integer === undefined ) {\n\t\t\tthrow new Error( 'Invalid character (' + string[i] + ')' );\n\t\t}\n\n\t\thasContinuationBit = integer & 32;\n\n\t\tinteger &= 31;\n\t\tvalue += integer << shift;\n\n\t\tif ( hasContinuationBit ) {\n\t\t\tshift += 5;\n\t\t} else {\n\t\t\tshouldNegate = value & 1;\n\t\t\tvalue >>= 1;\n\n\t\t\tresult.push( shouldNegate ? -value : value );\n\n\t\t\t// reset\n\t\t\tvalue = shift = 0;\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function encode ( value ) {\n\tvar result, i;\n\n\tif ( typeof value === 'number' ) {\n\t\tresult = encodeInteger( value );\n\t} else {\n\t\tresult = '';\n\t\tfor ( i = 0; i < value.length; i += 1 ) {\n\t\t\tresult += encodeInteger( value[i] );\n\t\t}\n\t}\n\n\treturn result;\n}\n\nfunction encodeInteger ( num ) {\n\tvar result = '', clamped;\n\n\tif ( num < 0 ) {\n\t\tnum = ( -num << 1 ) | 1;\n\t} else {\n\t\tnum <<= 1;\n\t}\n\n\tdo {\n\t\tclamped = num & 31;\n\t\tnum >>= 5;\n\n\t\tif ( num > 0 ) {\n\t\t\tclamped |= 32;\n\t\t}\n\n\t\tresult += integerToChar[ clamped ];\n\t} while ( num > 0 );\n\n\treturn result;\n}\n","import { decode as decodeVlq, encode as encodeVlq } from 'vlq';\n\nfunction decodeSegments ( encodedSegments ) {\n\tlet i = encodedSegments.length;\n\tconst segments = new Array( i );\n\n\twhile ( i-- ) segments[i] = decodeVlq( encodedSegments[i] );\n\treturn segments;\n}\n\nexport function decode ( mappings ) {\n\tlet sourceFileIndex = 0; // second field\n\tlet sourceCodeLine = 0; // third field\n\tlet sourceCodeColumn = 0; // fourth field\n\tlet nameIndex = 0; // fifth field\n\n\tconst lines = mappings.split( ';' );\n\tconst numLines = lines.length;\n\tconst decoded = new Array( numLines );\n\n\tlet i;\n\tlet j;\n\tlet line;\n\tlet generatedCodeColumn;\n\tlet decodedLine;\n\tlet segments;\n\tlet segment;\n\tlet result;\n\n\tfor ( i = 0; i < numLines; i += 1 ) {\n\t\tline = lines[i];\n\n\t\tgeneratedCodeColumn = 0; // first field - reset each time\n\t\tdecodedLine = [];\n\n\t\tsegments = decodeSegments( line.split( ',' ) );\n\n\t\tfor ( j = 0; j < segments.length; j += 1 ) {\n\t\t\tsegment = segments[j];\n\n\t\t\tif ( !segment.length ) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tgeneratedCodeColumn += segment[0];\n\n\t\t\tresult = [ generatedCodeColumn ];\n\t\t\tdecodedLine.push( result );\n\n\t\t\tif ( segment.length === 1 ) {\n\t\t\t\t// only one field!\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsourceFileIndex += segment[1];\n\t\t\tsourceCodeLine += segment[2];\n\t\t\tsourceCodeColumn += segment[3];\n\n\t\t\tresult.push( sourceFileIndex, sourceCodeLine, sourceCodeColumn );\n\n\t\t\tif ( segment.length === 5 ) {\n\t\t\t\tnameIndex += segment[4];\n\t\t\t\tresult.push( nameIndex );\n\t\t\t}\n\t\t}\n\n\t\tdecoded[i] = decodedLine;\n\t}\n\n\treturn decoded;\n}\n\nexport function encode ( decoded ) {\n\tconst offsets = {\n\t\tgeneratedCodeColumn: 0,\n\t\tsourceFileIndex: 0, // second field\n\t\tsourceCodeLine: 0, // third field\n\t\tsourceCodeColumn: 0, // fourth field\n\t\tnameIndex: 0 // fifth field\n\t};\n\n\treturn decoded.map( line => {\n\t\toffsets.generatedCodeColumn = 0; // first field - reset each time\n\t\treturn line.map( encodeSegment ).join( ',' );\n\t}).join( ';' );\n\n\tfunction encodeSegment ( segment ) {\n\t\tif ( !segment.length ) {\n\t\t\treturn segment;\n\t\t}\n\n\t\tconst result = new Array( segment.length );\n\n\t\tresult[0] = segment[0] - offsets.generatedCodeColumn;\n\t\toffsets.generatedCodeColumn = segment[0];\n\n\t\tif ( segment.length === 1 ) {\n\t\t\t// only one field!\n\t\t\treturn encodeVlq( result );\n\t\t}\n\n\t\tresult[1] = segment[1] - offsets.sourceFileIndex;\n\t\tresult[2] = segment[2] - offsets.sourceCodeLine;\n\t\tresult[3] = segment[3] - offsets.sourceCodeColumn;\n\n\t\toffsets.sourceFileIndex = segment[1];\n\t\toffsets.sourceCodeLine = segment[2];\n\t\toffsets.sourceCodeColumn = segment[3];\n\n\t\tif ( segment.length === 5 ) {\n\t\t\tresult[4] = segment[4] - offsets.nameIndex;\n\t\t\toffsets.nameIndex = segment[4];\n\t\t}\n\n\t\treturn encodeVlq( result );\n\t}\n}\n"],"names":["decode","encode","let","const","decodeVlq","encodeVlq"],"mappings":"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"}
{"version":3,"file":"sourcemap-codec.umd.js","sources":["../node_modules/vlq/src/vlq.js","../src/sourcemap-codec.js"],"sourcesContent":["var charToInteger = {};\nvar integerToChar = {};\n\n'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split( '' ).forEach( function ( char, i ) {\n\tcharToInteger[ char ] = i;\n\tintegerToChar[ i ] = char;\n});\n\nexport function decode ( string ) {\n\tvar result = [],\n\t\tlen = string.length,\n\t\ti,\n\t\thasContinuationBit,\n\t\tshift = 0,\n\t\tvalue = 0,\n\t\tinteger,\n\t\tshouldNegate;\n\n\tfor ( i = 0; i < len; i += 1 ) {\n\t\tinteger = charToInteger[ string[i] ];\n\n\t\tif ( integer === undefined ) {\n\t\t\tthrow new Error( 'Invalid character (' + string[i] + ')' );\n\t\t}\n\n\t\thasContinuationBit = integer & 32;\n\n\t\tinteger &= 31;\n\t\tvalue += integer << shift;\n\n\t\tif ( hasContinuationBit ) {\n\t\t\tshift += 5;\n\t\t} else {\n\t\t\tshouldNegate = value & 1;\n\t\t\tvalue >>= 1;\n\n\t\t\tresult.push( shouldNegate ? -value : value );\n\n\t\t\t// reset\n\t\t\tvalue = shift = 0;\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function encode ( value ) {\n\tvar result, i;\n\n\tif ( typeof value === 'number' ) {\n\t\tresult = encodeInteger( value );\n\t} else {\n\t\tresult = '';\n\t\tfor ( i = 0; i < value.length; i += 1 ) {\n\t\t\tresult += encodeInteger( value[i] );\n\t\t}\n\t}\n\n\treturn result;\n}\n\nfunction encodeInteger ( num ) {\n\tvar result = '', clamped;\n\n\tif ( num < 0 ) {\n\t\tnum = ( -num << 1 ) | 1;\n\t} else {\n\t\tnum <<= 1;\n\t}\n\n\tdo {\n\t\tclamped = num & 31;\n\t\tnum >>= 5;\n\n\t\tif ( num > 0 ) {\n\t\t\tclamped |= 32;\n\t\t}\n\n\t\tresult += integerToChar[ clamped ];\n\t} while ( num > 0 );\n\n\treturn result;\n}\n","import { decode as decodeVlq, encode as encodeVlq } from 'vlq';\n\nfunction decodeSegments ( encodedSegments ) {\n\tlet i = encodedSegments.length;\n\tconst segments = new Array( i );\n\n\twhile ( i-- ) segments[i] = decodeVlq( encodedSegments[i] );\n\treturn segments;\n}\n\nexport function decode ( mappings ) {\n\tlet sourceFileIndex = 0; // second field\n\tlet sourceCodeLine = 0; // third field\n\tlet sourceCodeColumn = 0; // fourth field\n\tlet nameIndex = 0; // fifth field\n\n\tconst lines = mappings.split( ';' );\n\tconst numLines = lines.length;\n\tconst decoded = new Array( numLines );\n\n\tlet i;\n\tlet j;\n\tlet line;\n\tlet generatedCodeColumn;\n\tlet decodedLine;\n\tlet segments;\n\tlet segment;\n\tlet result;\n\n\tfor ( i = 0; i < numLines; i += 1 ) {\n\t\tline = lines[i];\n\n\t\tgeneratedCodeColumn = 0; // first field - reset each time\n\t\tdecodedLine = [];\n\n\t\tsegments = decodeSegments( line.split( ',' ) );\n\n\t\tfor ( j = 0; j < segments.length; j += 1 ) {\n\t\t\tsegment = segments[j];\n\n\t\t\tif ( !segment.length ) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tgeneratedCodeColumn += segment[0];\n\n\t\t\tresult = [ generatedCodeColumn ];\n\t\t\tdecodedLine.push( result );\n\n\t\t\tif ( segment.length === 1 ) {\n\t\t\t\t// only one field!\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsourceFileIndex += segment[1];\n\t\t\tsourceCodeLine += segment[2];\n\t\t\tsourceCodeColumn += segment[3];\n\n\t\t\tresult.push( sourceFileIndex, sourceCodeLine, sourceCodeColumn );\n\n\t\t\tif ( segment.length === 5 ) {\n\t\t\t\tnameIndex += segment[4];\n\t\t\t\tresult.push( nameIndex );\n\t\t\t}\n\t\t}\n\n\t\tdecoded[i] = decodedLine;\n\t}\n\n\treturn decoded;\n}\n\nexport function encode ( decoded ) {\n\tconst offsets = {\n\t\tgeneratedCodeColumn: 0,\n\t\tsourceFileIndex: 0, // second field\n\t\tsourceCodeLine: 0, // third field\n\t\tsourceCodeColumn: 0, // fourth field\n\t\tnameIndex: 0 // fifth field\n\t};\n\n\treturn decoded.map( line => {\n\t\toffsets.generatedCodeColumn = 0; // first field - reset each time\n\t\treturn line.map( encodeSegment ).join( ',' );\n\t}).join( ';' );\n\n\tfunction encodeSegment ( segment ) {\n\t\tif ( !segment.length ) {\n\t\t\treturn segment;\n\t\t}\n\n\t\tconst result = new Array( segment.length );\n\n\t\tresult[0] = segment[0] - offsets.generatedCodeColumn;\n\t\toffsets.generatedCodeColumn = segment[0];\n\n\t\tif ( segment.length === 1 ) {\n\t\t\t// only one field!\n\t\t\treturn encodeVlq( result );\n\t\t}\n\n\t\tresult[1] = segment[1] - offsets.sourceFileIndex;\n\t\tresult[2] = segment[2] - offsets.sourceCodeLine;\n\t\tresult[3] = segment[3] - offsets.sourceCodeColumn;\n\n\t\toffsets.sourceFileIndex = segment[1];\n\t\toffsets.sourceCodeLine = segment[2];\n\t\toffsets.sourceCodeColumn = segment[3];\n\n\t\tif ( segment.length === 5 ) {\n\t\t\tresult[4] = segment[4] - offsets.nameIndex;\n\t\t\toffsets.nameIndex = segment[4];\n\t\t}\n\n\t\treturn encodeVlq( result );\n\t}\n}\n"],"names":["decode","encode","let","const","decodeVlq","encodeVlq"],"mappings":"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"}
import { decode as decodeVlq, encode as encodeVlq } from 'vlq';
function decodeSegments ( encodedSegments ) {
let i = encodedSegments.length;
const segments = new Array( i );
while ( i-- ) segments[i] = decodeVlq( encodedSegments[i] );
return segments;
}
export function decode ( mappings ) {
let sourceFileIndex = 0; // second field
let sourceCodeLine = 0; // third field
let sourceCodeColumn = 0; // fourth field
let nameIndex = 0; // fifth field
const lines = mappings.split( ';' );
const numLines = lines.length;
const decoded = new Array( numLines );
let i;
let j;
let line;
let generatedCodeColumn;
let decodedLine;
let segments;
let segment;
let result;
for ( i = 0; i < numLines; i += 1 ) {
line = lines[i];
generatedCodeColumn = 0; // first field - reset each time
decodedLine = [];
segments = decodeSegments( line.split( ',' ) );
for ( j = 0; j < segments.length; j += 1 ) {
segment = segments[j];
if ( !segment.length ) {
break;
}
generatedCodeColumn += segment[0];
result = [ generatedCodeColumn ];
decodedLine.push( result );
if ( segment.length === 1 ) {
// only one field!
continue;
}
sourceFileIndex += segment[1];
sourceCodeLine += segment[2];
sourceCodeColumn += segment[3];
result.push( sourceFileIndex, sourceCodeLine, sourceCodeColumn );
if ( segment.length === 5 ) {
nameIndex += segment[4];
result.push( nameIndex );
}
}
decoded[i] = decodedLine;
}
return decoded;
}
export function encode ( decoded ) {
const offsets = {
generatedCodeColumn: 0,
sourceFileIndex: 0, // second field
sourceCodeLine: 0, // third field
sourceCodeColumn: 0, // fourth field
nameIndex: 0 // fifth field
};
return decoded.map( line => {
offsets.generatedCodeColumn = 0; // first field - reset each time
return line.map( encodeSegment ).join( ',' );
}).join( ';' );
function encodeSegment ( segment ) {
if ( !segment.length ) {
return segment;
}
const result = new Array( segment.length );
result[0] = segment[0] - offsets.generatedCodeColumn;
offsets.generatedCodeColumn = segment[0];
if ( segment.length === 1 ) {
// only one field!
return encodeVlq( result );
}
result[1] = segment[1] - offsets.sourceFileIndex;
result[2] = segment[2] - offsets.sourceCodeLine;
result[3] = segment[3] - offsets.sourceCodeColumn;
offsets.sourceFileIndex = segment[1];
offsets.sourceCodeLine = segment[2];
offsets.sourceCodeColumn = segment[3];
if ( segment.length === 5 ) {
result[4] = segment[4] - offsets.nameIndex;
offsets.nameIndex = segment[4];
}
return encodeVlq( result );
}
}