dlsjs 0.1.22 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "author": "林川",
4
4
  "license": "MIT",
5
5
  "private": false,
6
- "version": "0.1.22",
6
+ "version": "0.1.23",
7
7
  "description": "domain-language for js",
8
8
  "main": "dist/dlsjs.esm.js",
9
9
  "module": "dist/dlsjs.esm.js",
@@ -4,7 +4,7 @@
4
4
  * @param extendProps
5
5
  */
6
6
  import {isType} from "./Judgment";
7
- import {uniqBy} from "ramda";
7
+ import {clone, uniqBy} from "ramda";
8
8
 
9
9
  export function list2Tree (list, extendProps = {}) {
10
10
  let props = {id: 'id', children: 'children', parentId: 'parentId', useConcat: false};
@@ -233,6 +233,19 @@ export function tree2List(treeLike, list = []) {
233
233
  return list
234
234
  }
235
235
 
236
+ export function treeCutLevel(treeLike, level) {
237
+ let list = clone(treeLike)
238
+ let target = []
239
+ for(let i = 1; i <= level; i++) {
240
+ if(i === level) {
241
+ target.forEach(item => delete item.children)
242
+ }else {
243
+ target = list.map(item => item.children).flat()
244
+ }
245
+ }
246
+ return target
247
+ }
248
+
236
249
  export default {
237
- list2Tree, setParentIds4List, treeFind, treeDel, treeMap, treeFindParent, findLeaf
250
+ list2Tree, setParentIds4List, treeFind, treeDel, treeMap, treeFindParent, findLeaf, treeCutLevel
238
251
  }