Socket
Socket
Sign inDemoInstall

sourcemap-codec

Package Overview
Dependencies
0
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.4.0 to 1.4.1

4

CHANGELOG.md
# sourcemap-codec changelog
## 1.4.1
* GO FASTER ([#71](https://github.com/Rich-Harris/sourcemap-codec/pull/71))
## 1.4.0

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

238

dist/sourcemap-codec.es.js
var charToInteger = {};
var integerToChar = {};
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split('').forEach(function (char, i) {
charToInteger[char] = i;
integerToChar[i] = char;
});
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 chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
for (var i = 0; i < chars.length; i++) {
charToInteger[chars.charCodeAt(i)] = i;
}
function decode(mappings) {
var generatedCodeColumn = 0; // first field
var sourceFileIndex = 0; // second field
var sourceCodeLine = 0; // third field
var sourceCodeColumn = 0; // fourth field
var nameIndex = 0; // fifth field
var decoded = [];
var line = [];
var segment = [];
for (var i = 0, j = 0, shift = 0, value = 0; i < mappings.length; i++) {
var c = mappings.charCodeAt(i);
if (c === 44) {
if (segment.length)
line.push(segment);
segment = [];
j = 0;
}
var hasContinuationBit = integer & 32;
integer &= 31;
value += integer << shift;
if (hasContinuationBit) {
shift += 5;
else if (c === 59) {
if (segment.length)
line.push(segment);
segment = [];
j = 0;
decoded.push(line);
line = [];
generatedCodeColumn = 0;
}
else {
var shouldNegate = value & 1;
value >>= 1;
result.push(shouldNegate ? -value : value);
// reset
value = shift = 0;
var integer = charToInteger[c];
if (integer === undefined) {
throw new Error('Invalid character (' + String.fromCharCode(c) + ')');
}
var hasContinuationBit = integer & 32;
integer &= 31;
value += integer << shift;
if (hasContinuationBit) {
shift += 5;
}
else {
var shouldNegate = value & 1;
value >>= 1;
var num = shouldNegate ? -value : value;
if (j == 0) {
generatedCodeColumn += num;
segment.push(generatedCodeColumn);
}
else if (j === 1) {
sourceFileIndex += num;
segment.push(sourceFileIndex);
}
else if (j === 2) {
sourceCodeLine += num;
segment.push(sourceCodeLine);
}
else if (j === 3) {
sourceCodeColumn += num;
segment.push(sourceCodeColumn);
}
else if (j === 4) {
nameIndex += num;
segment.push(nameIndex);
}
j++;
value = shift = 0; // reset
}
}
}
return result;
if (segment.length)
line.push(segment);
decoded.push(line);
return decoded;
}
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]);
function encode(decoded) {
var sourceFileIndex = 0; // second field
var sourceCodeLine = 0; // third field
var sourceCodeColumn = 0; // fourth field
var nameIndex = 0; // fifth field
var mappings = '';
for (var i = 0; i < decoded.length; i++) {
var line = decoded[i];
if (i > 0)
mappings += ';';
if (line.length === 0)
continue;
var generatedCodeColumn = 0; // first field
var lineMappings = [];
for (var _i = 0, line_1 = line; _i < line_1.length; _i++) {
var segment = line_1[_i];
var segmentMappings = encodeInteger(segment[0] - generatedCodeColumn);
generatedCodeColumn = segment[0];
if (segment.length > 1) {
segmentMappings +=
encodeInteger(segment[1] - sourceFileIndex) +
encodeInteger(segment[2] - sourceCodeLine) +
encodeInteger(segment[3] - sourceCodeColumn);
sourceFileIndex = segment[1];
sourceCodeLine = segment[2];
sourceCodeColumn = segment[3];
}
if (segment.length === 5) {
segmentMappings += encodeInteger(segment[4] - nameIndex);
nameIndex = segment[4];
}
lineMappings.push(segmentMappings);
}
mappings += lineMappings.join(',');
}
return result;
return mappings;
}
function encodeInteger(num) {
var result = '';
if (num < 0) {
num = (-num << 1) | 1;
}
else {
num <<= 1;
}
num = num < 0 ? (-num << 1) | 1 : num << 1;
do {

@@ -59,3 +123,3 @@ var clamped = num & 31;

}
result += integerToChar[clamped];
result += chars[clamped];
} while (num > 0);

@@ -65,93 +129,3 @@ return result;

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 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, encode };
//# sourceMappingURL=sourcemap-codec.es.js.map

