@vue.ts/language
Version:
Vue 3 Language Helper
29 lines (28 loc) • 1.77 kB
text/typescript
import * as vue from "@vue/language-core";
import * as typescript_lib_tsserverlibrary1 from "typescript/lib/tsserverlibrary";
import ts from "typescript/lib/tsserverlibrary";
//#region src/helpers.d.ts
declare function createHelpers(language: vue.Language<string>, tsLs: ts.LanguageService, vueCompilerOptions: vue.VueCompilerOptions, ts: typeof typescript_lib_tsserverlibrary1): {
parseScriptSetupRanges: (ast: ts.SourceFile) => vue.ScriptSetupRanges;
getScriptSetupBlock: (normalizedFilepath: string) => vue.Sfc["scriptSetup"];
getScriptSetupAst: (normalizedFilepath: string) => ts.SourceFile | undefined;
getVirtualFileOrTsAst: (normalizedFilepath: string) => ts.SourceFile | undefined;
traverseAst: (ast: ts.SourceFile, cb: (node: ts.Node) => void) => void;
findNodeByRange: (ast: ts.SourceFile, filter: (ranges: vue.ScriptSetupRanges) => vue.TextRange | undefined) => ts.Node | undefined;
findNodeByName: (ast: ts.SourceFile, name: string) => ts.Node | undefined;
};
//#endregion
//#region src/index.d.ts
declare function createLanguage(tsconfigPath: string, ts?: typeof typescript_lib_tsserverlibrary1): ReturnType<typeof createLanguageWorker>;
declare function createLanguageWorker(ts: typeof typescript_lib_tsserverlibrary1, getConfigAndFiles: () => [commandLine: vue.ParsedCommandLine, fileNames: string[]], rootPath: string): {
tsLs: ts.LanguageService;
updateFile: (fileName: string, text: string) => void;
deleteFile: (fileName: string) => void;
reload: () => void;
clearCache: () => void;
} & ReturnType<typeof createHelpers>;
type Language = ReturnType<typeof createLanguage>;
declare function ensureLanguage(tsconfigPath: string): void;
declare function getLanguage(): Language;
//#endregion
export { ensureLanguage, getLanguage };