UNPKG

1.41 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var Cons = /** @class */ (function () {
4 function Cons(value, next) {
5 this.value = value;
6 this.next = next;
7 }
8 Cons.prototype.toArray = function () {
9 var array = [];
10 var cur = this;
11 while (cur !== undefined) {
12 array.push(cur.value);
13 cur = cur.next;
14 }
15 return array;
16 };
17 Cons.prototype.nth = function (index) {
18 var cur = this;
19 for (var i = 0; i < index && cur !== undefined; ++i) {
20 cur = cur.next;
21 }
22 return cur === undefined ? undefined : cur.value;
23 };
24 return Cons;
25}());
26exports.Cons = Cons;
27function copyFirst(n, list) {
28 var newHead = new Cons(list.value, undefined);
29 var current = list;
30 var newCurrent = newHead;
31 while (--n > 0) {
32 current = current.next;
33 var cons = new Cons(current.value, undefined);
34 newCurrent.next = cons;
35 newCurrent = cons;
36 }
37 return newHead;
38}
39exports.copyFirst = copyFirst;
40function concat(a, b) {
41 var list = new Cons(a.value, undefined);
42 var prev = list;
43 var cur = a;
44 while ((cur = cur.next) !== undefined) {
45 prev.next = new Cons(cur.value, undefined);
46 prev = prev.next;
47 }
48 prev.next = b;
49 return list;
50}
51exports.concat = concat;
52//# sourceMappingURL=list.js.map
\No newline at end of file