(value: any)
| 952 | |
| 953 | // Helper to ensure we have a BasicExpression/Aggregate for a value |
| 954 | function toExpr(value: any): BasicExpression | Aggregate { |
| 955 | if (value === undefined) return toExpression(null) |
| 956 | if ( |
| 957 | value instanceof AggregateExpr || |
| 958 | value instanceof FuncExpr || |
| 959 | value instanceof PropRef || |
| 960 | value instanceof ValueExpr |
| 961 | ) { |
| 962 | return value as BasicExpression | Aggregate |
| 963 | } |
| 964 | return toExpression(value) |
| 965 | } |
| 966 | |
| 967 | function isPlainObject(value: any): value is Record<string, any> { |
| 968 | return ( |
no test coverage detected