123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- 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
|