Skip to content

Commit 8ae6a73

Browse files
.hasChildren() instead of isEmpty()
1 parent 938d337 commit 8ae6a73

File tree

3 files changed

+80
-80
lines changed

3 files changed

+80
-80
lines changed

lib/SymbolTree.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,17 +61,17 @@ class SymbolTree {
6161
}
6262

6363
/**
64-
* Returns false if the object has any children. Otherwise it returns true.
64+
* Returns `true` if the object has any children. Otherwise it returns `false`.
6565
*
6666
* `O(1)`
6767
*
68-
* @method isEmpty
68+
* @method hasChildren
6969
* @memberOf module:symbol-tree#
7070
* @param {Object} object
7171
* @return {Boolean}
7272
*/
73-
isEmpty(object) {
74-
return this._node(object).isEmpty;
73+
hasChildren(object) {
74+
return this._node(object).hasChildren;
7575
}
7676

7777
/**
@@ -771,15 +771,15 @@ class SymbolTree {
771771
throw Error('Given object is already present in this SymbolTree, remove it first');
772772
}
773773

774-
if (referenceNode.isEmpty) {
774+
if (referenceNode.hasChildren) {
775+
this.insertBefore(newObject, referenceNode.first);
776+
}
777+
else {
775778
newNode.parent = referenceObject;
776779
referenceNode.first = newObject;
777780
referenceNode.last = newObject;
778781
referenceNode.childrenChanged();
779782
}
780-
else {
781-
this.insertBefore(newObject, referenceNode.first);
782-
}
783783

784784
return newObject;
785785
}
@@ -805,15 +805,15 @@ class SymbolTree {
805805
throw Error('Given object is already present in this SymbolTree, remove it first');
806806
}
807807

808-
if (referenceNode.isEmpty) {
808+
if (referenceNode.hasChildren) {
809+
this.insertAfter(newObject, referenceNode.last);
810+
}
811+
else {
809812
newNode.parent = referenceObject;
810813
referenceNode.first = newObject;
811814
referenceNode.last = newObject;
812815
referenceNode.childrenChanged();
813816
}
814-
else {
815-
this.insertAfter(newObject, referenceNode.last);
816-
}
817817

818818
return newObject;
819819
}

lib/SymbolTreeNode.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ module.exports = class SymbolTreeNode {
2424
return !!(this.parent || this.prev || this.next);
2525
}
2626

27-
get isEmpty() {
28-
return !this.first;
27+
get hasChildren() {
28+
return !!this.first;
2929
}
3030

3131
childrenChanged() {

test/SymbolTree.js

Lines changed: 66 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ test('unassociated object', function(t) {
1818
const tree = new SymbolTree();
1919
const a = {};
2020

21-
t.equal(true, tree.isEmpty(a));
22-
t.equal(null, tree.first (a));
23-
t.equal(null, tree.last (a));
24-
t.equal(null, tree.prev (a));
25-
t.equal(null, tree.next (a));
26-
t.equal(null, tree.parent (a));
21+
t.equal(false, tree.hasChildren(a));
22+
t.equal(null , tree.first (a));
23+
t.equal(null , tree.last (a));
24+
t.equal(null , tree.prev (a));
25+
t.equal(null , tree.next (a));
26+
t.equal(null , tree.parent (a));
2727

2828
t.end();
2929
});
@@ -35,19 +35,19 @@ test('insertBefore without parent or siblings', function(t) {
3535

3636
t.equal(a, tree.insertBefore(a, b));
3737

38-
t.equal(true, tree.isEmpty(a));
39-
t.equal(null, tree.first (a));
40-
t.equal(null, tree.last (a));
41-
t.equal(null, tree.parent (a));
42-
t.equal(true, tree.isEmpty(b));
43-
t.equal(null, tree.first (b));
44-
t.equal(null, tree.last (b));
45-
t.equal(null, tree.parent (b));
38+
t.equal(false, tree.hasChildren(a));
39+
t.equal(null , tree.first (a));
40+
t.equal(null , tree.last (a));
41+
t.equal(null , tree.parent (a));
42+
t.equal(false, tree.hasChildren(b));
43+
t.equal(null , tree.first (b));
44+
t.equal(null , tree.last (b));
45+
t.equal(null , tree.parent (b));
4646

47-
t.equal(null, tree.prev(a));
48-
t.equal(b , tree.next(a));
49-
t.equal(a , tree.prev(b));
50-
t.equal(null, tree.next(b));
47+
t.equal(null , tree.prev(a));
48+
t.equal(b , tree.next(a));
49+
t.equal(a , tree.prev(b));
50+
t.equal(null , tree.next(b));
5151

5252
t.end();
5353
});
@@ -59,19 +59,19 @@ test('insertAfter without parent or siblings', function(t) {
5959

6060
t.equal(b, tree.insertAfter(b, a));
6161

62-
t.equal(true, tree.isEmpty(a));
63-
t.equal(null, tree.first (a));
64-
t.equal(null, tree.last (a));
65-
t.equal(null, tree.parent (a));
66-
t.equal(true, tree.isEmpty(b));
67-
t.equal(null, tree.first (b));
68-
t.equal(null, tree.last (b));
69-
t.equal(null, tree.parent (b));
62+
t.equal(false, tree.hasChildren(a));
63+
t.equal(null , tree.first (a));
64+
t.equal(null , tree.last (a));
65+
t.equal(null , tree.parent (a));
66+
t.equal(false, tree.hasChildren(b));
67+
t.equal(null , tree.first (b));
68+
t.equal(null , tree.last (b));
69+
t.equal(null , tree.parent (b));
7070

71-
t.equal(null, tree.prev(a));
72-
t.equal(b , tree.next(a));
73-
t.equal(a , tree.prev(b));
74-
t.equal(null, tree.next(b));
71+
t.equal(null , tree.prev(a));
72+
t.equal(b , tree.next(a));
73+
t.equal(a , tree.prev(b));
74+
t.equal(null , tree.next(b));
7575

7676
t.end();
7777
});
@@ -83,19 +83,19 @@ test('insertFirst without children', function(t) {
8383

8484
t.equal(a, tree.insertFirst(a, parent));
8585

86-
t.equal(true , tree.isEmpty(a));
87-
t.equal(null , tree.first (a));
88-
t.equal(null , tree.last (a));
89-
t.equal(null , tree.prev (a));
90-
t.equal(null , tree.next (a));
91-
t.equal(parent, tree.parent (a));
86+
t.equal(false , tree.hasChildren(a));
87+
t.equal(null , tree.first (a));
88+
t.equal(null , tree.last (a));
89+
t.equal(null , tree.prev (a));
90+
t.equal(null , tree.next (a));
91+
t.equal(parent, tree.parent (a));
9292

93-
t.equal(false, tree.isEmpty(parent));
94-
t.equal(a , tree.first (parent));
95-
t.equal(a , tree.last (parent));
96-
t.equal(null , tree.prev (a));
97-
t.equal(null , tree.next (parent));
98-
t.equal(null , tree.parent (parent));
93+
t.equal(true , tree.hasChildren(parent));
94+
t.equal(a , tree.first (parent));
95+
t.equal(a , tree.last (parent));
96+
t.equal(null , tree.prev (a));
97+
t.equal(null , tree.next (parent));
98+
t.equal(null , tree.parent (parent));
9999

100100
t.end();
101101
});
@@ -107,19 +107,19 @@ test('insertLast without children', function(t) {
107107

108108
t.equal(a, tree.insertLast(a, parent));
109109

110-
t.equal(true , tree.isEmpty(a));
111-
t.equal(null , tree.first (a));
112-
t.equal(null , tree.last (a));
113-
t.equal(null , tree.prev (a));
114-
t.equal(null , tree.next (a));
115-
t.equal(parent, tree.parent (a));
110+
t.equal(false , tree.hasChildren(a));
111+
t.equal(null , tree.first (a));
112+
t.equal(null , tree.last (a));
113+
t.equal(null , tree.prev (a));
114+
t.equal(null , tree.next (a));
115+
t.equal(parent, tree.parent (a));
116116

117-
t.equal(false, tree.isEmpty(parent));
118-
t.equal(a , tree.first (parent));
119-
t.equal(a , tree.last (parent));
120-
t.equal(null , tree.prev (a));
121-
t.equal(null , tree.next (parent));
122-
t.equal(null , tree.parent (parent));
117+
t.equal(true , tree.hasChildren(parent));
118+
t.equal(a , tree.first (parent));
119+
t.equal(a , tree.last (parent));
120+
t.equal(null , tree.prev (a));
121+
t.equal(null , tree.next (parent));
122+
t.equal(null , tree.parent (parent));
123123

124124
t.end();
125125
});
@@ -133,9 +133,9 @@ test('insertFirst with children', function(t) {
133133
tree.insertFirst(b, parent);
134134
tree.insertFirst(a, parent);
135135

136-
t.equal(false, tree.isEmpty(parent));
137-
t.equal(a , tree.first (parent));
138-
t.equal(b , tree.last (parent));
136+
t.equal(true , tree.hasChildren(parent));
137+
t.equal(a , tree.first (parent));
138+
t.equal(b , tree.last (parent));
139139

140140
t.equal(parent, tree.parent (a));
141141
t.equal(null , tree.prev (a));
@@ -156,9 +156,9 @@ test('insertLast with children', function(t) {
156156
tree.insertLast(a, parent);
157157
tree.insertLast(b, parent);
158158

159-
t.equal(false, tree.isEmpty(parent));
160-
t.equal(a , tree.first (parent));
161-
t.equal(b , tree.last (parent));
159+
t.equal(true , tree.hasChildren(parent));
160+
t.equal(a , tree.first (parent));
161+
t.equal(b , tree.last (parent));
162162

163163
t.equal(parent, tree.parent (a));
164164
t.equal(null , tree.prev (a));
@@ -179,9 +179,9 @@ test('insertBefore with parent', function(t) {
179179
tree.insertFirst(b, parent);
180180
tree.insertBefore(a, b);
181181

182-
t.equal(false, tree.isEmpty(parent));
183-
t.equal(a , tree.first (parent));
184-
t.equal(b , tree.last (parent));
182+
t.equal(true , tree.hasChildren(parent));
183+
t.equal(a , tree.first (parent));
184+
t.equal(b , tree.last (parent));
185185

186186
t.equal(parent, tree.parent (a));
187187
t.equal(null , tree.prev (a));
@@ -202,9 +202,9 @@ test('insertAfter with parent', function(t) {
202202
tree.insertLast(a, parent);
203203
tree.insertAfter(b, a);
204204

205-
t.equal(false, tree.isEmpty(parent));
206-
t.equal(a , tree.first (parent));
207-
t.equal(b , tree.last (parent));
205+
t.equal(true , tree.hasChildren(parent));
206+
t.equal(a , tree.first (parent));
207+
t.equal(b , tree.last (parent));
208208

209209
t.equal(parent, tree.parent (a));
210210
t.equal(null , tree.prev (a));

0 commit comments

Comments
 (0)