UNPKG

@glint/core

Version:

A CLI for performing typechecking on Glimmer templates

79 lines (78 loc) 3.07 kB
import MappingTree from './mapping-tree.js'; export declare type Range = { start: number; end: number; }; export declare type RangeWithMapping = Range & { mapping?: MappingTree; }; export declare type RangeWithMappingAndSource = RangeWithMapping & { source: SourceFile; }; export declare type CorrelatedSpan = { /** Where this span of content originated */ originalFile: SourceFile; /** The offset where this content began in its original source */ originalStart: number; /** The length of this span's content in its original source */ originalLength: number; /** The location in the untransformed source where this span is spliced in */ insertionPoint: number; /** The contents of this span in the transformed output */ transformedSource: string; /** The offset in the transformed output of this span */ transformedStart: number; /** The length of this span in the transformed output */ transformedLength: number; /** A mapping of offsets within this span between its original and transformed versions */ mapping?: MappingTree; }; export declare type DirectiveKind = 'ignore' | 'expect-error'; export declare type Directive = { kind: DirectiveKind; source: SourceFile; location: Range; areaOfEffect: Range; }; export declare type TransformError = { isContentTagError?: boolean; message: string; location: Range; source: SourceFile; }; export declare type SourceFile = { filename: string; contents: string; }; /** * This class represents the result of transforming a TypeScript * module with one or more embedded HBS templates. It contains * both the original and transformed source text of the module, as * well any errors encountered during transformation. * * It can be queried with an offset or range in either the * original or transformed source to determine the corresponding * offset or range in the other. */ export default class TransformedModule { readonly transformedContents: string; readonly errors: ReadonlyArray<TransformError>; readonly directives: ReadonlyArray<Directive>; private readonly correlatedSpans; constructor(transformedContents: string, errors: ReadonlyArray<TransformError>, directives: ReadonlyArray<Directive>, correlatedSpans: Array<CorrelatedSpan>); toDebugString(): string; getOriginalOffset(transformedOffset: number): { source?: SourceFile; offset: number; }; getTransformedOffset(originalFileName: string, originalOffset: number): number; getOriginalRange(transformedStart: number, transformedEnd: number): RangeWithMappingAndSource; getTransformedRange(originalFileName: string, originalStart: number, originalEnd: number): RangeWithMapping; findTemplateAtOriginalOffset(originalFileName: string, originalOffset: number): { originalContentStart: number; originalContentEnd: number; originalContent: string; } | null; private determineOriginalOffsetAndSpan; private determineTransformedOffsetAndSpan; }