Skip to content

Commit

Permalink
Merge pull request #133 from mourner/use-sourcemap-codec
Browse files Browse the repository at this point in the history
Remove cruft, use sourcemap-codec
  • Loading branch information
Rich-Harris committed Mar 14, 2018
2 parents 581c1bf + fa5ca12 commit 8765cb9
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 56 deletions.
20 changes: 13 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -10,7 +10,7 @@
"typings": "index.d.ts",
"license": "MIT",
"dependencies": {
"vlq": "^0.2.2"
"sourcemap-codec": "^1.4.1"
},
"devDependencies": {
"buble": "^0.15.2",
Expand Down
67 changes: 19 additions & 48 deletions src/utils/Mappings.js
@@ -1,14 +1,6 @@
import { encode } from 'vlq';
import { encode } from 'sourcemap-codec';

export default function Mappings ( hires ) {
const offsets = {
generatedCodeColumn: 0,
sourceIndex: 0,
sourceCodeLine: 0,
sourceCodeColumn: 0,
sourceCodeName: 0
};

let generatedCodeLine = 0;
let generatedCodeColumn = 0;

Expand All @@ -19,13 +11,16 @@ export default function Mappings ( hires ) {

this.addEdit = ( sourceIndex, content, original, loc, nameIndex ) => {
if ( content.length ) {
rawSegments.push([
const segment = [
generatedCodeColumn,
sourceIndex,
loc.line,
loc.column,
nameIndex,
]);
loc.column
];
if ( nameIndex >= 0 ) {
segment.push( nameIndex );
}
rawSegments.push( segment );
} else if ( pending ) {
rawSegments.push( pending );
}
Expand All @@ -44,8 +39,7 @@ export default function Mappings ( hires ) {
generatedCodeColumn,
sourceIndex,
loc.line,
loc.column,
-1
loc.column
]);
}

Expand All @@ -68,50 +62,27 @@ export default function Mappings ( hires ) {
generatedCodeColumn,
sourceIndex,
loc.line,
loc.column,
-1,
loc.column
];
};

this.advance = str => {
if ( !str ) return;

const lines = str.split( '\n' );
const lastLine = lines.pop();

if ( lines.length ) {
generatedCodeLine += lines.length;
this.raw[ generatedCodeLine ] = rawSegments = [];
generatedCodeColumn = lastLine.length;
} else {
generatedCodeColumn += lastLine.length;
if ( lines.length > 1 ) {
for ( let i = 0; i < lines.length - 1; i++ ) {
generatedCodeLine++;
this.raw[generatedCodeLine] = rawSegments = [];
}
generatedCodeColumn = 0;
}

generatedCodeColumn += lines[lines.length - 1].length;
};

this.encode = () => {
return this.raw.map( segments => {
let generatedCodeColumn = 0;

return segments.map( segment => {
const arr = [
segment[0] - generatedCodeColumn,
segment[1] - offsets.sourceIndex,
segment[2] - offsets.sourceCodeLine,
segment[3] - offsets.sourceCodeColumn
];

generatedCodeColumn = segment[0];
offsets.sourceIndex = segment[1];
offsets.sourceCodeLine = segment[2];
offsets.sourceCodeColumn = segment[3];

if ( ~segment[4] ) {
arr.push( segment[4] - offsets.sourceCodeName );
offsets.sourceCodeName = segment[4];
}

return encode( arr );
}).join( ',' );
}).join( ';' );
return encode(this.raw);
};
}

0 comments on commit 8765cb9

Please sign in to comment.