UNPKG

@glimmer/runtime

Version:

Minimal runtime needed to render Glimmer templates

103 lines (78 loc) 7.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.move = move; exports.clear = clear; exports.SingleNodeBounds = exports.ConcreteBounds = exports.CursorImpl = void 0; var CursorImpl = function CursorImpl(element, nextSibling) { this.element = element; this.nextSibling = nextSibling; }; exports.CursorImpl = CursorImpl; var ConcreteBounds = /*#__PURE__*/function () { function ConcreteBounds(parentNode, first, last) { this.parentNode = parentNode; this.first = first; this.last = last; } var _proto = ConcreteBounds.prototype; _proto.parentElement = function parentElement() { return this.parentNode; }; _proto.firstNode = function firstNode() { return this.first; }; _proto.lastNode = function lastNode() { return this.last; }; return ConcreteBounds; }(); exports.ConcreteBounds = ConcreteBounds; var SingleNodeBounds = /*#__PURE__*/function () { function SingleNodeBounds(parentNode, node) { this.parentNode = parentNode; this.node = node; } var _proto2 = SingleNodeBounds.prototype; _proto2.parentElement = function parentElement() { return this.parentNode; }; _proto2.firstNode = function firstNode() { return this.node; }; _proto2.lastNode = function lastNode() { return this.node; }; return SingleNodeBounds; }(); exports.SingleNodeBounds = SingleNodeBounds; function move(bounds, reference) { var parent = bounds.parentElement(); var first = bounds.firstNode(); var last = bounds.lastNode(); var current = first; while (true) { var next = current.nextSibling; parent.insertBefore(current, reference); if (current === last) { return next; } current = next; } } function clear(bounds) { var parent = bounds.parentElement(); var first = bounds.firstNode(); var last = bounds.lastNode(); var current = first; while (true) { var next = current.nextSibling; parent.removeChild(current); if (current === last) { return next; } current = next; } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2JvdW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFJQSxJQUFNLFVBQU4sR0FDRSxTQUFBLFVBQUEsQ0FBQSxPQUFBLEVBQUEsV0FBQSxFQUFpRjtBQUE5RCxPQUFBLE9BQUEsR0FBQSxPQUFBO0FBQStCLE9BQUEsV0FBQSxHQUFBLFdBQUE7QUFEcEQsQ0FBQTs7OztBQU1BLElBQU0sY0FBTixHQUFBLGFBQUEsWUFBQTtBQUNFLFdBQUEsY0FBQSxDQUFBLFVBQUEsRUFBQSxLQUFBLEVBQUEsSUFBQSxFQUcwQjtBQUZqQixTQUFBLFVBQUEsR0FBQSxVQUFBO0FBQ0MsU0FBQSxLQUFBLEdBQUEsS0FBQTtBQUNBLFNBQUEsSUFBQSxHQUFBLElBQUE7QUFDTjs7QUFMTixNQUFBLE1BQUEsR0FBQSxjQUFBLENBQUEsU0FBQTs7QUFBQSxFQUFBLE1BQUEsQ0FBQSxhQUFBLEdBT0UsU0FBQSxhQUFBLEdBQWE7QUFDWCxXQUFPLEtBQVAsVUFBQTtBQVJKLEdBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsU0FBQSxHQVdFLFNBQUEsU0FBQSxHQUFTO0FBQ1AsV0FBTyxLQUFQLEtBQUE7QUFaSixHQUFBOztBQUFBLEVBQUEsTUFBQSxDQUFBLFFBQUEsR0FlRSxTQUFBLFFBQUEsR0FBUTtBQUNOLFdBQU8sS0FBUCxJQUFBO0FBaEJKLEdBQUE7O0FBQUEsU0FBQSxjQUFBO0FBQUEsQ0FBQSxFQUFBOzs7O0FBb0JBLElBQU0sZ0JBQU4sR0FBQSxhQUFBLFlBQUE7QUFDRSxXQUFBLGdCQUFBLENBQUEsVUFBQSxFQUFBLElBQUEsRUFBdUU7QUFBbkQsU0FBQSxVQUFBLEdBQUEsVUFBQTtBQUFtQyxTQUFBLElBQUEsR0FBQSxJQUFBO0FBQW9COztBQUQ3RSxNQUFBLE9BQUEsR0FBQSxnQkFBQSxDQUFBLFNBQUE7O0FBQUEsRUFBQSxPQUFBLENBQUEsYUFBQSxHQUdFLFNBQUEsYUFBQSxHQUFhO0FBQ1gsV0FBTyxLQUFQLFVBQUE7QUFKSixHQUFBOztBQUFBLEVBQUEsT0FBQSxDQUFBLFNBQUEsR0FPRSxTQUFBLFNBQUEsR0FBUztBQUNQLFdBQU8sS0FBUCxJQUFBO0FBUkosR0FBQTs7QUFBQSxFQUFBLE9BQUEsQ0FBQSxRQUFBLEdBV0UsU0FBQSxRQUFBLEdBQVE7QUFDTixXQUFPLEtBQVAsSUFBQTtBQVpKLEdBQUE7O0FBQUEsU0FBQSxnQkFBQTtBQUFBLENBQUEsRUFBQTs7OztBQWdCTSxTQUFBLElBQUEsQ0FBQSxNQUFBLEVBQUEsU0FBQSxFQUE0RDtBQUNoRSxNQUFJLE1BQU0sR0FBRyxNQUFNLENBQW5CLGFBQWEsRUFBYjtBQUNBLE1BQUksS0FBSyxHQUFHLE1BQU0sQ0FBbEIsU0FBWSxFQUFaO0FBQ0EsTUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFqQixRQUFXLEVBQVg7QUFFQSxNQUFJLE9BQU8sR0FBWCxLQUFBOztBQUVBLFNBQUEsSUFBQSxFQUFhO0FBQ1gsUUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFsQixXQUFBO0FBRUEsSUFBQSxNQUFNLENBQU4sWUFBQSxDQUFBLE9BQUEsRUFBQSxTQUFBOztBQUVBLFFBQUksT0FBTyxLQUFYLElBQUEsRUFBc0I7QUFDcEIsYUFBQSxJQUFBO0FBQ0Q7O0FBRUQsSUFBQSxPQUFPLEdBQVAsSUFBQTtBQUNEO0FBQ0Y7O0FBRUssU0FBQSxLQUFBLENBQUEsTUFBQSxFQUE4QjtBQUNsQyxNQUFJLE1BQU0sR0FBRyxNQUFNLENBQW5CLGFBQWEsRUFBYjtBQUNBLE1BQUksS0FBSyxHQUFHLE1BQU0sQ0FBbEIsU0FBWSxFQUFaO0FBQ0EsTUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFqQixRQUFXLEVBQVg7QUFFQSxNQUFJLE9BQU8sR0FBWCxLQUFBOztBQUVBLFNBQUEsSUFBQSxFQUFhO0FBQ1gsUUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFsQixXQUFBO0FBRUEsSUFBQSxNQUFNLENBQU4sV0FBQSxDQUFBLE9BQUE7O0FBRUEsUUFBSSxPQUFPLEtBQVgsSUFBQSxFQUFzQjtBQUNwQixhQUFBLElBQUE7QUFDRDs7QUFFRCxJQUFBLE9BQU8sR0FBUCxJQUFBO0FBQ0Q7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvdW5kcywgQ3Vyc29yLCBPcHRpb24gfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNpbXBsZUVsZW1lbnQsIFNpbXBsZU5vZGUgfSBmcm9tICdAc2ltcGxlLWRvbS9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmV4cG9ydCBjbGFzcyBDdXJzb3JJbXBsIGltcGxlbWVudHMgQ3Vyc29yIHtcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQsIHB1YmxpYyBuZXh0U2libGluZzogT3B0aW9uPFNpbXBsZU5vZGU+KSB7fVxufVxuXG5leHBvcnQgdHlwZSBEZXN0cm95YWJsZUJvdW5kcyA9IEJvdW5kcztcblxuZXhwb3J0IGNsYXNzIENvbmNyZXRlQm91bmRzIGltcGxlbWVudHMgQm91bmRzIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBhcmVudE5vZGU6IFNpbXBsZUVsZW1lbnQsXG4gICAgcHJpdmF0ZSBmaXJzdDogU2ltcGxlTm9kZSxcbiAgICBwcml2YXRlIGxhc3Q6IFNpbXBsZU5vZGVcbiAgKSB7fVxuXG4gIHBhcmVudEVsZW1lbnQoKTogU2ltcGxlRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50Tm9kZTtcbiAgfVxuXG4gIGZpcnN0Tm9kZSgpOiBTaW1wbGVOb2RlIHtcbiAgICByZXR1cm4gdGhpcy5maXJzdDtcbiAgfVxuXG4gIGxhc3ROb2RlKCk6IFNpbXBsZU5vZGUge1xuICAgIHJldHVybiB0aGlzLmxhc3Q7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNpbmdsZU5vZGVCb3VuZHMgaW1wbGVtZW50cyBCb3VuZHMge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudE5vZGU6IFNpbXBsZUVsZW1lbnQsIHByaXZhdGUgbm9kZTogU2ltcGxlTm9kZSkge31cblxuICBwYXJlbnRFbGVtZW50KCk6IFNpbXBsZUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLnBhcmVudE5vZGU7XG4gIH1cblxuICBmaXJzdE5vZGUoKTogU2ltcGxlTm9kZSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGxhc3ROb2RlKCk6IFNpbXBsZU5vZGUge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vdmUoYm91bmRzOiBCb3VuZHMsIHJlZmVyZW5jZTogT3B0aW9uPFNpbXBsZU5vZGU+KTogT3B0aW9uPFNpbXBsZU5vZGU+IHtcbiAgbGV0IHBhcmVudCA9IGJvdW5kcy5wYXJlbnRFbGVtZW50KCk7XG4gIGxldCBmaXJzdCA9IGJvdW5kcy5maXJzdE5vZGUoKTtcbiAgbGV0IGxhc3QgPSBib3VuZHMubGFzdE5vZGUoKTtcblxuICBsZXQgY3VycmVudDogU2ltcGxlTm9kZSA9IGZpcnN0O1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgbGV0IG5leHQgPSBjdXJyZW50Lm5leHRTaWJsaW5nO1xuXG4gICAgcGFyZW50Lmluc2VydEJlZm9yZShjdXJyZW50LCByZWZlcmVuY2UpO1xuXG4gICAgaWYgKGN1cnJlbnQgPT09IGxhc3QpIHtcbiAgICAgIHJldHVybiBuZXh0O1xuICAgIH1cblxuICAgIGN1cnJlbnQgPSBleHBlY3QobmV4dCwgJ2ludmFsaWQgYm91bmRzJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyKGJvdW5kczogQm91bmRzKTogT3B0aW9uPFNpbXBsZU5vZGU+IHtcbiAgbGV0IHBhcmVudCA9IGJvdW5kcy5wYXJlbnRFbGVtZW50KCk7XG4gIGxldCBmaXJzdCA9IGJvdW5kcy5maXJzdE5vZGUoKTtcbiAgbGV0IGxhc3QgPSBib3VuZHMubGFzdE5vZGUoKTtcblxuICBsZXQgY3VycmVudDogU2ltcGxlTm9kZSA9IGZpcnN0O1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgbGV0IG5leHQgPSBjdXJyZW50Lm5leHRTaWJsaW5nO1xuXG4gICAgcGFyZW50LnJlbW92ZUNoaWxkKGN1cnJlbnQpO1xuXG4gICAgaWYgKGN1cnJlbnQgPT09IGxhc3QpIHtcbiAgICAgIHJldHVybiBuZXh0O1xuICAgIH1cblxuICAgIGN1cnJlbnQgPSBleHBlY3QobmV4dCwgJ2ludmFsaWQgYm91bmRzJyk7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=