Spaces:
Sleeping
Sleeping
| import { AnyMap, encodedMappings, originalPositionFor, generatedPositionFor, allGeneratedPositionsFor, sourceContentFor, eachMapping } from '@jridgewell/trace-mapping'; | |
| import { GenMapping, fromMap, maybeAddMapping, setSourceContent, toEncodedMap, toDecodedMap } from '@jridgewell/gen-mapping'; | |
| class SourceMapConsumer { | |
| constructor(map, mapUrl) { | |
| const trace = (this._map = new AnyMap(map, mapUrl)); | |
| this.file = trace.file; | |
| this.names = trace.names; | |
| this.sourceRoot = trace.sourceRoot; | |
| this.sources = trace.resolvedSources; | |
| this.sourcesContent = trace.sourcesContent; | |
| this.version = trace.version; | |
| } | |
| static fromSourceMap(map, mapUrl) { | |
| // This is more performant if we receive | |
| // a @jridgewell/source-map SourceMapGenerator | |
| if (map.toDecodedMap) { | |
| return new SourceMapConsumer(map.toDecodedMap(), mapUrl); | |
| } | |
| // This is a fallback for `source-map` and `source-map-js` | |
| return new SourceMapConsumer(map.toJSON(), mapUrl); | |
| } | |
| get mappings() { | |
| return encodedMappings(this._map); | |
| } | |
| originalPositionFor(needle) { | |
| return originalPositionFor(this._map, needle); | |
| } | |
| generatedPositionFor(originalPosition) { | |
| return generatedPositionFor(this._map, originalPosition); | |
| } | |
| allGeneratedPositionsFor(originalPosition) { | |
| return allGeneratedPositionsFor(this._map, originalPosition); | |
| } | |
| hasContentsOfAllSources() { | |
| if (!this.sourcesContent || this.sourcesContent.length !== this.sources.length) { | |
| return false; | |
| } | |
| for (const content of this.sourcesContent) { | |
| if (content == null) { | |
| return false; | |
| } | |
| } | |
| return true; | |
| } | |
| sourceContentFor(source, nullOnMissing) { | |
| const sourceContent = sourceContentFor(this._map, source); | |
| if (sourceContent != null) { | |
| return sourceContent; | |
| } | |
| if (nullOnMissing) { | |
| return null; | |
| } | |
| throw new Error(`"${source}" is not in the SourceMap.`); | |
| } | |
| eachMapping(callback, context /*, order?: number*/) { | |
| // order is ignored as @jridgewell/trace-map doesn't implement it | |
| eachMapping(this._map, context ? callback.bind(context) : callback); | |
| } | |
| destroy() { | |
| // noop. | |
| } | |
| } | |
| class SourceMapGenerator { | |
| constructor(opts) { | |
| // TODO :: should this be duck-typed ? | |
| this._map = opts instanceof GenMapping ? opts : new GenMapping(opts); | |
| } | |
| static fromSourceMap(consumer) { | |
| return new SourceMapGenerator(fromMap(consumer)); | |
| } | |
| addMapping(mapping) { | |
| maybeAddMapping(this._map, mapping); | |
| } | |
| setSourceContent(source, content) { | |
| setSourceContent(this._map, source, content); | |
| } | |
| toJSON() { | |
| return toEncodedMap(this._map); | |
| } | |
| toString() { | |
| return JSON.stringify(this.toJSON()); | |
| } | |
| toDecodedMap() { | |
| return toDecodedMap(this._map); | |
| } | |
| } | |
| export { SourceMapConsumer, SourceMapGenerator }; | |
| //# sourceMappingURL=source-map.mjs.map | |