Options
All
  • Public
  • Public/Protected
  • All
Menu

Class SourceMapBuilder

表示一个源映射构建器。

desc

源映射构建器提供了解析、读取、生成、合并源映射的功能。

Hierarchy

  • SourceMapBuilder

Implements

Index

Constructors

constructor

Properties

Optional file

file: string

生成文件的路径。

mappings

mappings: Mapping[][] = []

所有映射点。

names

names: string[] = []

所有名称列表。

Optional sourceRoot

sourceRoot: string

所有源文件的根路径。

sources

sources: string[] = []

所有源文件路径。

sourcesContent

sourcesContent: string[] = []

所有源文件内容。

Accessors

hasContentsOfAllSources

  • get hasContentsOfAllSources(): boolean

version

  • get version(): number

Methods

addMapping

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

    Parameters

    • generatedLine: number

      生成的行号(从 0 开始)。

    • generatedColumn: number

      生成的列号(从 0 开始)。

    • Optional sourcePath: string

      映射的源文件路径。

    • Optional sourceLine: number

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

    • Optional sourceColumn: number

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

    • Optional name: string

      映射的名称。

    Returns Mapping

    返回添加的映射点。

addName

  • addName(name: string): number
  • 添加一个名称。

    Parameters

    • name: string

      要添加的名称。

    Returns number

    返回名称的索引。

addSource

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

    Parameters

    • sourcePath: string

      要添加的源文件路径。

    Returns number

    返回源文件的索引。

applySourceMap

  • 根据指定的源映射更新当前源映射。

    desc

    假如有源文件 A,通过一次生成得到 B,其源映射记作 T。 然后基于 B,通过第二次生成得到 C,其源映射记作 M。 那么就需要调用 M.applySourceMap(T),将 M 更新为 A 到 C 的源映射。

    Parameters

    • other: SourceMapBuilder

      要合并的源映射。

    • Default value file: string = other.file

      要合并的源映射所属的生成文件。

    Returns void

computeLines

  • computeLines(startLine?: number, endLine?: number): void
  • 计算并填充所有行的映射点。

    desc

    由于源映射(版本 3)不支持根据上一行的映射自动推断下一行的映射。 因此在生成源映射时必须手动插入每一行的映射点。 此函数可以根据首行信息自动填充下一行的映射点。

    Parameters

    • Default value startLine: number = 0

      开始计算的行号(从 0 开始)。

    • Default value endLine: number = this.mappings.length

      结束计算的行号(从 0 开始)。

    Returns void

eachMapping

  • eachMapping(callback: function): void
  • 遍历所有映射点。

    Parameters

    • callback: function

      遍历的回调函数。

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

          • generatedLine: number
          • c: number
          • sourcePath: string | undefined
          • sourceContent: string | undefined
          • sourceLine: number | undefined
          • sourceColumn: number | undefined
          • name: string | undefined
          • mapping: Mapping

          Returns void

    Returns void

getAllGenerated

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

    Parameters

    • sourcePath: string

      要获取的源文件路径。

    • sourceLine: number

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

    • Optional sourceColumn: number

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

    Returns GeneratedLocation[]

    返回所有生成文件中的行列信息。

getSource

  • getSource(generatedLine: number, generatedColumn: number, alignColumn?: boolean, alignLine?: boolean): SourceLocation
  • 获取生成文件中指定位置的源信息。

    Parameters

    • generatedLine: number

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

    • generatedColumn: number

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

    • Default value alignColumn: boolean = false

      如果为 true,则计算生成位置到有效映射点的列偏移。

    • Default value alignLine: boolean = false

      如果为 true,则计算生成位置到有效映射点的行偏移。

    Returns SourceLocation

    返回包含源文件路径、内容、行列号等信息的源位置对象。

getSourceContent

  • getSourceContent(sourcePath: string): string
  • 获取指定源文件的内容。

    Parameters

    • sourcePath: string

    Returns string

    返回源文件的内容。如果未指定指定源文件路径的内容,则返回 undefined。

indexOfSource

  • indexOfSource(sourcePath: string): number
  • 获取指定源文件的索引。

    Parameters

    • sourcePath: string

      要获取的源文件路径。

    Returns number

    返回索引。如果找不到则返回 -1。

setSourceContent

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

    Parameters

    • sourcePath: string

      要设置的源文件路径。

    • sourceContent: string

      要设置的源文件内容。

    Returns void

toJSON

toString

  • toString(): string

Generated using TypeDoc