@@ -2,71 +2,72 @@ import { Aggregate, Func } from "../ir"
2
2
import { toExpression } from "./ref-proxy.js"
3
3
import type { BasicExpression } from "../ir"
4
4
import type { RefProxy } from "./ref-proxy.js"
5
+ import type { Ref } from "./types.js"
5
6
6
7
// Helper type for any expression-like value
7
- type ExpressionLike = BasicExpression | RefProxy < any > | any
8
+ type ExpressionLike = BasicExpression | RefProxy < any > | Ref < any > | any
8
9
9
10
// Operators
10
11
11
12
export function eq < T > (
12
- left : RefProxy < T > ,
13
- right : T | RefProxy < T > | BasicExpression < T >
13
+ left : RefProxy < T > | undefined ,
14
+ right : T | RefProxy < T > | BasicExpression < T > | undefined
14
15
) : BasicExpression < boolean >
15
16
export function eq < T extends string | number | boolean > (
16
- left : T | BasicExpression < T > ,
17
- right : T | BasicExpression < T >
17
+ left : T | BasicExpression < T > | undefined ,
18
+ right : T | BasicExpression < T > | undefined
18
19
) : BasicExpression < boolean >
19
20
export function eq < T > ( left : Aggregate < T > , right : any ) : BasicExpression < boolean >
20
21
export function eq ( left : any , right : any ) : BasicExpression < boolean > {
21
22
return new Func ( `eq` , [ toExpression ( left ) , toExpression ( right ) ] )
22
23
}
23
24
24
25
export function gt < T > (
25
- left : RefProxy < T > ,
26
- right : T | RefProxy < T > | BasicExpression < T >
26
+ left : RefProxy < T > | undefined ,
27
+ right : T | RefProxy < T > | BasicExpression < T > | undefined
27
28
) : BasicExpression < boolean >
28
29
export function gt < T extends string | number > (
29
- left : T | BasicExpression < T > ,
30
- right : T | BasicExpression < T >
30
+ left : T | BasicExpression < T > | undefined ,
31
+ right : T | BasicExpression < T > | undefined
31
32
) : BasicExpression < boolean >
32
33
export function gt < T > ( left : Aggregate < T > , right : any ) : BasicExpression < boolean >
33
34
export function gt ( left : any , right : any ) : BasicExpression < boolean > {
34
35
return new Func ( `gt` , [ toExpression ( left ) , toExpression ( right ) ] )
35
36
}
36
37
37
38
export function gte < T > (
38
- left : RefProxy < T > ,
39
- right : T | RefProxy < T > | BasicExpression < T >
39
+ left : RefProxy < T > | undefined ,
40
+ right : T | RefProxy < T > | BasicExpression < T > | undefined
40
41
) : BasicExpression < boolean >
41
42
export function gte < T extends string | number > (
42
- left : T | BasicExpression < T > ,
43
- right : T | BasicExpression < T >
43
+ left : T | BasicExpression < T > | undefined ,
44
+ right : T | BasicExpression < T > | undefined
44
45
) : BasicExpression < boolean >
45
46
export function gte < T > ( left : Aggregate < T > , right : any ) : BasicExpression < boolean >
46
47
export function gte ( left : any , right : any ) : BasicExpression < boolean > {
47
48
return new Func ( `gte` , [ toExpression ( left ) , toExpression ( right ) ] )
48
49
}
49
50
50
51
export function lt < T > (
51
- left : RefProxy < T > ,
52
- right : T | RefProxy < T > | BasicExpression < T >
52
+ left : RefProxy < T > | undefined ,
53
+ right : T | RefProxy < T > | BasicExpression < T > | undefined
53
54
) : BasicExpression < boolean >
54
55
export function lt < T extends string | number > (
55
- left : T | BasicExpression < T > ,
56
- right : T | BasicExpression < T >
56
+ left : T | BasicExpression < T > | undefined ,
57
+ right : T | BasicExpression < T > | undefined
57
58
) : BasicExpression < boolean >
58
59
export function lt < T > ( left : Aggregate < T > , right : any ) : BasicExpression < boolean >
59
60
export function lt ( left : any , right : any ) : BasicExpression < boolean > {
60
61
return new Func ( `lt` , [ toExpression ( left ) , toExpression ( right ) ] )
61
62
}
62
63
63
64
export function lte < T > (
64
- left : RefProxy < T > ,
65
- right : T | RefProxy < T > | BasicExpression < T >
65
+ left : RefProxy < T > | undefined ,
66
+ right : T | RefProxy < T > | BasicExpression < T > | undefined
66
67
) : BasicExpression < boolean >
67
68
export function lte < T extends string | number > (
68
- left : T | BasicExpression < T > ,
69
- right : T | BasicExpression < T >
69
+ left : T | BasicExpression < T > | undefined ,
70
+ right : T | BasicExpression < T > | undefined
70
71
) : BasicExpression < boolean >
71
72
export function lte < T > ( left : Aggregate < T > , right : any ) : BasicExpression < boolean >
72
73
export function lte ( left : any , right : any ) : BasicExpression < boolean > {
@@ -211,6 +212,9 @@ export function upper(
211
212
| RefProxy < string >
212
213
| RefProxy < string | undefined >
213
214
| RefProxy < string | null >
215
+ | Ref < string >
216
+ | Ref < string | undefined >
217
+ | Ref < string | null >
214
218
| string
215
219
| string | undefined
216
220
| string | null
0 commit comments