1 | var setupDefaults = require('./setupDefaults')
|
2 |
|
3 | var each = require('./each')
|
4 |
|
5 | var assign = require('./assign')
|
6 |
|
7 | function unTreeList (result, array, opts) {
|
8 | var optChildren = opts.children
|
9 | var optData = opts.data
|
10 | var optClear = opts.clear
|
11 | each(array, function (item) {
|
12 | var children = item[optChildren]
|
13 | if (optData) {
|
14 | item = item[optData]
|
15 | }
|
16 | result.push(item)
|
17 | if (children && children.length) {
|
18 | unTreeList(result, children, opts)
|
19 | }
|
20 | if (optClear) {
|
21 | delete item[optChildren]
|
22 | }
|
23 | })
|
24 | return result
|
25 | }
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 | function toTreeArray (array, options) {
|
35 | return unTreeList([], array, assign({}, setupDefaults.treeOptions, options))
|
36 | }
|
37 |
|
38 | module.exports = toTreeArray
|