Install
npm install cascade-helper --save
Class
- subKey (string): key name of represent sub object
- valueKey (string): key name of represent value
const cascadeHelper = new CascadeHelper([(subKey = 'children')], [(valueKey = 'value')])
Instance Methods
deepFlatten
cascadeHelper.deepFlatten(cascades[, options])
- *cascades
Array<Cascade>
- options
KEY |
TYPE |
DEFAULT |
labels |
Array<string> |
[] |
itemSeparator |
string |
'-' |
endLevel |
nubmer |
|
const cascades = [
{ name: '0.0', value: '0.0', children: [{ name: '1.0', value: '1.0' }, { name: '1.1', value: '1.1' }] },
{ name: '0.1', value: '0.1', children: [{ name: '1.0', value: '1.0' }, { name: '1.1', value: '1.1' }] },
]
const results = cascadeHelper.deepFlatten(cascades, { labels: ['name'] })
console.log(results)
deepForEach
cascadeHelper.deepForEach(cascades, callback[, options])
- *cascades
Array<Cascade>
- *callback
(cascade, level, index) => void
ARG |
TYPE |
cascade |
Cascade |
level |
number |
index |
number |
- options
KEY |
TYPE |
DEFAULT |
startLevel |
number |
0 |
endLevel |
number |
|
const cascades = [
{ name: '0.0', value: '0.0', children: [{ name: '1.0', value: '1.0' }, { name: '1.1', value: '1.1' }] },
{ name: '0.1', value: '0.1', children: [{ name: '1.0', value: '1.0' }, { name: '1.1', value: '1.1' }] },
]
cascadeHelper.deepForEach(cascades, (cascade, level, index) => {
cascade.name = `modify-${level}-${index}`
})
console.log(cascades)
deepMap
cascadeHelper.deepMap(cascades, callback[, options])
- *cascades
Array<Cascade>
- *callback
(cascade, level, index, path, parent) => void
ARG |
TYPE |
cascade |
Cascade |
level |
number |
index |
number |
path |
string |
parent |
Cascade |
- options
KEY |
TYPE |
DEFAULT |
startLevel |
number |
0 |
const cascades = [
{ name: '0.0', value: '0.0', children: [{ name: '1.0', value: '1.0' }, { name: '1.1', value: '1.1' }] },
{ name: '0.1', value: '0.1', children: [{ name: '1.0', value: '1.0' }, { name: '1.1', value: '1.1' }] },
]
const results = cascadeHelper.deepMap(cascades, (cascade, level, index, path) => {
return { ...cascade, name: `modify-${currentLevel}-${currentIndex}`, path }
})
console.log(results)
getLevelCascades
cascadeHelper.getLevelCascades(cascades, values, level)
- *cascades
Array<Cascade>
- *values
- *level
const cascades = [
{ name: '0.0', value: '0.0', children: [{ name: '1.0', value: '1.0' }, { name: '1.1', value: '1.1' }] },
{ name: '0.1', value: '0.1', children: [{ name: '1.0', value: '1.0' }, { name: '1.1', value: '1.1' }] },
]
const current = cascadeHelper.getLevelCascades(cascades, { level0: '0.0', level1: '1.1' }, 1)
console.log(current)
initValues
cascadeHelper.initValues(cascades, level[, index])
deepFill
cascadeHelper.deepFill(cascades[, options])
parse
cascadeHelper.parse(str, callback[, options])
- *str
string
- *callback
(key, valueKey, level, index) => Cascade
ARG |
TYPE |
key |
string |
valueKey |
string |
level |
number |
index |
number |
- options
KEY |
TYPE |
DEFAULT |
itemSeparator |
string |
'-' |
levelSeparator |
string |
'\n' |
const str = '1-1\n1-2\n2-1\n1-1-1'
const results = cascadeHelper.parse(str, (key, valueKey, level, index) => {
return { name: key, [valueKey]: `${level}.${index}`, other: 'other' }
})
console.log(results)
stringify
cascadeHelper.stringify(cascades, label[, options])
Examples