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