ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
120 lines (102 loc) • 8.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.bounds = bounds;
exports.single = single;
exports.move = move;
exports.clear = clear;
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
var Cursor = exports.Cursor = function Cursor(element, nextSibling) {
_classCallCheck(this, Cursor);
this.element = element;
this.nextSibling = nextSibling;
};
var RealDOMBounds = exports.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;
}();
var ConcreteBounds = exports.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;
}();
var SingleNodeBounds = exports.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;
}();
function bounds(parent, first, last) {
return new ConcreteBounds(parent, first, last);
}
function single(parent, node) {
return new SingleNodeBounds(parent, node);
}
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;
}
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9ib3VuZHMuanMiXSwibmFtZXMiOlsiQ3Vyc29yIiwiZWxlbWVudCIsIm5leHRTaWJsaW5nIiwiUmVhbERPTUJvdW5kcyIsImJvdW5kcyIsInBhcmVudEVsZW1lbnQiLCJmaXJzdE5vZGUiLCJsYXN0Tm9kZSIsIkNvbmNyZXRlQm91bmRzIiwicGFyZW50Tm9kZSIsImZpcnN0IiwibGFzdCIsIlNpbmdsZU5vZGVCb3VuZHMiLCJub2RlIiwicGFyZW50Iiwic2luZ2xlIiwibW92ZSIsInJlZmVyZW5jZSIsIm5leHQiLCJpbnNlcnRCZWZvcmUiLCJjbGVhciIsInJlbW92ZUNoaWxkIl0sIm1hcHBpbmdzIjoiOzs7OztRQW1ETyxBQUFTO1FBR1QsQUFBUztRQUdULEFBQVM7UUFhVCxBQUFTOzs7OztBQXRFaEI7O0lBQUEsQUFBYSwwQkFDVCxnQkFBQSxBQUFZLFNBQVosQUFBcUIsYUFBYTswQkFDOUI7O1NBQUEsQUFBSyxVQUFMLEFBQWUsQUFDZjtTQUFBLEFBQUssY0FBTCxBQUFtQixBQUN0QjtBQUpMLEFBTUE7SUFBQSxBQUFhLG9EQUNUOzJCQUFBLEFBQVksUUFBUTs4QkFDaEI7O2FBQUEsQUFBSyxTQUFMLEFBQWMsQUFDakI7QUFITDs7NEJBQUEsQUFJSSx5Q0FBZ0IsQUFDWjtlQUFPLEtBQUEsQUFBSyxPQUFaLEFBQU8sQUFBWSxBQUN0QjtBQU5MOzs0QkFBQSxBQU9JLGlDQUFZLEFBQ1I7ZUFBTyxLQUFBLEFBQUssT0FBWixBQUFPLEFBQVksQUFDdEI7QUFUTDs7NEJBQUEsQUFVSSwrQkFBVyxBQUNQO2VBQU8sS0FBQSxBQUFLLE9BQVosQUFBTyxBQUFZLEFBQ3RCO0FBWkw7O1dBQUE7QUFjQTtJQUFBLEFBQWEsc0RBQ1Q7NEJBQUEsQUFBWSxZQUFaLEFBQXdCLE9BQXhCLEFBQStCLE1BQU07OEJBQ2pDOzthQUFBLEFBQUssYUFBTCxBQUFrQixBQUNsQjthQUFBLEFBQUssUUFBTCxBQUFhLEFBQ2I7YUFBQSxBQUFLLE9BQUwsQUFBWSxBQUNmO0FBTEw7OzZCQUFBLEFBTUkseUNBQWdCLEFBQ1o7ZUFBTyxLQUFQLEFBQVksQUFDZjtBQVJMOzs2QkFBQSxBQVNJLGlDQUFZLEFBQ1I7ZUFBTyxLQUFQLEFBQVksQUFDZjtBQVhMOzs2QkFBQSxBQVlJLCtCQUFXLEFBQ1A7ZUFBTyxLQUFQLEFBQVksQUFDZjtBQWRMOztXQUFBO0FBZ0JBO0lBQUEsQUFBYSwwREFDVDs4QkFBQSxBQUFZLFlBQVosQUFBd0IsTUFBTTs4QkFDMUI7O2FBQUEsQUFBSyxhQUFMLEFBQWtCLEFBQ2xCO2FBQUEsQUFBSyxPQUFMLEFBQVksQUFDZjtBQUpMOzsrQkFBQSxBQUtJLHlDQUFnQixBQUNaO2VBQU8sS0FBUCxBQUFZLEFBQ2Y7QUFQTDs7K0JBQUEsQUFRSSxpQ0FBWSxBQUNSO2VBQU8sS0FBUCxBQUFZLEFBQ2Y7QUFWTDs7K0JBQUEsQUFXSSwrQkFBVyxBQUNQO2VBQU8sS0FBUCxBQUFZLEFBQ2Y7QUFiTDs7V0FBQTtBQWVBO0FBQU8sZ0JBQUEsQUFBZ0IsUUFBaEIsQUFBd0IsT0FBeEIsQUFBK0IsTUFBTSxBQUN4QztXQUFPLElBQUEsQUFBSSxlQUFKLEFBQW1CLFFBQW5CLEFBQTJCLE9BQWxDLEFBQU8sQUFBa0MsQUFDNUM7QUFDRDtBQUFPLGdCQUFBLEFBQWdCLFFBQWhCLEFBQXdCLE1BQU0sQUFDakM7V0FBTyxJQUFBLEFBQUksaUJBQUosQUFBcUIsUUFBNUIsQUFBTyxBQUE2QixBQUN2QztBQUNEO0FBQU8sY0FBQSxBQUFjLFFBQWQsQUFBc0IsV0FBVyxBQUNwQztRQUFJLFNBQVMsT0FBYixBQUFhLEFBQU8sQUFDcEI7UUFBSSxRQUFRLE9BQVosQUFBWSxBQUFPLEFBQ25CO1FBQUksT0FBTyxPQUFYLEFBQVcsQUFBTyxBQUNsQjtRQUFJLE9BQUosQUFBVyxBQUNYO1dBQUEsQUFBTyxNQUFNLEFBQ1Q7WUFBSSxPQUFPLEtBQVgsQUFBZ0IsQUFDaEI7ZUFBQSxBQUFPLGFBQVAsQUFBb0IsTUFBcEIsQUFBMEIsQUFDMUI7WUFBSSxTQUFKLEFBQWEsTUFBTSxPQUFBLEFBQU8sQUFDMUI7ZUFBQSxBQUFPLEFBQ1Y7QUFDRDtXQUFBLEFBQU8sQUFDVjtBQUNEO0FBQU8sZUFBQSxBQUFlLFFBQVEsQUFDMUI7UUFBSSxTQUFTLE9BQWIsQUFBYSxBQUFPLEFBQ3BCO1FBQUksUUFBUSxPQUFaLEFBQVksQUFBTyxBQUNuQjtRQUFJLE9BQU8sT0FBWCxBQUFXLEFBQU8sQUFDbEI7UUFBSSxPQUFKLEFBQVcsQUFDWDtXQUFBLEFBQU8sTUFBTSxBQUNUO1lBQUksT0FBTyxLQUFYLEFBQWdCLEFBQ2hCO2VBQUEsQUFBTyxZQUFQLEFBQW1CLEFBQ25CO1lBQUksU0FBSixBQUFhLE1BQU0sT0FBQSxBQUFPLEFBQzFCO2VBQUEsQUFBTyxBQUNWO0FBQ0Q7V0FBQSxBQUFPLEFBQ1YiLCJmaWxlIjoibGliL2JvdW5kcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDdXJzb3Ige1xuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQsIG5leHRTaWJsaW5nKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICAgIHRoaXMubmV4dFNpYmxpbmcgPSBuZXh0U2libGluZztcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgUmVhbERPTUJvdW5kcyB7XG4gICAgY29uc3RydWN0b3IoYm91bmRzKSB7XG4gICAgICAgIHRoaXMuYm91bmRzID0gYm91bmRzO1xuICAgIH1cbiAgICBwYXJlbnRFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ib3VuZHMucGFyZW50RWxlbWVudCgpO1xuICAgIH1cbiAgICBmaXJzdE5vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJvdW5kcy5maXJzdE5vZGUoKTtcbiAgICB9XG4gICAgbGFzdE5vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJvdW5kcy5sYXN0Tm9kZSgpO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBDb25jcmV0ZUJvdW5kcyB7XG4gICAgY29uc3RydWN0b3IocGFyZW50Tm9kZSwgZmlyc3QsIGxhc3QpIHtcbiAgICAgICAgdGhpcy5wYXJlbnROb2RlID0gcGFyZW50Tm9kZTtcbiAgICAgICAgdGhpcy5maXJzdCA9IGZpcnN0O1xuICAgICAgICB0aGlzLmxhc3QgPSBsYXN0O1xuICAgIH1cbiAgICBwYXJlbnRFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnROb2RlO1xuICAgIH1cbiAgICBmaXJzdE5vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpcnN0O1xuICAgIH1cbiAgICBsYXN0Tm9kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdDtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgU2luZ2xlTm9kZUJvdW5kcyB7XG4gICAgY29uc3RydWN0b3IocGFyZW50Tm9kZSwgbm9kZSkge1xuICAgICAgICB0aGlzLnBhcmVudE5vZGUgPSBwYXJlbnROb2RlO1xuICAgICAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIH1cbiAgICBwYXJlbnRFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnROb2RlO1xuICAgIH1cbiAgICBmaXJzdE5vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vZGU7XG4gICAgfVxuICAgIGxhc3ROb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ub2RlO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBib3VuZHMocGFyZW50LCBmaXJzdCwgbGFzdCkge1xuICAgIHJldHVybiBuZXcgQ29uY3JldGVCb3VuZHMocGFyZW50LCBmaXJzdCwgbGFzdCk7XG59XG5leHBvcnQgZnVuY3Rpb24gc2luZ2xlKHBhcmVudCwgbm9kZSkge1xuICAgIHJldHVybiBuZXcgU2luZ2xlTm9kZUJvdW5kcyhwYXJlbnQsIG5vZGUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG1vdmUoYm91bmRzLCByZWZlcmVuY2UpIHtcbiAgICBsZXQgcGFyZW50ID0gYm91bmRzLnBhcmVudEVsZW1lbnQoKTtcbiAgICBsZXQgZmlyc3QgPSBib3VuZHMuZmlyc3ROb2RlKCk7XG4gICAgbGV0IGxhc3QgPSBib3VuZHMubGFzdE5vZGUoKTtcbiAgICBsZXQgbm9kZSA9IGZpcnN0O1xuICAgIHdoaWxlIChub2RlKSB7XG4gICAgICAgIGxldCBuZXh0ID0gbm9kZS5uZXh0U2libGluZztcbiAgICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShub2RlLCByZWZlcmVuY2UpO1xuICAgICAgICBpZiAobm9kZSA9PT0gbGFzdCkgcmV0dXJuIG5leHQ7XG4gICAgICAgIG5vZGUgPSBuZXh0O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjbGVhcihib3VuZHMpIHtcbiAgICBsZXQgcGFyZW50ID0gYm91bmRzLnBhcmVudEVsZW1lbnQoKTtcbiAgICBsZXQgZmlyc3QgPSBib3VuZHMuZmlyc3ROb2RlKCk7XG4gICAgbGV0IGxhc3QgPSBib3VuZHMubGFzdE5vZGUoKTtcbiAgICBsZXQgbm9kZSA9IGZpcnN0O1xuICAgIHdoaWxlIChub2RlKSB7XG4gICAgICAgIGxldCBuZXh0ID0gbm9kZS5uZXh0U2libGluZztcbiAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKG5vZGUpO1xuICAgICAgICBpZiAobm9kZSA9PT0gbGFzdCkgcmV0dXJuIG5leHQ7XG4gICAgICAgIG5vZGUgPSBuZXh0O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn0iXX0=