Просмотр исходного кода

refactor(tree): 所有方法返回的空值统一为null

vian 5 лет назад
Родитель
Сommit
61e1d08659
4 измененных файлов с 17 добавлено и 17 удалено
  1. 1 1
      tree/package.json
  2. 6 6
      tree/src/nodeCtx.ts
  3. 9 9
      tree/src/tree.ts
  4. 1 1
      tree/tests/tree.ts

+ 1 - 1
tree/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@sc/tree",
-  "version": "1.0.10",
+  "version": "1.0.11",
   "description": "a template for npm package coding",
   "main": "./dist/index.cjs.js",
   "module": "./dist/index.esm.js",

+ 6 - 6
tree/src/nodeCtx.ts

@@ -1,4 +1,4 @@
-import { TreeNode, Tree, None } from './tree';
+import { TreeNode, Tree } from './tree';
 
 export class NodeContext {
   // 对树节点数据的引用
@@ -67,15 +67,15 @@ export class NodeContext {
     return true;
   }
 
-  parent(): TreeNode | None {
+  parent(): TreeNode | null {
     return this.tree.findParent(this.ID());
   }
 
-  next(): TreeNode | None {
+  next(): TreeNode | null {
     return this.tree.findNext(this.ID());
   }
 
-  prev(): TreeNode | None {
+  prev(): TreeNode | null {
     return this.tree.findPrev(this.ID());
   }
 
@@ -84,11 +84,11 @@ export class NodeContext {
     return this.tree.parentMap[this.ID()] || [];
   }
 
-  firstChild(): TreeNode | None {
+  firstChild(): TreeNode | null {
     return this.children()[0] || null;
   }
 
-  lastChild(): TreeNode | None {
+  lastChild(): TreeNode | null {
     const children = this.children();
     return children[children.length - 1] || null;
   }

+ 9 - 9
tree/src/tree.ts

@@ -153,12 +153,12 @@ export class Tree {
   }
 
   // 查找ID节点
-  find(ID: string): TreeNode | None {
-    return this.IDMap[ID];
+  find(ID: string): TreeNode | null {
+    return this.IDMap[ID] || null;
   }
 
   // 查找ID节点的父节点
-  findParent(ID: string): TreeNode | None {
+  findParent(ID: string): TreeNode | null {
     const node = this.find(ID);
     if (!node) {
       return null;
@@ -167,7 +167,7 @@ export class Tree {
   }
 
   // 查找ID节点的下一个节点
-  findNext(ID: string): TreeNode | None {
+  findNext(ID: string): TreeNode | null {
     const node = this.find(ID);
     if (!node) {
       return null;
@@ -177,11 +177,11 @@ export class Tree {
     if (nodeIndex < 0) {
       return null;
     }
-    return nodes[nodeIndex + 1];
+    return nodes[nodeIndex + 1] || null;
   }
 
   // 查找ID节点的上一个节点
-  findPrev(ID: string): TreeNode | None {
+  findPrev(ID: string): TreeNode | null {
     const node = this.find(ID);
     if (!node) {
       return null;
@@ -191,7 +191,7 @@ export class Tree {
     if (nodeIndex < 0) {
       return null;
     }
-    return nodes[nodeIndex - 1];
+    return nodes[nodeIndex - 1] || null;
   }
 
   // 查询ID节点的子节点
@@ -250,7 +250,7 @@ export class Tree {
   }
 
   // 从节点块中获取相同深度的节点
-  sameDepthNodes(nodes: TreeNode[], depth: number | None): TreeNode[] {
+  sameDepthNodes(nodes: TreeNode[], depth?: number): TreeNode[] {
     if (!depth) {
       depth = nodes[0].getCtx().depth();
     }
@@ -557,7 +557,7 @@ export class Tree {
     next: TreeNode | None
   ): UpdateData[] {
     const updateData: UpdateData[] = [];
-    let prev: TreeNode | None;
+    let prev: TreeNode | null;
     if (next) {
       prev = next.getCtx().prev();
     } else {

+ 1 - 1
tree/tests/tree.ts

@@ -104,7 +104,7 @@ describe('Tree', () => {
   });
 
   it('sameDepthNodes-empty-depth', () => {
-    const nodes = tree.sameDepthNodes(tree.data, null);
+    const nodes = tree.sameDepthNodes(tree.data);
     const IDList = getIDList(nodes);
     expect(IDList).to.have.ordered.members(['1', '3', '2', '4', '5']);
   });