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
- Actions
- mergeSkip
- mergeArrays
- merge
- hasDeleteHint
- isToBeRemoved
- hintFreeValue
- indexFor
- keyFor
- sortObjectsByKeys
- compareWithDefinedOrder
- matchingIndex
- match
- cmp
- compareVersion
- unionVersion
- VersionMapper
- mergeVersionsWithFilter
- mergeVersions
- mergeVersionsPreferNumeric
- walk
Construct hint for a given path.
Type: Function
Skip merging use left side always.
-
a
-
b
-
path
-
actions
-
hints
Merge to values.
-
a
any -
b
any -
path
-
actions
Actions (optional, defaultnullAction
) -
hints
any
Returns any merged value
Should value be removed.
Returns Object 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
any -
hint
Object
Sort keys in source.
-
source
Object -
compare
Returns Object source with keys orderd by compare function
-
a
any -
b
any -
definedOrder
-
value
any
Returns number
url means highest version
Returns number
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 tree -
actions
Function cb to notify about the actual selection (optional, defaultnullAction
) -
hints
Object -
filter
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 tree -
actions
Function cb to notify about the actual selection -
hints
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 tree -
actions
Function cb to notify about the actual selection -
hints
Object
Returns (string | Array<string> | number | Array<number>) merged set of version expressions
Iterates over all members.
-
value
any -
path
Array<any> (optional, default[]
) -
parents
(optional, default[]
)
With npm do:
npm install hinted-tree-merger
BSD-2-Clause