Anton Medvedev
80eb95bf5f
Make sure get() returns nil for map[string]string on missing keys
...
Fixes #723
2025-03-08 17:28:39 +01:00
Anton Medvedev
6c8437454d
Update fuzz tests
2025-03-08 16:19:30 +01:00
Anton Medvedev and GitHub
fee5690347
Refactor checker to use Nature ( #665 )
...
This PR introduces a new concept inside Expr's type checker - Nature.
It's an abstraction other reflect.Type which carries additional information about possible type, methods and builtin function.
I was able to find and fix a few bugs in type checker and optimizer. Implementation of nature concept has proven itself. As well nature will allow to bring more feature for type checker in future.
Why Nature? I was looking for a name to replace Type. Type name already carries much information, as well can be confused with reflect.Type. Nature name should be understood as "nature of the node", same as "type of the node".
2024-06-01 00:09:22 +02:00
Anton Medvedev
27b20607f1
Add sum(map()) optimization
2024-04-13 22:50:11 +02:00
Anton Medvedev and GitHub
772eaba1ca
Add predicate to sum() builtin ( #592 )
...
* Add predicate to sum() builtin
* go mod tidy
2024-04-13 15:37:02 +02:00
Anton Medvedev
ed9dba3991
fuzz: add custom function to fuzzer
2023-12-10 10:44:58 +01:00
Anton Medvedev
f03eec706a
fuzz: exclude error unknown time zone
2023-12-08 18:42:45 +01:00
Anton Medvedev
551d2a7e0f
Use expr-lang/expr
2023-12-03 21:53:01 +01:00
Anton Medvedev
57eb00d735
fuzz: skip string index out of range
2023-11-27 22:03:15 +01:00
Anton Medvedev
18b58750af
fuzz: extend "cannot sum" error to all types
2023-11-24 16:54:23 +01:00
Anton Medvedev
885c769c65
Fix type checker for float arguments
...
Fixes #474
2023-11-24 16:50:09 +01:00
Anton Medvedev
e817dfb8a8
fuzz: ignore sun(any) runtime errors
...
Fixes #464
2023-11-16 22:31:25 +01:00
Anton Medvedev
918fbfb0e4
fuzz: skip too long code
2023-11-16 22:16:12 +01:00
Anton Medvedev
63496e6fe7
Add type checks for 42 in ["a"] as invalid
2023-09-20 14:00:15 +02:00
Anton Medvedev and GitHub
5a19893fcc
Delete fuzz_coverage_test.go
2023-09-16 20:32:32 +02:00
Anton Medvedev
ee0ef27c45
Add fuzz filter
2023-09-08 09:08:35 +02:00
Anton Medvedev
34ce2a5c40
Exclude "operator "in" not defined on float64"
2023-09-05 18:40:03 +02:00
Anton Medvedev
3068794c81
Move fuzz env to fuzz_env.go
2023-09-03 11:10:34 +02:00
Anton Medvedev
de52937e0d
Add fuzz_coverage_test.go
2023-09-01 10:00:05 +02:00
Anton Medvedev
e1bedbde14
Update fuzz testing
2023-08-30 09:55:05 +02:00
Anton Medvedev
eb03bcb945
Remove ExperimentalPipe()
2023-08-24 15:26:36 +02:00
Anton Medvedev
1963e72aac
Move fuzz
2023-08-23 14:40:33 +02:00