Table of Contents

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