UNPKG

1.42 kBJavaScriptView Raw
1(function() {
2 var LinkedList;
3
4 module.exports = LinkedList = (function() {
5
6 function LinkedList() {}
7
8 /*
9 */
10
11 LinkedList.prototype.getNextSibling = function() {
12 return this._nextSibling;
13 };
14
15 /*
16 */
17
18 LinkedList.prototype.addNextSibling = function(sibling, replNext) {
19 if (!!this._nextSibling) this._nexSibling._prevSibling = sibling;
20 sibling._prevSibling = this;
21 if (!replNext) sibling._nextSibling = this._nextSibling;
22 return this._nextSibling = sibling;
23 };
24
25 /*
26 */
27
28 LinkedList.prototype.getPrevSibling = function() {
29 return this._prevSibling;
30 };
31
32 /*
33 */
34
35 LinkedList.prototype.addPrevSibling = function(sibling, replPrev) {
36 if (!!this._prevSibling) this._prevSibling._nextSibling = sibling;
37 sibling._nextSibling = this;
38 if (!replPrev) sibling._prevSibling = this._prevSibling;
39 return this._prevSibling = sibling;
40 };
41
42 /*
43 */
44
45 LinkedList.prototype.getFirstSibling = function() {
46 var first;
47 first = this;
48 while (!!first._prevSibling) {
49 first = first._prevSibling;
50 }
51 return first;
52 };
53
54 /*
55 */
56
57 LinkedList.prototype.getLastSibling = function() {
58 var last;
59 last = this;
60 while (!!last._nextSibling) {
61 last = last._nextSibling;
62 }
63 return last;
64 };
65
66 return LinkedList;
67
68 })();
69
70}).call(this);