@vuedx/vue-virtual-textdocument
TypeScript icon, indicating that this package has built-in type declarations

0.7.6 • Public • Published

Vue Virtual TextDocument

An implementation of virtual filesystem for accessing blocks in a .vue file as independent files.

npm add @vuedx/vue-virtual-textdocument

API

VueSFCDocument

More info

Signature:

export declare class VueSFCDocument implements TextDocument {
  get blocks(): SFCBlock[];
  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;
  get descriptor(): SFCDescriptor;
  get errors(): Array<CompilerError | SyntaxError>;
  get fileName(): string;
  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;
  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;
  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;
  get generated(): TextDocument;
  readonly generatedFileName: string;
  generatedOffsetAt(offset: number): number | null;
  generatedPositionFor(position: Position): Position | null;
  getBlockAt(offset: number): SFCBlock | null;
  getLineAndCharacterOfPosition(position: number): Position;
  getSourceFile(fileName?: string): {
        fileName: string;
        readonly text: string;
        lineMap: unknown;
        getLineAndCharacterOfPosition: (position: number) => Position;
    };
  getText(range?: Range): string;
  get languageId(): string;
  get lineCount(): number;
  lineMap: unknown | undefined;
  get map(): string;
  offsetAt(position: Position): number;
  readonly options: Required<CompileOptions>;
  get original(): TextDocument;
  readonly originalFileName: string;
  originalOffsetAt(offset: number): number | null;
  originalPositionFor(position: Position): Position | null;
  positionAt(offset: number): Position;
  get snapshot(): VueToTsxSnapshot;
  get templateAST(): RootNode | undefined;
  get text(): string;
  update(changes: TextDocumentContentChangeEvent[], version: number): void;
  get uri(): string;
  get version(): number;
}

Members:

create

Signature:

static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;
Parameter Type Description
fileName string -
content string -
options Omit<CompileOptions, 'cache' | 'fileName'> -
version number -

findGeneratedTextSpan

Signature:

findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;
Parameter Type Description
spanInOriginalText TextSpan -

findMapping

Signature:

findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;
Parameter Type Description
positionType 'original' | 'generated' -
position Position -
searchBias SourceMapBiasType -

findOriginalTextSpan

Signature:

findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;
Parameter Type Description
spanInGeneratedText TextSpan -

generatedOffsetAt

Signature:

generatedOffsetAt(offset: number): number | null;
Parameter Type Description
offset number -

generatedPositionFor

Signature:

generatedPositionFor(position: Position): Position | null;
Parameter Type Description
position Position -

getBlockAt

Signature:

getBlockAt(offset: number): SFCBlock | null;
Parameter Type Description
offset number -

getLineAndCharacterOfPosition

Signature:

getLineAndCharacterOfPosition(position: number): Position;
Parameter Type Description
position number -

getSourceFile

Signature:

getSourceFile(fileName?: string): {
        fileName: string;
        readonly text: string;
        lineMap: unknown;
        getLineAndCharacterOfPosition: (position: number) => Position;
    };
Parameter Type Description
fileName string -

getText

Signature:

getText(range?: Range): string;
Parameter Type Description
range Range -

offsetAt

Signature:

offsetAt(position: Position): number;
Parameter Type Description
position Position -

originalOffsetAt

Signature:

originalOffsetAt(offset: number): number | null;
Parameter Type Description
offset number -

originalPositionFor

Signature:

originalPositionFor(position: Position): Position | null;
Parameter Type Description
position Position -

positionAt

Signature:

positionAt(offset: number): Position;
Parameter Type Description
offset number -

update

Signature:

update(changes: TextDocumentContentChangeEvent[], version: number): void;
Parameter Type Description
changes TextDocumentContentChangeEvent[] -
version number -


Types

TextSpan

export interface TextSpan {
  length: number;
  start: number;
}

Support

This package is part of VueDX project, maintained by Rahul Kadyan. You can 💖 sponsor him for continued development of this package and other VueDX tools.

Package Sidebar

Install

npm i @vuedx/vue-virtual-textdocument

Weekly Downloads

2,587

Version

0.7.6

License

MIT

Unpacked Size

139 kB

Total Files

11

Last publish

Collaborators

  • znck