UNPKG

@vue.ts/language

Version:
127 lines (126 loc) 4 kB
import * as vue from "@vue/language-core"; import * as typescript_lib_tsserverlibrary0 from "typescript/lib/tsserverlibrary"; import ts from "typescript/lib/tsserverlibrary"; //#region src/index.d.ts declare function createLanguage(tsconfigPath: string, ts?: typeof typescript_lib_tsserverlibrary0): ReturnType<typeof createLanguageWorker>; declare function createLanguageWorker(loadParsedCommandLine: () => vue.ParsedCommandLine, rootPath: string, ts: typeof typescript_lib_tsserverlibrary0): { updateFile(fileName: string, text: string): void; deleteFile(fileName: string): void; reload(): void; clearCache(): void; __internal__: { tsLs: ts.LanguageService; program: ts.Program; typeChecker: ts.TypeChecker; }; parseScriptSetupRanges: (ast: ts.SourceFile) => { leadingCommentEndOffset: number; importSectionEndOffset: number; bindings: { range: vue.TextRange; moduleName?: string; isDefaultImport?: boolean; isNamespace?: boolean; }[]; defineModel: { localName?: vue.TextRange; name?: vue.TextRange; type?: vue.TextRange; modifierType?: vue.TextRange; runtimeType?: vue.TextRange; defaultValue?: vue.TextRange; required?: boolean; comments?: vue.TextRange; argNode?: ts.Expression; }[]; defineProps: ({ callExp: vue.TextRange; exp: vue.TextRange; arg?: vue.TextRange; typeArg?: vue.TextRange; } & { name?: string; destructured?: Map<string, ts.Expression | undefined>; destructuredRest?: string; statement: vue.TextRange; argNode?: ts.Expression; }) | undefined; withDefaults: (Omit<{ callExp: vue.TextRange; exp: vue.TextRange; arg?: vue.TextRange; typeArg?: vue.TextRange; }, "typeArg"> & { argNode?: ts.Expression; }) | undefined; defineEmits: ({ callExp: vue.TextRange; exp: vue.TextRange; arg?: vue.TextRange; typeArg?: vue.TextRange; } & { name?: string; hasUnionTypeArg?: boolean; statement: vue.TextRange; }) | undefined; defineSlots: ({ callExp: vue.TextRange; exp: vue.TextRange; arg?: vue.TextRange; typeArg?: vue.TextRange; } & { name?: string; statement: vue.TextRange; }) | undefined; defineExpose: { callExp: vue.TextRange; exp: vue.TextRange; arg?: vue.TextRange; typeArg?: vue.TextRange; } | undefined; defineOptions: { name?: string; inheritAttrs?: string; } | undefined; useAttrs: { callExp: vue.TextRange; exp: vue.TextRange; arg?: vue.TextRange; typeArg?: vue.TextRange; }[]; useCssModule: { callExp: vue.TextRange; exp: vue.TextRange; arg?: vue.TextRange; typeArg?: vue.TextRange; }[]; useSlots: { callExp: vue.TextRange; exp: vue.TextRange; arg?: vue.TextRange; typeArg?: vue.TextRange; }[]; useTemplateRef: ({ callExp: vue.TextRange; exp: vue.TextRange; arg?: vue.TextRange; typeArg?: vue.TextRange; } & { name?: string; })[]; }; getScriptSetupBlock: (normalizedFilepath: string) => (vue.SfcBlock & { generic: vue.SfcBlockAttr | undefined; ast: ts.SourceFile; }) | undefined; 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; }; type Language = ReturnType<typeof createLanguage>; declare function ensureLanguage(tsconfigPath: string): void; declare function getLanguage(): Language; //#endregion export { ensureLanguage, getLanguage };