Name of this type. This is only used to help with debugging.
Treat values with extra keys as invalid.
A dictionary between a property name and its description.
Returns a deep copy of value
.
The value to clone, trusted to be compatible with this type.
A deep copy of the supplied value, restricted to the properties of this type.
Returns undefined if both values are equivalent, otherwise a diff representing the change from oldVal to newVal.
The old value
The new value
Tests if left
is equal to value
.
This is a deep strict structural equality test restricted to the properties of this type.
It satisfies the following properties (the variables a
, b
and c
are valid values):
type.equal(a, a) === true
type.equals(a, b) === type.equals(b, a)
type.equals(a, b) && type.equals(b, c)
then type.equals(a, c)
The above properties mean that type objects implement the Setoid
algebra as specified by
Static Land.
Left value, trusted to be compatible with this type.
Right value, trusted to be compatible with this type.
Boolean indicating if both values are equal.
Compares two valid values.
Left operand, a valid value.
Right operand, a valid value.
Boolean indicating if left <= right
is true.
Deserializes a value of this type.
Reader to drive during the deserialization.
Reader input.
Valid value.
Tests if this type matches value
.
The value to test against this type.
Boolean indicating if this type matches value
.
Tests if this type matches value
, describes the error if not.
The value to test against this type.
If this type matches value
then undefined
; otherwise an error describing why this
type does not match value
.
Serializes the valid value value
.
Writer used to emit the data.
Value to serialize.
Writer result.
Generated using TypeDoc
The keys of the serialized documents are renamed following the supplied style (undefined to keep the original name).