merges two trees guided with hints
import { merge } from "hinted-tree-merger";
const r = merge(
[{ k:1, e:1}, { k:2}],
[{ k:1, e:2}, { k:3}], // 2nd. array has precedence
"",
undefined,
{
"": { key: "k" } // identify slots by property "k"
});
// r := [{ k:1 e:2 }, { k:2 }, { k:3 }]
import { merge } from "hinted-tree-merger";
const r = merge( undefined, [ { k:1, e:2}, { k:3 }]);
// r := [{ k:1 e:2 }, { k:2 }, { k:3 }]
- hintFor
- mergeSkip
- mergeArrays
- merge
- hasDeleteHint
- isToBeRemoved
- hintFreeValue
- indexFor
- keyFor
- sortObjectsByKeys
- match
- compareVersion
- unionVersion
- VersionMapper
- mergeVersionsWithFilter
- mergeVersions
- mergeVersionsPreferNumeric
- walk
Construct hint for a given path.
Skip merging use left side always.
a
b
path
actions
hints
Merge to values.
Returns any merged value
Should value be removed.
Returns number true if fromTemplate tells is to delete value
Remove hint(s) form a value.
value
(string | any)
Returns any value without hint
Find best insertion point for b[i] in a.
Deliver key value to identify object.
object
anyhint
Object
Returns string
Sort keys in source.
source
Objectcompare
Returns Object source with keys orderd by compare function
url means highest version
Compare two versions.
Returns number -1 if a < b, 0 if a == b and 1 if a > b
Forms union of two versions.
maps version values (to number)
Type: Function
Merge and filter two sets of version (expressions).
a
(string | Array<string> | number | Array<number>)b
(string | Array<string> | number | Array<number>)path
string location in the treeactions
Function cb to notify about the actual selection (optional, defaultnullAction
)hints
Objectfilter
VersionMapper
Returns (string | Array<string> | number | Array<number>) merged set of version expressions
merge two sets of version (expressions)
a
(string | Array<string> | number | Array<number>)b
(string | Array<string> | number | Array<number>)path
string location in the treeactions
Function cb to notify about the actual selectionhints
Object
Returns (string | Array<string> | number | Array<number>) merged set of version expressions
Same as mergeVersions but merge result are converted into numbers if possible
a
(string | Array<string> | number | Array<number>)b
(string | Array<string> | number | Array<number>)path
string location in the treeactions
Function cb to notify about the actual selectionhints
Object
Returns (string | Array<string> | number | Array<number>) merged set of version expressions
Iterates over all members.
value
anypath
Array<any> (optional, default[]
)parents
(optional, default[]
)
With npm do:
npm install hinted-tree-merger
BSD-2-Clause