Options
All
  • Public
  • Public/Protected
  • All
Menu

Class SourceMapBuilder

表示一个源映射(Source Map)构建器,用于解析、读取、生成、合并源映射

Hierarchy

  • SourceMapBuilder

Implements

Index

Constructors

constructor

  • 初始化新的源映射构建器

    Parameters

    • Optional sourceMapData: SourceMapData

      要转换的源映射数据

    Returns SourceMapBuilder

Properties

Optional file

file: string

获取或设置生成文件的路径

mappings

mappings: Mapping[][] = []

获取所有映射点

names

names: string[] = []

获取所有符号名

Optional sourceRoot

sourceRoot: string

获取或设置所有源文件的根路径

sources

sources: string[] = []

获取所有源文件的路径

sourcesContent

sourcesContent: string[] = []

获取所有源文件的内容

Accessors

version

  • get version(): number
  • 获取当前源映射构建器支持的版本号

    Returns number

Methods

addMapping

  • addMapping(generatedLine: number, generatedColumn: number, sourcePath?: string | number, sourceLine?: number, sourceColumn?: number, name?: string | number): Mapping
  • 添加一个映射点

    Parameters

    • generatedLine: number

      生成的行号(从 0 开始)

    • generatedColumn: number

      生成的列号(从 0 开始)

    • Optional sourcePath: string | number

      映射的源文件路径或索引

    • Optional sourceLine: number

      映射的源文件行号(从 0 开始),如果 sourcePath 不为 undefined,则 sourceLine 不为 undefined

    • Optional sourceColumn: number

      映射的源文件列号(从 0 开始),如果 sourcePath 不为 undefined,则 sourceColumn 不为 undefined

    • Optional name: string | number

      符号名或索引

    Returns Mapping

    返回添加的映射点

addName

  • addName(name: string): number
  • 添加一个符号名

    Parameters

    • name: string

      要添加的符号名

    Returns number

    返回符号名的索引

addSource

  • addSource(sourcePath: string): number
  • 添加一个源文件

    Parameters

    • sourcePath: string

      要添加的源文件路径

    Returns number

    返回源文件的索引

applySourceMap

  • 合并新的源映射

    description

    假如有源文件 A,通过一次生成得到 B,其源映射记作 S1; 然后 B 通过再次生成得到 C,其源映射记作 S2; 此时需要调用 S2.applySourceMap(S1),将 S2 更新为 A 到 C 的源映射

    注意
    1. 函数仅返回合并的源映射和当前源映射的最小交集
    2. 所有路径都应该是绝对路径,且区分大小写
    3. sourceRoot 会被忽略

    Parameters

    Returns void

eachMapping

  • eachMapping(callback: function): boolean
  • 遍历所有映射点并调用指定的函数

    Parameters

    • callback: function

      遍历的回调函数

        • (generatedLine: number, generatedColumn: number, sourcePath: string | undefined, sourceLine: number | undefined, sourceColumn: number | undefined, name: string | undefined, mapping: Mapping): void | boolean
        • Parameters

          • generatedLine: number

            生成文件的行号(从 0 开始)

          • generatedColumn: number

            生成文件的列号(从 0 开始)

          • sourcePath: string | undefined

            源文件的路径

          • sourceLine: number | undefined

            源文件的行号(从 0 开始)

          • sourceColumn: number | undefined

            源文件的列号(从 0 开始)

          • name: string | undefined

            符号名

          • mapping: Mapping

            原始映射点

          Returns void | boolean

    Returns boolean

    如果回调函数返回 false,则返回 false,否则返回 true

getAllGenerated

  • getAllGenerated(sourcePath: string | number, sourceLine: number, sourceColumn?: number): GeneratedLocation[]
  • 获取源文件中指定位置生成后的所有位置

    Parameters

    • sourcePath: string | number

      要获取的源文件路径或索引

    • sourceLine: number

      源文件中的行号(从 0 开始)

    • Optional sourceColumn: number

      源文件中的列号(从 0 开始),如果未提供则返回指定行所有列的生成信息

    Returns GeneratedLocation[]

getSource

  • getSource(generatedLine: number, generatedColumn: number, adjustColumn?: boolean, adjustLine?: boolean): SourceLocation
  • 获取生成文件中指定位置的源信息,如果找不到映射点则返回空

    Parameters

    • generatedLine: number

      生成文件中的行号(从 0 开始)

    • generatedColumn: number

      生成文件中的列号(从 0 开始)

    • Default value adjustColumn: boolean = false

      是否根据映射点和指定列计算偏移后的列号

    • Default value adjustLine: boolean = false

      如果找不到匹配的映射点,是否往前搜索其它行的映射点并计算指定行的位置

    Returns SourceLocation

getSourceContent

  • getSourceContent(sourcePath: string): string
  • 获取指定源文件的内容,如果未找到源文件内容则返回 undefined

    Parameters

    • sourcePath: string

      要获取的源文件路径

    Returns string

setSourceContent

  • setSourceContent(sourcePath: string, sourceContent: string): void
  • 设置指定源文件的内容

    Parameters

    • sourcePath: string

      要设置的源文件路径

    • sourceContent: string

      要设置的源文件内容

    Returns void

toJSON

toString

  • toString(): string

Generated using TypeDoc