|
|
# @jridgewell/source-map
> Packages `@jridgewell/trace-mapping` and `@jridgewell/gen-mapping` into the familiar source-map API
This isn't the full API, but it's the core functionality. This wraps[@jridgewell/trace-mapping][trace-mapping] and [@jridgewell/gen-mapping][gen-mapping]implementations.
## Installation
```shnpm install @jridgewell/source-map```
## Usage
TODO
### SourceMapConsumer
```typescriptimport { SourceMapConsumer } from '@jridgewell/source-map';const smc = new SourceMapConsumer({ version: 3, names: ['foo'], sources: ['input.js'], mappings: 'AAAAA',});```
#### SourceMapConsumer.fromSourceMap(mapGenerator[, mapUrl])
Transforms a `SourceMapGenerator` into a `SourceMapConsumer`.
```typescriptconst smg = new SourceMapGenerator();
const smc = SourceMapConsumer.fromSourceMap(map);smc.originalPositionFor({ line: 1, column: 0 });```
#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)
```typescriptconst smc = new SourceMapConsumer(map);smc.originalPositionFor({ line: 1, column: 0 });```
#### SourceMapConsumer.prototype.mappings
```typescriptconst smc = new SourceMapConsumer(map);smc.mappings; // AAAA```
#### SourceMapConsumer.prototype.allGeneratedPositionsFor(originalPosition)
```typescriptconst smc = new SourceMapConsumer(map);smc.allGeneratedpositionsfor({ line: 1, column: 5, source: "baz.ts" });// [// { line: 2, column: 8 }// ]```
#### SourceMapConsumer.prototype.eachMapping(callback[, context[, order]])
> This implementation currently does not support the "order" parameter.
> This function can only iterate in Generated order.
```typescriptconst smc = new SourceMapConsumer(map);smc.eachMapping((mapping) => {// { source: 'baz.ts',// generatedLine: 4,// generatedColumn: 5,// originalLine: 4,// originalColumn: 5,// name: null }});```
#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition)
```typescriptconst smc = new SourceMapConsumer(map);smc.generatedPositionFor({ line: 1, column: 5, source: "baz.ts" });// { line: 2, column: 8 }```
#### SourceMapConsumer.prototype.hasContentsOfAllSources()
```typescriptconst smc = new SourceMapConsumer(map);smc.hasContentsOfAllSources();// true```
#### SourceMapConsumer.prototype.sourceContentFor(source[, returnNullOnMissing])
```typescriptconst smc = new SourceMapConsumer(map);smc.generatedPositionFor("baz.ts");// "export default ..."```
#### SourceMapConsumer.prototype.version
Returns the source map's version
### SourceMapGenerator
```typescriptimport { SourceMapGenerator } from '@jridgewell/source-map';const smg = new SourceMapGenerator({ file: 'output.js', sourceRoot: 'https://example.com/',});```
#### SourceMapGenerator.fromSourceMap(map)
Transform a `SourceMapConsumer` into a `SourceMapGenerator`.
```typescriptconst smc = new SourceMapConsumer();const smg = SourceMapGenerator.fromSourceMap(smc);```
#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]])
> This method is not implemented yet
#### SourceMapGenerator.prototype.addMapping(mapping)
```typescriptconst smg = new SourceMapGenerator();smg.addMapping({ generated: { line: 1, column: 0 }, source: 'input.js', original: { line: 1, column: 0 }, name: 'foo',});```
#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)
```typescriptconst smg = new SourceMapGenerator();smg.setSourceContent('input.js', 'foobar');```
#### SourceMapGenerator.prototype.toJSON()
```typescriptconst smg = new SourceMapGenerator();smg.toJSON(); // { version: 3, names: [], sources: [], mappings: '' }```
#### SourceMapGenerator.prototype.toString()
```typescriptconst smg = new SourceMapGenerator();smg.toJSON(); // "{version:3,names:[],sources:[],mappings:''}"```
#### SourceMapGenerator.prototype.toDecodedMap()
```typescriptconst smg = new SourceMapGenerator();smg.toDecodedMap(); // { version: 3, names: [], sources: [], mappings: [] }```
## Known differences with other implementations
This implementation has some differences with `source-map` and `source-map-js`.
- `SourceMapConsumer.prototype.eachMapping()` - Does not support the `order` argument- `SourceMapGenerator.prototype.applySourceMap()` - Not implemented
[trace-mapping]: https://github.com/jridgewell/sourcemaps/tree/main/packages/trace-mapping/[gen-mapping]: https://github.com/jridgewell/sourcemaps/tree/main/packages/gen-mapping/
|