list-runner
Version:
a lightweight linked-list implementation that offers both Singly (next) and Doubly data structures (next and previous)
56 lines (41 loc) • 1.88 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SentinelDoubly = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _SentinelSingly2 = require("./SentinelSingly");
var _constants = require("../constants");
var SentinelDoubly =
/*#__PURE__*/
function (_SentinelSingly) {
(0, _inherits2["default"])(SentinelDoubly, _SentinelSingly);
function SentinelDoubly() {
var _this;
var next = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
var prev = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _constants.SENTINEL;
(0, _classCallCheck2["default"])(this, SentinelDoubly);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(SentinelDoubly).call(this, next, type));
_this.prev = prev;
return _this;
}
(0, _createClass2["default"])(SentinelDoubly, [{
key: "getPrev",
value: function getPrev() {
return this.prev;
}
}, {
key: "setPrev",
value: function setPrev(cell) {
this.prev = cell;
}
}]);
return SentinelDoubly;
}(_SentinelSingly2.SentinelSingly); // eslint-disable-line import/prefer-default-export
exports.SentinelDoubly = SentinelDoubly;