A function that compares two values and returns true
if they are equal and
false
otherwise.
A custom EqualityFn
may be passed in the Options
provided to the
Oso.constructor
in order to override the default equality function,
which uses isEqual
from the lodash.isequal
package.
Required configuration for Host
.
Opt-in flag indicating whether Host
can receive Expression
s
from core. When false
, Host
errors on receiving Expression
from core. Main use is for indicating whether the consumer of the result
bindings is prepared to handle constraints (Expression
s) received
from core for data filtering purposes.
Utility type to represent a JS value that either does or does not have a constructor property.
NOTE(gj): I think null
& undefined
are the only JS values w/o a
constructor
property (e.g., (1).constructor
returns [Function: Number]
), but I'm not 100% sure of that.
Polar (untagged) dict pattern variant.
Union of Polar value types.
Optional configuration for Polar.query
and Polar.queryRule
.
Opt-in flag indicating whether Host
can receive Expression
s
from core for duration of query. When false
, Host
errors on
receiving Expression
from core. Main use is for indicating whether
the consumer of the result bindings is prepared to handle constraints
(Expression
s) received from core for data filtering purposes.
Bind keys to values in VM for duration of query.
An AsyncGenerator
over query results.
Each result is a Map
of variables bound during the computation of that
result.
If you don't need access to the bindings and only wish to know whether a
query succeeded or failed, you may check the done
property of the yielded
value (and then optionally "complete" the generator by calling and awaiting its
return()
method). If done
is true
, the query failed. If done
is
false
, the query yielded at least one result and therefore succeeded.
Type guard to test if a value is an AsyncIterable
.
Type guard to test if a value is an Iterable
.
Type guard to test if a value conforms to both the iterable and iterator
protocols. This is basically a slightly relaxed check for whether the value
is a Generator
.
Type guard to test if a Polar value received from across the WebAssembly boundary is a Polar boolean.
Type guard to test if a string received from across the WebAssembly boundary is a PolarComparisonOperator.
Type guard to test if a Polar value received from across the WebAssembly boundary is a Polar dictionary.
Type guard to test if a Polar value received from across the WebAssembly boundary is a Polar expression.
Type guard to test if a Polar value received from across the WebAssembly boundary is a Polar application instance.
Type guard to test if a Polar value received from across the WebAssembly boundary is a Polar list.
Type guard to test if a Polar value received from across the WebAssembly boundary is a Polar numeric.
Type guard to test if a Polar value received from across the WebAssembly boundary is a Polar pattern.
Type guard to test if a Polar value received from across the WebAssembly boundary is a Polar predicate.
Type guard to test if a Polar value received from across the WebAssembly boundary is a Polar string.
Type guard to test if a JSON payload received from across the WebAssembly boundary contains a valid Polar term.
Type guard to test if a Polar value received from across the WebAssembly boundary is a Polar variable.
A constructable (via the
new
keyword) application class.