1 | import { Node, ScriptKind, SourceFile, SyntaxKind } from 'typescript';
|
2 | export declare type TSQueryNodeTransformer = (node: Node) => Node | null | undefined;
|
3 | export declare type TSQueryStringTransformer = (node: Node) => string | null | undefined;
|
4 | export declare type TSQueryApi = {
|
5 | <T extends Node = Node>(ast: string | Node, selector: string, options?: TSQueryOptions): Array<T>;
|
6 | ast(source: string, fileName?: string, scriptKind?: ScriptKind): SourceFile;
|
7 | map(ast: SourceFile, selector: string, nodeTransformer: TSQueryNodeTransformer, options?: TSQueryOptions): SourceFile;
|
8 | match<T extends Node = Node>(ast: Node, selector: TSQuerySelectorNode, options?: TSQueryOptions): Array<T>;
|
9 | parse(selector: string, options?: TSQueryOptions): TSQuerySelectorNode;
|
10 | project(configFilePath: string): Array<SourceFile>;
|
11 | projectFiles(configFilePath: string): Array<string>;
|
12 | query<T extends Node = Node>(ast: string | Node, selector: string, options?: TSQueryOptions): Array<T>;
|
13 | replace(source: string, selector: string, stringTransformer: TSQueryStringTransformer, options?: TSQueryOptions): string;
|
14 | syntaxKindName(node: SyntaxKind): string;
|
15 | };
|
16 | export declare type TSQueryAttributeOperatorType = 'regexp' | 'literal' | 'type';
|
17 | export declare type TSQueryAttributeOperator = (obj: any, value: any, type: TSQueryAttributeOperatorType) => boolean;
|
18 | export declare type TSQueryAttributeOperators = {
|
19 | [key: string]: TSQueryAttributeOperator;
|
20 | };
|
21 | export declare type TSQueryMatcher = (node: Node, selector: TSQuerySelectorNode, ancestry: Array<Node>, options: TSQueryOptions) => boolean;
|
22 | export declare type TSQueryMatchers = {
|
23 | [key: string]: TSQueryMatcher;
|
24 | };
|
25 | export declare type TSQueryProperties = {
|
26 | kindName: string;
|
27 | name?: string;
|
28 | text: string;
|
29 | value?: any;
|
30 | };
|
31 | export declare type TSQueryOptions = {
|
32 | visitAllChildren?: boolean;
|
33 | };
|
34 | export declare type TSQuerySelectorNode = {
|
35 | [key: string]: TSQuerySelectorNode | Array<TSQuerySelectorNode> | RegExp | boolean | number | string;
|
36 | index: TSQuerySelectorNode;
|
37 | left: TSQuerySelectorNode;
|
38 | name: string;
|
39 | operator: '=' | '!=' | '<=' | '<' | '>=' | '>';
|
40 | right: TSQuerySelectorNode;
|
41 | selectors: Array<TSQuerySelectorNode>;
|
42 | subject: boolean;
|
43 | type: TSQueryAttributeOperatorType;
|
44 | value: TSQuerySelectorNode | RegExp | number | string;
|
45 | };
|
46 | export declare type TSQueryTraverseOptions = {
|
47 | enter: (node: Node, parent: Node | null) => void;
|
48 | leave: (node: Node, parent: Node | null) => void;
|
49 | visitAllChildren: boolean;
|
50 | };
|