Burak
ad3282caf4
Builtin UUID module ( #68 )
...
* Implement builtin `uuid.parse` method
* Implement builtin `uuid.rfc4122` method
* Parse timestamps for v2 UUIDs
2023-12-23 09:35:20 -08:00
Anand Krishnamoorthi
f6140b6be5
More builtins and semantic improvements ( #66 )
...
- base64 builtins
- base64url builtins
- jsonschema builtins
- json.remove builtin
- handle composite index variables
- use dashu_float since rust_decimal has lesser precision
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-12-21 13:34:48 -08:00
Anand Krishnamoorthi
577e1aa8db
More OPA conformance; in-progress: ability to trace interpreter ( #63 )
...
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-12-16 17:50:59 -08:00
Anand Krishnamoorthi
70bf371ebf
crypto builtins ( #57 )
...
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-12-06 07:59:04 -08:00
Anand Krishnamoorthi
ab968c2386
Regex and Glob builtins ( #56 )
...
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-12-03 12:08:17 -08:00
Anand Krishnamoorthi
ed3492fd7b
Formalize concept of a Number ( #55 )
...
Number is implemented using rust_decimal::Decimal which uses a 96 bit mantissa.
TODO:
a) Support u64, i64 variants
b) Determine desired semantics for floating-point
c) Determine desired big integer length
d) Explore other big int/big float crates
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-12-01 08:45:59 -08:00
Anand Krishnamoorthi
bb0ca29753
Lock down ACI tests and more OPA test folders ( #54 )
...
Borrowed from rego-cpp
Significantly (> 10 times) faster execution.
$ cargo test -r --test aci
aci/mount_device passed 9.597958ms
aci/mount_overlay passed 10.159208ms
aci/scratch_mount passed 8.598875ms
aci/create_container passed 10.237292ms
aci/shutdown_container passed 6.904084ms
aci/scratch_unmount passed 6.530875ms
aci/unmount_overlay passed 5.958875ms
aci/unmount_device passed 5.657834ms
aci/load_fragment passed 6.049917ms
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-12-01 08:32:11 -08:00
Anand Krishnamoorthi
4db2270dcf
More library functions ( #51 )
...
- units.parse, units.parse_bytes
- json.is_valid, json.marshal, json.unmarshal
- yaml.is_valid, yaml.marshal, yaml.unmarshal
- object.subset
- set_diff
* Also print number of errors due to each missing function
* Also lock down fully passing OPA suites
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-11-22 14:19:23 -08:00
Luong-Minh Nguyen
e838d5af65
Added semver.is_valid and semver.compare ( #49 )
...
* Completed semver.is_valid and semver.compare
* Addressed PR comments
Signed-off-by: Minh Nguyen <luonguyen@microsoft.com >
---------
Signed-off-by: Minh Nguyen <luonguyen@microsoft.com >
Co-authored-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-11-16 16:05:02 -08:00
Anand Krishnamoorthi
a75f7c51df
OPA conformance tests ( #45 )
...
Run regorus against OPA test suite.
To run full test suite:
cargo test --test opa
To run specific folder (e.g semver):
cargo test --test opa -- semver
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-11-15 17:09:53 -08:00
Anand Krishnamoorthi
d69b413c8e
Engine ( #38 )
...
- Avoid lifetime parameter for Source, Span. Use Rc instead.
- Engine for simplified API
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-11-07 23:15:28 -08:00
Anand Krishnamoorthi
a751cd69e1
Use Ref for storing ast nodes in collections. ( #37 )
...
cmp, eq is done as pointer comparison which makes retrieval super fast.
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-11-05 22:32:00 -08:00
Anand Krishnamoorthi
c53d002347
Improvements ( #33 )
...
1. Skip recording undefined variables
2. Parse `in` correctly if it is not imported.
3. base64.decode
4. Handle `with` modifier for qualified data and input.
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-11-01 21:57:06 -07:00
Anand Krishnamoorthi
63ecc44a48
eval_user_query for OPA style results ( #29 )
...
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-10-30 10:44:02 -07:00
Anand Krishnamoorthi
12c3d26476
Lock down numbers
...
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-02-28 09:38:40 +05:30
Anand Krishnamoorthi
b30fc2599c
Builtin functions for numbers (WIP)
...
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-02-28 09:38:40 +05:30
Anand Krishnamoorthi
980a5d4772
Update name to regorus
...
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-02-09 20:33:39 -08:00
Anand Krishnamoorthi
cb0b3a1790
Code from github.com/anakrish/rego-rs
...
Authored by anakrish and mingweishih
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com >
2023-02-09 10:56:54 -08:00