Built-in Functions Implementation Status
Bellow is the list of supported OPA built-in functions as for version v0.53.1 along with their implementation status in OpaDotNet.Wasm.
Numbers
Function | Status | OpaDotNet version |
---|---|---|
numbers.range_step | ✅ | v2.2.0 |
Strings
Function | Status | OpaDotNet version |
---|---|---|
indexof_n | ✅ | v1.0.0 |
sprintf | ✅ | v1.1.0 (*) |
strings.strings.any_prefix_match | ✅ | v1.0.0 |
strings.any_suffix_match | ✅ | v1.0.0 |
strings.render_template | - | - |
* Inconsistent behavior with native implementation when argument is object.
Time
Function | Status | OpaDotNet version |
---|---|---|
time.add_date | ✅ | v1.0.0 |
time.clock | ✅ | v1.0.0 |
time.date | ✅ | v1.0.0 |
time.diff | ✅ | v1.0.0 |
time.format | ✅ | v2.5.0 |
time.now_ns | ✅ | v1.0.0 |
time.parse_duration_ns | ✅ | v1.1.0 |
time.parse_ns | ✅ | v2.5.0 |
time.parse_rfc3339_ns | ✅ | v1.1.0 |
time.weekday | ✅ | v1.0.0 |
JSON
Function | Status | OpaDotNet version |
---|---|---|
json.match_schema | ✅ | v1.2.0 (*) |
json.patch | ✅ | v1.2.0 |
json.verify_schema | ✅ | v1.2.0 |
* Due to differences in JSON Schema libraries reported schema validation errors might differ from native.
Types
Function | Status | OpaDotNet version |
---|---|---|
object.subset | ✅ | v2.5.0 |
Regex
Function | Status | OpaDotNet version |
---|---|---|
regex.find_n | ✅ | v1.1.0 |
regex.globs_match | - | - |
regex.replace | ✅ | v1.1.0 |
regex.split | ✅ | v1.1.0 |
regex.template_match | ✅ | v1.2.0 |
Glob
Function | Status | OpaDotNet version |
---|---|---|
glob.quote_meta | ✅ | v2.2.0 |
Units
Function | Status | OpaDotNet version |
---|---|---|
units.parse | ✅ | v1.3.0 |
units.parse_bytes | ✅ | v1.3.0 |
Encoding
Function | Status | OpaDotNet version |
---|---|---|
base64url.encode_no_pad | ✅ | v1.1.0 |
hex.decode | ✅ | v1.1.0 |
hex.encode | ✅ | v1.1.0 |
urlquery.decode | ✅ | v1.1.0 |
urlquery.decode_object | ✅ | v1.1.0 |
urlquery.encode | ✅ | v1.1.0 |
urlquery.encode_object | ✅ | v1.1.0 |
JWT
Function | Status | OpaDotNet version |
---|---|---|
io.jwt.encode_sign | ✅ | v1.1.0 |
io.jwt.encode_sign_raw | ✅ | v1.1.0 |
io.jwt.decode | ✅ | v1.1.0 |
io.jwt.decode_verify | ✅ | v1.1.0 |
io.jwt.verify_es256 | ✅ | v1.1.0 |
io.jwt.verify_es384 | ✅ | v1.1.0 |
io.jwt.verify_es512 | ✅ | v1.1.0 |
io.jwt.verify_hs256 | ✅ | v1.1.0 |
io.jwt.verify_hs384 | ✅ | v1.1.0 |
io.jwt.verify_hs512 | ✅ | v1.1.0 |
io.jwt.verify_ps256 | ✅ | v1.1.0 |
io.jwt.verify_ps384 | ✅ | v1.1.0 |
io.jwt.verify_ps512 | ✅ | v1.1.0 |
io.jwt.verify_rs256 | ✅ | v1.1.0 |
io.jwt.verify_rs384 | ✅ | v1.1.0 |
io.jwt.verify_rs512 | ✅ | v1.1.0 |
Cryptography
Function | Status | OpaDotNet version |
---|---|---|
crypto.hmac.equal | ✅ | v1.1.0 |
crypto.hmac.md5 | ✅ | v1.1.0 |
crypto.hmac.sha1 | :white_check_mark: | v1.1.0 |
crypto.hmac.sha256 | ✅ | v1.1.0 |
crypto.hmac.sha512 | ✅ | v1.1.0 |
crypto.md5 | ✅ | v1.1.0 |
crypto.sha1 | ✅ | v1.1.0 |
crypto.sha256 | ✅ | v1.1.0 |
crypto.x509.parse_and_verify_certificates | ✅ | v2.5.0 (*) |
crypto.x509.parse_certificate_request | ✅ | v2.5.0 (*) |
crypto.x509.parse_certificates | ✅ | v2.5.0 (*) |
crypto.x509.parse_keypair | ✅ | v2.5.0 (*) |
crypto.x509.parse_rsa_private_key | ✅ | v2.5.0 (*) |
* Due to differences in libraries output might differ from native.
Graphs
Function | Status | OpaDotNet version |
---|---|---|
graph.reachable_paths | ✅ | v2.5.0 |
GraphQL
Function | Status | OpaDotNet version |
---|---|---|
graphql.is_valid | - | - |
graphql.parse | - | - |
graphql.parse_and_verify | - | - |
graphql.parse_query | - | - |
graphql.parse_schema | - | - |
graphql.schema_is_valid | - | - |
HTTP
Function | Status | OpaDotNet version |
---|---|---|
http.send | - | - |
AWS
Function | Status | OpaDotNet version |
---|---|---|
providers.aws.sign_req | - | - |
Net
Function | Status | OpaDotNet version |
---|---|---|
net.cidr_contains_matches | ✅ | v1.1.0 |
net.cidr_expand | ✅ | v1.1.0 |
net.cidr_is_valid | ✅ | v1.1.0 |
net.cidr_merge | ✅ | v1.1.0 |
net.lookup_ip_addr | ✅ | v1.1.0 (*) |
* There might be inconsistent behavior with native implementation due to different DNS resolver.
UUID
Function | Status | OpaDotNet version |
---|---|---|
uuid.parse | ✅ | v2.5.0 |
uuid.rfc4122 | ✅ | v1.0.0 |
SemVer
Function | Status | OpaDotNet version |
---|---|---|
semver.compare | ✅ | v1.2.0 |
semver.is_valid | ✅ | v1.2.0 |
Rego
Function | Status | OpaDotNet version |
---|---|---|
rego.metadata.chain | - | - |
rego.metadata.rule | - | - |
rego.parse_module | - | - |
OPA
Function | Status | OpaDotNet version |
---|---|---|
opa.runtime | ✅ | v1.1.0 |
Tracing
Function | Status | OpaDotNet version |
---|---|---|
trace | ✅ | v1.1.0 |
Yaml
Function | Status | OpaDotNet version |
---|---|---|
yaml.is_valid | ✅ | v1.2.0 |
yaml.marshal | ✅ | v1.2.0 |
yaml.unmarshal | ✅ | v1.2.0 |