setops
v0.1.7
Published
setops
Downloads
2
Readme
setops
Various set operations in the CommonJS model
###transform(oldToNewMap, toChange [, generateNext])
Run setops
with an array of existing values.
oldToNewMap
is an object where the keys exist in the 'existing values' data set.toChange
is a function that will be called with the old value and the new value.generateNext
is an optional function that will be called in the event of a circular reference:- For example: the instruction is to change
1
to2
, but2
is already in the existing data set. ThegenerateNext
function will be called to change the2
value to something not in the existing data set so that the1
to2
conversion can happen. By default, it will add 1 to the max value in the existing (or target) data set.
- For example: the instruction is to change
- The return value is an array of the outputs of the provided
toChange
function.
###diff(targetData [, cbs])
Run setops
with an array of existing values
targetData
is an array of new valuescbs
is an optional parameter: it is an object with three function/callback properties that will be executed for every operation that needs to be performed:toAdd
,toRemove
, andtoLeave
. If not provided, the functions defined in this object will just return the values passed in.- The return value is an object with three array properties:
toAdd
,toRemove
, andtoLeave
. Each item in these arrays is the returned value of the callback functions. For example, if the operations necessary to convert the existing data set into the target data set were to add the values1
,2
, and3
, thecbs.toAdd
callback function will be called with each of those values, and those outputs will be the resultingtoAdd
property.