1// This needs to be in its own file to avoid circular references
2
3// Builtin Predicates
4// not using 'any' and 'never' since they are reserved keywords
5export enum MatcherID {
6  anyMatch = 'anyMatch', // checks children
7  allMatch = 'allMatch', // checks children
8  invertMatch = 'invertMatch', // checks child
9  alwaysMatch = 'alwaysMatch',
10  neverMatch = 'neverMatch',
11}
12
13export enum FieldMatcherID {
14  // Specific Types
15  numeric = 'numeric',
16  time = 'time', // Can be multiple times
17  first = 'first',
18  firstTimeField = 'firstTimeField', // Only the first fime field
19
20  // With arguments
21  byType = 'byType',
22  byName = 'byName',
23  byNames = 'byNames',
24  byRegexp = 'byRegexp',
25  byRegexpOrNames = 'byRegexpOrNames',
26  byFrameRefID = 'byFrameRefID',
27  // byIndex = 'byIndex',
28  // byLabel = 'byLabel',
29}
30
31/**
32 * Field name matchers
33 */
34export enum FrameMatcherID {
35  byName = 'byName',
36  byRefId = 'byRefId',
37  byIndex = 'byIndex',
38  byLabel = 'byLabel',
39}
40
41/**
42 * @public
43 */
44export enum ValueMatcherID {
45  regex = 'regex',
46  isNull = 'isNull',
47  isNotNull = 'isNotNull',
48  greater = 'greater',
49  greaterOrEqual = 'greaterOrEqual',
50  lower = 'lower',
51  lowerOrEqual = 'lowerOrEqual',
52  equal = 'equal',
53  notEqual = 'notEqual',
54  between = 'between',
55}
56