ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
107 lines (90 loc) • 8.8 kB
JavaScript
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
export var Cursor = function Cursor(element, nextSibling) {
_classCallCheck(this, Cursor);
this.element = element;
this.nextSibling = nextSibling;
};
export var RealDOMBounds = function () {
function RealDOMBounds(bounds) {
_classCallCheck(this, RealDOMBounds);
this.bounds = bounds;
}
RealDOMBounds.prototype.parentElement = function parentElement() {
return this.bounds.parentElement();
};
RealDOMBounds.prototype.firstNode = function firstNode() {
return this.bounds.firstNode();
};
RealDOMBounds.prototype.lastNode = function lastNode() {
return this.bounds.lastNode();
};
return RealDOMBounds;
}();
export var ConcreteBounds = function () {
function ConcreteBounds(parentNode, first, last) {
_classCallCheck(this, ConcreteBounds);
this.parentNode = parentNode;
this.first = first;
this.last = last;
}
ConcreteBounds.prototype.parentElement = function parentElement() {
return this.parentNode;
};
ConcreteBounds.prototype.firstNode = function firstNode() {
return this.first;
};
ConcreteBounds.prototype.lastNode = function lastNode() {
return this.last;
};
return ConcreteBounds;
}();
export var SingleNodeBounds = function () {
function SingleNodeBounds(parentNode, node) {
_classCallCheck(this, SingleNodeBounds);
this.parentNode = parentNode;
this.node = node;
}
SingleNodeBounds.prototype.parentElement = function parentElement() {
return this.parentNode;
};
SingleNodeBounds.prototype.firstNode = function firstNode() {
return this.node;
};
SingleNodeBounds.prototype.lastNode = function lastNode() {
return this.node;
};
return SingleNodeBounds;
}();
export function bounds(parent, first, last) {
return new ConcreteBounds(parent, first, last);
}
export function single(parent, node) {
return new SingleNodeBounds(parent, node);
}
export function move(bounds, reference) {
var parent = bounds.parentElement();
var first = bounds.firstNode();
var last = bounds.lastNode();
var node = first;
while (node) {
var next = node.nextSibling;
parent.insertBefore(node, reference);
if (node === last) return next;
node = next;
}
return null;
}
export function clear(bounds) {
var parent = bounds.parentElement();
var first = bounds.firstNode();
var last = bounds.lastNode();
var node = first;
while (node) {
var next = node.nextSibling;
parent.removeChild(node);
if (node === last) return next;
node = next;
}
return null;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9ib3VuZHMuanMiXSwibmFtZXMiOlsiQ3Vyc29yIiwiZWxlbWVudCIsIm5leHRTaWJsaW5nIiwiUmVhbERPTUJvdW5kcyIsImJvdW5kcyIsInBhcmVudEVsZW1lbnQiLCJmaXJzdE5vZGUiLCJsYXN0Tm9kZSIsIkNvbmNyZXRlQm91bmRzIiwicGFyZW50Tm9kZSIsImZpcnN0IiwibGFzdCIsIlNpbmdsZU5vZGVCb3VuZHMiLCJub2RlIiwicGFyZW50Iiwic2luZ2xlIiwibW92ZSIsInJlZmVyZW5jZSIsIm5leHQiLCJpbnNlcnRCZWZvcmUiLCJjbGVhciIsInJlbW92ZUNoaWxkIl0sIm1hcHBpbmdzIjoiOztBQUFBLFdBQWFBLE1BQWIsR0FDSSxnQkFBWUMsT0FBWixFQUFxQkMsV0FBckIsRUFBa0M7QUFBQTs7QUFDOUIsU0FBS0QsT0FBTCxHQUFlQSxPQUFmO0FBQ0EsU0FBS0MsV0FBTCxHQUFtQkEsV0FBbkI7QUFDSCxDQUpMO0FBTUEsV0FBYUMsYUFBYjtBQUNJLDJCQUFZQyxNQUFaLEVBQW9CO0FBQUE7O0FBQ2hCLGFBQUtBLE1BQUwsR0FBY0EsTUFBZDtBQUNIOztBQUhMLDRCQUlJQyxhQUpKLDRCQUlvQjtBQUNaLGVBQU8sS0FBS0QsTUFBTCxDQUFZQyxhQUFaLEVBQVA7QUFDSCxLQU5MOztBQUFBLDRCQU9JQyxTQVBKLHdCQU9nQjtBQUNSLGVBQU8sS0FBS0YsTUFBTCxDQUFZRSxTQUFaLEVBQVA7QUFDSCxLQVRMOztBQUFBLDRCQVVJQyxRQVZKLHVCQVVlO0FBQ1AsZUFBTyxLQUFLSCxNQUFMLENBQVlHLFFBQVosRUFBUDtBQUNILEtBWkw7O0FBQUE7QUFBQTtBQWNBLFdBQWFDLGNBQWI7QUFDSSw0QkFBWUMsVUFBWixFQUF3QkMsS0FBeEIsRUFBK0JDLElBQS9CLEVBQXFDO0FBQUE7O0FBQ2pDLGFBQUtGLFVBQUwsR0FBa0JBLFVBQWxCO0FBQ0EsYUFBS0MsS0FBTCxHQUFhQSxLQUFiO0FBQ0EsYUFBS0MsSUFBTCxHQUFZQSxJQUFaO0FBQ0g7O0FBTEwsNkJBTUlOLGFBTkosNEJBTW9CO0FBQ1osZUFBTyxLQUFLSSxVQUFaO0FBQ0gsS0FSTDs7QUFBQSw2QkFTSUgsU0FUSix3QkFTZ0I7QUFDUixlQUFPLEtBQUtJLEtBQVo7QUFDSCxLQVhMOztBQUFBLDZCQVlJSCxRQVpKLHVCQVllO0FBQ1AsZUFBTyxLQUFLSSxJQUFaO0FBQ0gsS0FkTDs7QUFBQTtBQUFBO0FBZ0JBLFdBQWFDLGdCQUFiO0FBQ0ksOEJBQVlILFVBQVosRUFBd0JJLElBQXhCLEVBQThCO0FBQUE7O0FBQzFCLGFBQUtKLFVBQUwsR0FBa0JBLFVBQWxCO0FBQ0EsYUFBS0ksSUFBTCxHQUFZQSxJQUFaO0FBQ0g7O0FBSkwsK0JBS0lSLGFBTEosNEJBS29CO0FBQ1osZUFBTyxLQUFLSSxVQUFaO0FBQ0gsS0FQTDs7QUFBQSwrQkFRSUgsU0FSSix3QkFRZ0I7QUFDUixlQUFPLEtBQUtPLElBQVo7QUFDSCxLQVZMOztBQUFBLCtCQVdJTixRQVhKLHVCQVdlO0FBQ1AsZUFBTyxLQUFLTSxJQUFaO0FBQ0gsS0FiTDs7QUFBQTtBQUFBO0FBZUEsT0FBTyxTQUFTVCxNQUFULENBQWdCVSxNQUFoQixFQUF3QkosS0FBeEIsRUFBK0JDLElBQS9CLEVBQXFDO0FBQ3hDLFdBQU8sSUFBSUgsY0FBSixDQUFtQk0sTUFBbkIsRUFBMkJKLEtBQTNCLEVBQWtDQyxJQUFsQyxDQUFQO0FBQ0g7QUFDRCxPQUFPLFNBQVNJLE1BQVQsQ0FBZ0JELE1BQWhCLEVBQXdCRCxJQUF4QixFQUE4QjtBQUNqQyxXQUFPLElBQUlELGdCQUFKLENBQXFCRSxNQUFyQixFQUE2QkQsSUFBN0IsQ0FBUDtBQUNIO0FBQ0QsT0FBTyxTQUFTRyxJQUFULENBQWNaLE1BQWQsRUFBc0JhLFNBQXRCLEVBQWlDO0FBQ3BDLFFBQUlILFNBQVNWLE9BQU9DLGFBQVAsRUFBYjtBQUNBLFFBQUlLLFFBQVFOLE9BQU9FLFNBQVAsRUFBWjtBQUNBLFFBQUlLLE9BQU9QLE9BQU9HLFFBQVAsRUFBWDtBQUNBLFFBQUlNLE9BQU9ILEtBQVg7QUFDQSxXQUFPRyxJQUFQLEVBQWE7QUFDVCxZQUFJSyxPQUFPTCxLQUFLWCxXQUFoQjtBQUNBWSxlQUFPSyxZQUFQLENBQW9CTixJQUFwQixFQUEwQkksU0FBMUI7QUFDQSxZQUFJSixTQUFTRixJQUFiLEVBQW1CLE9BQU9PLElBQVA7QUFDbkJMLGVBQU9LLElBQVA7QUFDSDtBQUNELFdBQU8sSUFBUDtBQUNIO0FBQ0QsT0FBTyxTQUFTRSxLQUFULENBQWVoQixNQUFmLEVBQXVCO0FBQzFCLFFBQUlVLFNBQVNWLE9BQU9DLGFBQVAsRUFBYjtBQUNBLFFBQUlLLFFBQVFOLE9BQU9FLFNBQVAsRUFBWjtBQUNBLFFBQUlLLE9BQU9QLE9BQU9HLFFBQVAsRUFBWDtBQUNBLFFBQUlNLE9BQU9ILEtBQVg7QUFDQSxXQUFPRyxJQUFQLEVBQWE7QUFDVCxZQUFJSyxPQUFPTCxLQUFLWCxXQUFoQjtBQUNBWSxlQUFPTyxXQUFQLENBQW1CUixJQUFuQjtBQUNBLFlBQUlBLFNBQVNGLElBQWIsRUFBbUIsT0FBT08sSUFBUDtBQUNuQkwsZUFBT0ssSUFBUDtBQUNIO0FBQ0QsV0FBTyxJQUFQO0FBQ0giLCJmaWxlIjoibGliL2JvdW5kcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDdXJzb3Ige1xuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQsIG5leHRTaWJsaW5nKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICAgIHRoaXMubmV4dFNpYmxpbmcgPSBuZXh0U2libGluZztcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgUmVhbERPTUJvdW5kcyB7XG4gICAgY29uc3RydWN0b3IoYm91bmRzKSB7XG4gICAgICAgIHRoaXMuYm91bmRzID0gYm91bmRzO1xuICAgIH1cbiAgICBwYXJlbnRFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ib3VuZHMucGFyZW50RWxlbWVudCgpO1xuICAgIH1cbiAgICBmaXJzdE5vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJvdW5kcy5maXJzdE5vZGUoKTtcbiAgICB9XG4gICAgbGFzdE5vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJvdW5kcy5sYXN0Tm9kZSgpO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBDb25jcmV0ZUJvdW5kcyB7XG4gICAgY29uc3RydWN0b3IocGFyZW50Tm9kZSwgZmlyc3QsIGxhc3QpIHtcbiAgICAgICAgdGhpcy5wYXJlbnROb2RlID0gcGFyZW50Tm9kZTtcbiAgICAgICAgdGhpcy5maXJzdCA9IGZpcnN0O1xuICAgICAgICB0aGlzLmxhc3QgPSBsYXN0O1xuICAgIH1cbiAgICBwYXJlbnRFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnROb2RlO1xuICAgIH1cbiAgICBmaXJzdE5vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpcnN0O1xuICAgIH1cbiAgICBsYXN0Tm9kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdDtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgU2luZ2xlTm9kZUJvdW5kcyB7XG4gICAgY29uc3RydWN0b3IocGFyZW50Tm9kZSwgbm9kZSkge1xuICAgICAgICB0aGlzLnBhcmVudE5vZGUgPSBwYXJlbnROb2RlO1xuICAgICAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIH1cbiAgICBwYXJlbnRFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnROb2RlO1xuICAgIH1cbiAgICBmaXJzdE5vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vZGU7XG4gICAgfVxuICAgIGxhc3ROb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ub2RlO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBib3VuZHMocGFyZW50LCBmaXJzdCwgbGFzdCkge1xuICAgIHJldHVybiBuZXcgQ29uY3JldGVCb3VuZHMocGFyZW50LCBmaXJzdCwgbGFzdCk7XG59XG5leHBvcnQgZnVuY3Rpb24gc2luZ2xlKHBhcmVudCwgbm9kZSkge1xuICAgIHJldHVybiBuZXcgU2luZ2xlTm9kZUJvdW5kcyhwYXJlbnQsIG5vZGUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG1vdmUoYm91bmRzLCByZWZlcmVuY2UpIHtcbiAgICBsZXQgcGFyZW50ID0gYm91bmRzLnBhcmVudEVsZW1lbnQoKTtcbiAgICBsZXQgZmlyc3QgPSBib3VuZHMuZmlyc3ROb2RlKCk7XG4gICAgbGV0IGxhc3QgPSBib3VuZHMubGFzdE5vZGUoKTtcbiAgICBsZXQgbm9kZSA9IGZpcnN0O1xuICAgIHdoaWxlIChub2RlKSB7XG4gICAgICAgIGxldCBuZXh0ID0gbm9kZS5uZXh0U2libGluZztcbiAgICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShub2RlLCByZWZlcmVuY2UpO1xuICAgICAgICBpZiAobm9kZSA9PT0gbGFzdCkgcmV0dXJuIG5leHQ7XG4gICAgICAgIG5vZGUgPSBuZXh0O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjbGVhcihib3VuZHMpIHtcbiAgICBsZXQgcGFyZW50ID0gYm91bmRzLnBhcmVudEVsZW1lbnQoKTtcbiAgICBsZXQgZmlyc3QgPSBib3VuZHMuZmlyc3ROb2RlKCk7XG4gICAgbGV0IGxhc3QgPSBib3VuZHMubGFzdE5vZGUoKTtcbiAgICBsZXQgbm9kZSA9IGZpcnN0O1xuICAgIHdoaWxlIChub2RlKSB7XG4gICAgICAgIGxldCBuZXh0ID0gbm9kZS5uZXh0U2libGluZztcbiAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKG5vZGUpO1xuICAgICAgICBpZiAobm9kZSA9PT0gbGFzdCkgcmV0dXJuIG5leHQ7XG4gICAgICAgIG5vZGUgPSBuZXh0O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn0iXX0=