-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathindex.d.ts
101 lines (98 loc) · 2.11 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
export = SplToSqlConverter;
export as namespace SplToSqlConverter;
declare namespace SplToSqlConverter {
interface IParseOptions {
/**
* 结果是否返回json
* @default false
*/
json?: boolean;
/**
* 是否根据开始时间推算流的老化时间
* @default true
*/
hasAgingTime?: boolean;
/**
* 时间精度
* @value 3(毫秒)
* @value 9(纳秒)
* @default 9
*/
timePrecision?: 3 | 9;
/**
* 是否包含开始时间
* @default true
*/
includeStartTime?: boolean;
/**
* 是否包含结束时间
* @default true
*/
includeEndTime?: boolean;
}
interface IParseResult {
result: {
/**
* 原始SPL
*/
source: string;
/**
* 转换出来的SQL
*/
target: string;
/**
* 参数-值的映射对
*/
params: {
[propsName: string]: string | Array<string | number>;
};
dev: {
expression: {
/**
* 同 `target` 字段
*/
WHERE: string;
/**
* 排序条件
*/
ORDER_BY: string;
/**
* LIMIT条件
*/
LIMIT: string;
/**
* 时间范围
*/
GENTIMES: {
time_field: string;
time_from: number;
time_to: number;
};
/**
* 自定义返回的字段
*/
COLUMNS: string;
};
/**
* SPL中包含的查询字段
*
* @description: 可以用来做字段合规性检验
*/
fields: string[];
fieldCollection: {
field: string;
fieldType:
| "IPv4"
| "IPv6"
| "CIDR_IPv4"
| "CIDR_IPv6"
| "Array<IPv4>"
| "Array<IPv6>";
operator: "like" | "not_like" | "=" | "!=" | ">" | ">=" | "<" | "<=";
operand: string | number;
}[];
};
};
}
function parse(spl: string, options?: IParseOptions): IParseResult;
}