Class DefaultOpaImportsAbi
- Namespace
- OpaDotNet.Wasm
- Assembly
- OpaDotNet.Wasm.dll
Default built-in functions implementation.
public class DefaultOpaImportsAbi : IOpaImportsAbi
- Inheritance
-
DefaultOpaImportsAbi
- Implements
- Inherited Members
Constructors
DefaultOpaImportsAbi()
public DefaultOpaImportsAbi()
Methods
Abort(string)
Called if an internal error occurs.
[ExcludeFromCodeCoverage]
[DoesNotReturn]
public virtual void Abort(string message)
Parameters
messagestringError message.
CacheGetOrAddValue<T>(string, Func<T>)
Adds a key/value pair to the cache if the key does not already exist. Returns the new value, or the existing value if the key already exists.
protected T CacheGetOrAddValue<T>(string key, Func<T> valueFactory) where T : notnull
Parameters
Returns
- T
Type Parameters
TType of the object to store
Func(BuiltinContext)
Called to dispatch the built-in function.
public virtual object? Func(BuiltinContext context)
Parameters
contextBuiltinContextCall context.
Returns
- object
JSON serializable function result.
Func(BuiltinContext, BuiltinArg)
Called to dispatch the built-in function.
public virtual object? Func(BuiltinContext context, BuiltinArg arg1)
Parameters
contextBuiltinContextCall context.
arg1BuiltinArgFunction argument.
Returns
- object
JSON serializable function result.
Func(BuiltinContext, BuiltinArg, BuiltinArg)
Called to dispatch the built-in function.
public virtual object? Func(BuiltinContext context, BuiltinArg arg1, BuiltinArg arg2)
Parameters
contextBuiltinContextCall context.
arg1BuiltinArgFunction argument.
arg2BuiltinArgFunction argument.
Returns
- object
JSON serializable function result.
Func(BuiltinContext, BuiltinArg, BuiltinArg, BuiltinArg)
Called to dispatch the built-in function.
public virtual object? Func(BuiltinContext context, BuiltinArg arg1, BuiltinArg arg2, BuiltinArg arg3)
Parameters
contextBuiltinContextCall context.
arg1BuiltinArgFunction argument.
arg2BuiltinArgFunction argument.
arg3BuiltinArgFunction argument.
Returns
- object
JSON serializable function result.
Func(BuiltinContext, BuiltinArg, BuiltinArg, BuiltinArg, BuiltinArg)
Called to dispatch the built-in function.
public virtual object? Func(BuiltinContext context, BuiltinArg arg1, BuiltinArg arg2, BuiltinArg arg3, BuiltinArg arg4)
Parameters
contextBuiltinContextCall context.
arg1BuiltinArgFunction argument.
arg2BuiltinArgFunction argument.
arg3BuiltinArgFunction argument.
arg4BuiltinArgFunction argument.
Returns
- object
JSON serializable function result.
NewGuid()
When overriden allows replacing GUID generator.
[ExcludeFromCodeCoverage]
protected virtual Guid NewGuid()
Returns
Now()
When overriden allows replacing default logic for retrieving the current UTC date and time.
[ExcludeFromCodeCoverage]
protected virtual DateTimeOffset Now()
Returns
OnError(BuiltinContext, Exception)
Called if built-in function throws error.
[ExcludeFromCodeCoverage]
protected virtual bool OnError(BuiltinContext context, Exception ex)
Parameters
contextBuiltinContextBuilt-in function call context
exExceptionException thrown
Returns
- bool
trueif exception should be rethrown;falsesuppress exception and return default result
Print(IEnumerable<string>)
Called to emit a message from print statement.
public virtual void Print(IEnumerable<string> args)
Parameters
argsIEnumerable<string>
Random()
When overriden allows replacing a pseudo-random number generator.
[ExcludeFromCodeCoverage]
protected virtual Random Random()
Returns
- Random
A pseudo-random number generator.
Reset()
Resets built-ins so it can be used for subsequent evaluations (clears all caches).
public virtual void Reset()
Trace(string)
Default implementation of the trace built-in function.
[ExcludeFromCodeCoverage]
protected virtual bool Trace(string message)
Parameters
messagestringMessage to write.