3.0.1 • Published 2 years ago
@tangle/overwrite v3.0.1
@tangle/overwrite
see tests for examples.
API
Overwrite(opts) => overwrite
opts Object (optional) can have properties:
identity
- define the identity transformation for this strategy
- default
{}
reifiedIdentity
- define with
reify(identity)
resolves to - default
null
,
- define with
valueSchema
Object- add a JSON-schema to validate the values which are allowed to be passed in
- default (see code, allows string / object / boolean / number)
overwrite.schema
overwrite.isValid
overwrite.identity() => I
overwrite.concat(R, S) => T
overwrite.mapFromInput(input, currentTips) => T
overwrite.mapToOutput(T) => t
overwrite.isConflict(graph, nodeIds, field) => Boolean
where:
graph
is a@tangle/graph
instancenodeIds
is an Array of nodeIds you're wanting to check for conflictfield
String is the data fieldnode.data[field]
you're checking for conflicts
overwrite.isValidMerge(graph, mergeNode, field) => Boolean
where:
graph
is a@tangle/graph
instancemergeNode
is the proposed merge-nodefield
String is the data fieldnode.data[field]
you're checking for merge validity
overwrite.merge(graph, mergeNode, field) => T
similar to isValidMerge
, but return a transformation, T
If it cannot, an error is thrown!
Used with modules such as:
- @tangle/strategy
- ssb-crut