@chix/flow
Version:
47 lines • 1.66 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var util_1 = require("../util");
function $Parent(Base) {
return (function (_super) {
__extends(Parent$, _super);
function Parent$() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.parent = null;
return _this;
}
Parent$.prototype.setParent = function (node) {
this.parent = node;
};
Parent$.prototype.getParent = function () {
if (this.hasParent()) {
return this.parent;
}
throw Error('Node has no parent.');
};
Parent$.prototype.hasParent = function () {
return Boolean(this.parent);
};
return Parent$;
}(Base));
}
exports.$Parent = $Parent;
(function ($Parent) {
function create(Base) {
return util_1.mixin($Parent)(Base);
}
$Parent.create = create;
})($Parent = exports.$Parent || (exports.$Parent = {}));
//# sourceMappingURL=parent.js.map