55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
var __extends = this && this.t || function() {
|
|
var extendStatics = function(t, n) {
|
|
extendStatics = Object.setPrototypeOf || {
|
|
__proto__: []
|
|
} instanceof Array && function(t, n) {
|
|
t.__proto__ = n;
|
|
} || function(t, n) {
|
|
for (var i in n) if (Object.prototype.hasOwnProperty.call(n, i)) t[i] = n[i];
|
|
};
|
|
return extendStatics(t, n);
|
|
};
|
|
return function(t, n) {
|
|
if (typeof n !== "function" && n !== null) throw new TypeError("Class extends value " + String(n) + " is not a constructor or null");
|
|
extendStatics(t, n);
|
|
function __() {
|
|
this.constructor = t;
|
|
}
|
|
t.prototype = n === null ? Object.create(n) : (__.prototype = n.prototype, new __);
|
|
};
|
|
}();
|
|
|
|
import { Base } from "../ContainerBase";
|
|
|
|
var Stack = function(t) {
|
|
__extends(Stack, t);
|
|
function Stack(n) {
|
|
if (n === void 0) {
|
|
n = [];
|
|
}
|
|
var i = t.call(this) || this;
|
|
i.S = [];
|
|
n.forEach((function(t) {
|
|
return i.push(t);
|
|
}));
|
|
return i;
|
|
}
|
|
Stack.prototype.clear = function() {
|
|
this.o = 0;
|
|
this.S.length = 0;
|
|
};
|
|
Stack.prototype.push = function(t) {
|
|
this.S.push(t);
|
|
this.o += 1;
|
|
};
|
|
Stack.prototype.pop = function() {
|
|
this.S.pop();
|
|
if (this.o > 0) this.o -= 1;
|
|
};
|
|
Stack.prototype.top = function() {
|
|
return this.S[this.o - 1];
|
|
};
|
|
return Stack;
|
|
}(Base);
|
|
|
|
export default Stack; |