hinted-tree-merger
v6.4.0
Published
merges two trees guided with hints
Readme
hinted-tree-merger
merges two trees guided with hints
usage
merge array having entries identified by key
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 }]deep copy
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 }]API
Table of Contents
- hintFor
- Actions
- mergeSkip
- mergeArrays
- merge
- hasDeleteHint
- isToBeRemoved
- hintFreeValue
- indexFor
- keyFor
- sortObjectsByKeys
- compareWithDefinedOrder
- matchingIndex
- match
- cmp
- compareVersion
- unionVersion
- VersionMapper
- mergeVersionsWithFilter
- mergeVersions
- mergeVersionsPreferNumeric
- walk
hintFor
Construct hint for a given path.
Parameters
Actions
Type: Function
Parameters
mergeSkip
Skip merging use left side always.
Parameters
abpathactionshints
mergeArrays
Parameters
merge
Merge to values.
Parameters
aanybanypathactionsActions (optional, defaultnullAction)hintsany
Returns any merged value
hasDeleteHint
Parameters
isToBeRemoved
Should value be removed.
Parameters
Returns Object true if fromTemplate tells is to delete value
hintFreeValue
Remove hint(s) form a value.
Parameters
value(string | any)
Returns any value without hint
indexFor
Find best insertion point for b[i] in a.
Parameters
keyFor
Deliver key value to identify object.
Parameters
objectanyhintObject
sortObjectsByKeys
Sort keys in source.
Parameters
sourceObjectcompare
Returns Object source with keys orderd by compare function
compareWithDefinedOrder
Parameters
matchingIndex
Parameters
valueany
Returns number
match
url means highest version
cmp
Parameters
Returns number
compareVersion
Compare two versions.
Parameters
Returns number -1 if a < b, 0 if a == b and 1 if a > b
unionVersion
Forms union of two versions.
Parameters
VersionMapper
maps version values (to number)
Type: Function
mergeVersionsWithFilter
Merge and filter two sets of version (expressions).
Parameters
a(string | Array<string> | number | Array<number>)b(string | Array<string> | number | Array<number>)pathstring location in the treeactionsFunction cb to notify about the actual selection (optional, defaultnullAction)hintsObjectfilterVersionMapper
Returns (string | Array<string> | number | Array<number>) merged set of version expressions
mergeVersions
merge two sets of version (expressions)
Parameters
a(string | Array<string> | number | Array<number>)b(string | Array<string> | number | Array<number>)pathstring location in the treeactionsFunction cb to notify about the actual selectionhintsObject
Returns (string | Array<string> | number | Array<number>) merged set of version expressions
mergeVersionsPreferNumeric
Same as mergeVersions but merge result are converted into numbers if possible
Parameters
a(string | Array<string> | number | Array<number>)b(string | Array<string> | number | Array<number>)pathstring location in the treeactionsFunction cb to notify about the actual selectionhintsObject
Returns (string | Array<string> | number | Array<number>) merged set of version expressions
walk
Iterates over all members.
Parameters
valueanypathArray<any> (optional, default[])parents(optional, default[])
install
With npm do:
npm install hinted-tree-mergerlicense
BSD-2-Clause