@@ -8,53 +8,117 @@ (function (global, factory) {

var charToInteger = {};
var integerToChar = {};
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split('').forEach(function (char, i) {
charToInteger[char] = i;
integerToChar[i] = char;
});
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 chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
for (var i = 0; i < chars.length; i++) {
charToInteger[chars.charCodeAt(i)] = i;
}
function decode(mappings) {
var generatedCodeColumn = 0; // first field
var sourceFileIndex = 0; // second field
var sourceCodeLine = 0; // third field
var sourceCodeColumn = 0; // fourth field
var nameIndex = 0; // fifth field
var decoded = [];
var line = [];
var segment = [];
for (var i = 0, j = 0, shift = 0, value = 0; i < mappings.length; i++) {
var c = mappings.charCodeAt(i);
if (c === 44) {
if (segment.length)
line.push(segment);
segment = [];
j = 0;
}
var hasContinuationBit = integer & 32;
integer &= 31;
value += integer << shift;
if (hasContinuationBit) {
shift += 5;
else if (c === 59) {
if (segment.length)
line.push(segment);
segment = [];
j = 0;
decoded.push(line);
line = [];
generatedCodeColumn = 0;
}
else {
var shouldNegate = value & 1;
value >>= 1;
result.push(shouldNegate ? -value : value);
// reset
value = shift = 0;
var integer = charToInteger[c];
if (integer === undefined) {
throw new Error('Invalid character (' + String.fromCharCode(c) + ')');
}
var hasContinuationBit = integer & 32;
integer &= 31;
value += integer << shift;
if (hasContinuationBit) {
shift += 5;
}
else {
var shouldNegate = value & 1;
value >>= 1;
var num = shouldNegate ? -value : value;
if (j == 0) {
generatedCodeColumn += num;
segment.push(generatedCodeColumn);
}
else if (j === 1) {
sourceFileIndex += num;
segment.push(sourceFileIndex);
}
else if (j === 2) {
sourceCodeLine += num;
segment.push(sourceCodeLine);
}
else if (j === 3) {
sourceCodeColumn += num;
segment.push(sourceCodeColumn);
}
else if (j === 4) {
nameIndex += num;
segment.push(nameIndex);
}
j++;
value = shift = 0; // reset
}
}
}
return result;
if (segment.length)
line.push(segment);
decoded.push(line);
return decoded;
}
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]);
function encode(decoded) {
var sourceFileIndex = 0; // second field
var sourceCodeLine = 0; // third field
var sourceCodeColumn = 0; // fourth field
var nameIndex = 0; // fifth field
var mappings = '';
for (var i = 0; i < decoded.length; i++) {
var line = decoded[i];
if (i > 0)
mappings += ';';
if (line.length === 0)
continue;
var generatedCodeColumn = 0; // first field
var lineMappings = [];
for (var _i = 0, line_1 = line; _i < line_1.length; _i++) {
var segment = line_1[_i];
var segmentMappings = encodeInteger(segment[0] - generatedCodeColumn);
generatedCodeColumn = segment[0];
if (segment.length > 1) {
segmentMappings +=
encodeInteger(segment[1] - sourceFileIndex) +
encodeInteger(segment[2] - sourceCodeLine) +
encodeInteger(segment[3] - sourceCodeColumn);
sourceFileIndex = segment[1];
sourceCodeLine = segment[2];
sourceCodeColumn = segment[3];
}
if (segment.length === 5) {
segmentMappings += encodeInteger(segment[4] - nameIndex);
nameIndex = segment[4];
}
lineMappings.push(segmentMappings);
}
mappings += lineMappings.join(',');
}
return result;
return mappings;
}
function encodeInteger(num) {
var result = '';
if (num < 0) {
num = (-num << 1) | 1;
}
else {
num <<= 1;
}
num = num < 0 ? (-num << 1) | 1 : num << 1;
do {

@@ -66,3 +130,3 @@ var clamped = num & 31;

}
result += integerToChar[clamped];
result += chars[clamped];
} while (num > 0);

@@ -72,95 +136,5 @@ return result;

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 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;
exports.encode = encode;
exports.decode = decode$1;
exports.encode = encode$1;
Object.defineProperty(exports, '__esModule', { value: true });

@@ -167,0 +141,0 @@

{
"name": "sourcemap-codec",
"version": "1.4.0",
"version": "1.4.1",
"description": "Encode/decode sourcemap mappings",

@@ -33,5 +33,3 @@ "main": "dist/sourcemap-codec.umd.js",

"homepage": "https://github.com/Rich-Harris/sourcemap-codec",
"dependencies": {
"vlq": "^1.0.0"
},
"dependencies": {},
"devDependencies": {

@@ -38,0 +36,0 @@ "codecov.io": "^0.1.6",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc