Blame view

天文台pc/tianwentai-ui/node_modules/@jridgewell/remapping/src/remapping.ts 1.41 KB
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  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);
  }