43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import buildSourceMapTree from './build-source-map-tree';
 | 
						|
import { traceMappings } from './source-map-tree';
 | 
						|
import SourceMap from './source-map';
 | 
						|
 | 
						|
import type { SourceMapInput, SourceMapLoader, Options } from './types';
 | 
						|
export type {
 | 
						|
  SourceMapSegment,
 | 
						|
  EncodedSourceMap,
 | 
						|
  EncodedSourceMap as RawSourceMap,
 | 
						|
  DecodedSourceMap,
 | 
						|
  SourceMapInput,
 | 
						|
  SourceMapLoader,
 | 
						|
  LoaderContext,
 | 
						|
  Options,
 | 
						|
} from './types';
 | 
						|
export type { SourceMap };
 | 
						|
 | 
						|
/**
 | 
						|
 * Traces through all the mappings in the root sourcemap, through the sources
 | 
						|
 * (and their sourcemaps), all the way back to the original source location.
 | 
						|
 *
 | 
						|
 * `loader` will be called every time we encounter a source file. If it returns
 | 
						|
 * a sourcemap, we will recurse into that sourcemap to continue the trace. If
 | 
						|
 * it returns a falsey value, that source file is treated as an original,
 | 
						|
 * unmodified source file.
 | 
						|
 *
 | 
						|
 * Pass `excludeContent` to exclude any self-containing source file content
 | 
						|
 * from the output sourcemap.
 | 
						|
 *
 | 
						|
 * Pass `decodedMappings` to receive a SourceMap with decoded (instead of
 | 
						|
 * VLQ encoded) mappings.
 | 
						|
 */
 | 
						|
export default function remapping(
 | 
						|
  input: SourceMapInput | SourceMapInput[],
 | 
						|
  loader: SourceMapLoader,
 | 
						|
  options?: boolean | Options,
 | 
						|
): SourceMap {
 | 
						|
  const opts =
 | 
						|
    typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };
 | 
						|
  const tree = buildSourceMapTree(input, loader);
 | 
						|
  return new SourceMap(traceMappings(tree), opts);
 | 
						|
}
 |