UNPKG

@glimmer/runtime

Version:

Minimal runtime needed to render Glimmer templates

84 lines (68 loc) 6.58 kB
export var CursorImpl = function CursorImpl(element, nextSibling) { this.element = element; this.nextSibling = nextSibling; }; export 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; }(); export 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; }(); export 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; } } export 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2JvdW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxXQUFNLFVBQU4sR0FDRSxvQkFBQSxPQUFBLEVBQUEsV0FBQSxFQUFpRjtBQUE5RCxPQUFBLE9BQUEsR0FBQSxPQUFBO0FBQStCLE9BQUEsV0FBQSxHQUFBLFdBQUE7QUFBbUMsQ0FEdkY7QUFNQSxXQUFNLGNBQU47QUFDRSwwQkFBQSxVQUFBLEVBQUEsS0FBQSxFQUFBLElBQUEsRUFHMEI7QUFGakIsU0FBQSxVQUFBLEdBQUEsVUFBQTtBQUNDLFNBQUEsS0FBQSxHQUFBLEtBQUE7QUFDQSxTQUFBLElBQUEsR0FBQSxJQUFBO0FBQ047O0FBTE47O0FBQUEsU0FPRSxhQVBGLEdBT0UseUJBQWE7QUFDWCxXQUFPLEtBQVAsVUFBQTtBQUNELEdBVEg7O0FBQUEsU0FXRSxTQVhGLEdBV0UscUJBQVM7QUFDUCxXQUFPLEtBQVAsS0FBQTtBQUNELEdBYkg7O0FBQUEsU0FlRSxRQWZGLEdBZUUsb0JBQVE7QUFDTixXQUFPLEtBQVAsSUFBQTtBQUNELEdBakJIOztBQUFBO0FBQUE7QUFvQkEsV0FBTSxnQkFBTjtBQUNFLDRCQUFBLFVBQUEsRUFBQSxJQUFBLEVBQXVFO0FBQW5ELFNBQUEsVUFBQSxHQUFBLFVBQUE7QUFBbUMsU0FBQSxJQUFBLEdBQUEsSUFBQTtBQUFvQjs7QUFEN0U7O0FBQUEsVUFHRSxhQUhGLEdBR0UseUJBQWE7QUFDWCxXQUFPLEtBQVAsVUFBQTtBQUNELEdBTEg7O0FBQUEsVUFPRSxTQVBGLEdBT0UscUJBQVM7QUFDUCxXQUFPLEtBQVAsSUFBQTtBQUNELEdBVEg7O0FBQUEsVUFXRSxRQVhGLEdBV0Usb0JBQVE7QUFDTixXQUFPLEtBQVAsSUFBQTtBQUNELEdBYkg7O0FBQUE7QUFBQTtBQWdCQSxPQUFNLFNBQUEsSUFBQSxDQUFBLE1BQUEsRUFBQSxTQUFBLEVBQTREO0FBQ2hFLE1BQUksTUFBTSxHQUFHLE1BQU0sQ0FBbkIsYUFBYSxFQUFiO0FBQ0EsTUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFsQixTQUFZLEVBQVo7QUFDQSxNQUFJLElBQUksR0FBRyxNQUFNLENBQWpCLFFBQVcsRUFBWDtBQUVBLE1BQUksT0FBTyxHQUFYLEtBQUE7O0FBRUEsU0FBQSxJQUFBLEVBQWE7QUFDWCxRQUFJLElBQUksR0FBRyxPQUFPLENBQWxCLFdBQUE7QUFFQSxJQUFBLE1BQU0sQ0FBTixZQUFBLENBQUEsT0FBQSxFQUFBLFNBQUE7O0FBRUEsUUFBSSxPQUFPLEtBQVgsSUFBQSxFQUFzQjtBQUNwQixhQUFBLElBQUE7QUFDRDs7QUFFRCxJQUFBLE9BQU8sR0FBUCxJQUFBO0FBQ0Q7QUFDRjtBQUVELE9BQU0sU0FBQSxLQUFBLENBQUEsTUFBQSxFQUE4QjtBQUNsQyxNQUFJLE1BQU0sR0FBRyxNQUFNLENBQW5CLGFBQWEsRUFBYjtBQUNBLE1BQUksS0FBSyxHQUFHLE1BQU0sQ0FBbEIsU0FBWSxFQUFaO0FBQ0EsTUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFqQixRQUFXLEVBQVg7QUFFQSxNQUFJLE9BQU8sR0FBWCxLQUFBOztBQUVBLFNBQUEsSUFBQSxFQUFhO0FBQ1gsUUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFsQixXQUFBO0FBRUEsSUFBQSxNQUFNLENBQU4sV0FBQSxDQUFBLE9BQUE7O0FBRUEsUUFBSSxPQUFPLEtBQVgsSUFBQSxFQUFzQjtBQUNwQixhQUFBLElBQUE7QUFDRDs7QUFFRCxJQUFBLE9BQU8sR0FBUCxJQUFBO0FBQ0Q7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvdW5kcywgQ3Vyc29yLCBPcHRpb24gfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNpbXBsZUVsZW1lbnQsIFNpbXBsZU5vZGUgfSBmcm9tICdAc2ltcGxlLWRvbS9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmV4cG9ydCBjbGFzcyBDdXJzb3JJbXBsIGltcGxlbWVudHMgQ3Vyc29yIHtcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQsIHB1YmxpYyBuZXh0U2libGluZzogT3B0aW9uPFNpbXBsZU5vZGU+KSB7fVxufVxuXG5leHBvcnQgdHlwZSBEZXN0cm95YWJsZUJvdW5kcyA9IEJvdW5kcztcblxuZXhwb3J0IGNsYXNzIENvbmNyZXRlQm91bmRzIGltcGxlbWVudHMgQm91bmRzIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBhcmVudE5vZGU6IFNpbXBsZUVsZW1lbnQsXG4gICAgcHJpdmF0ZSBmaXJzdDogU2ltcGxlTm9kZSxcbiAgICBwcml2YXRlIGxhc3Q6IFNpbXBsZU5vZGVcbiAgKSB7fVxuXG4gIHBhcmVudEVsZW1lbnQoKTogU2ltcGxlRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50Tm9kZTtcbiAgfVxuXG4gIGZpcnN0Tm9kZSgpOiBTaW1wbGVOb2RlIHtcbiAgICByZXR1cm4gdGhpcy5maXJzdDtcbiAgfVxuXG4gIGxhc3ROb2RlKCk6IFNpbXBsZU5vZGUge1xuICAgIHJldHVybiB0aGlzLmxhc3Q7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNpbmdsZU5vZGVCb3VuZHMgaW1wbGVtZW50cyBCb3VuZHMge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudE5vZGU6IFNpbXBsZUVsZW1lbnQsIHByaXZhdGUgbm9kZTogU2ltcGxlTm9kZSkge31cblxuICBwYXJlbnRFbGVtZW50KCk6IFNpbXBsZUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLnBhcmVudE5vZGU7XG4gIH1cblxuICBmaXJzdE5vZGUoKTogU2ltcGxlTm9kZSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGxhc3ROb2RlKCk6IFNpbXBsZU5vZGUge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vdmUoYm91bmRzOiBCb3VuZHMsIHJlZmVyZW5jZTogT3B0aW9uPFNpbXBsZU5vZGU+KTogT3B0aW9uPFNpbXBsZU5vZGU+IHtcbiAgbGV0IHBhcmVudCA9IGJvdW5kcy5wYXJlbnRFbGVtZW50KCk7XG4gIGxldCBmaXJzdCA9IGJvdW5kcy5maXJzdE5vZGUoKTtcbiAgbGV0IGxhc3QgPSBib3VuZHMubGFzdE5vZGUoKTtcblxuICBsZXQgY3VycmVudDogU2ltcGxlTm9kZSA9IGZpcnN0O1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgbGV0IG5leHQgPSBjdXJyZW50Lm5leHRTaWJsaW5nO1xuXG4gICAgcGFyZW50Lmluc2VydEJlZm9yZShjdXJyZW50LCByZWZlcmVuY2UpO1xuXG4gICAgaWYgKGN1cnJlbnQgPT09IGxhc3QpIHtcbiAgICAgIHJldHVybiBuZXh0O1xuICAgIH1cblxuICAgIGN1cnJlbnQgPSBleHBlY3QobmV4dCwgJ2ludmFsaWQgYm91bmRzJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyKGJvdW5kczogQm91bmRzKTogT3B0aW9uPFNpbXBsZU5vZGU+IHtcbiAgbGV0IHBhcmVudCA9IGJvdW5kcy5wYXJlbnRFbGVtZW50KCk7XG4gIGxldCBmaXJzdCA9IGJvdW5kcy5maXJzdE5vZGUoKTtcbiAgbGV0IGxhc3QgPSBib3VuZHMubGFzdE5vZGUoKTtcblxuICBsZXQgY3VycmVudDogU2ltcGxlTm9kZSA9IGZpcnN0O1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgbGV0IG5leHQgPSBjdXJyZW50Lm5leHRTaWJsaW5nO1xuXG4gICAgcGFyZW50LnJlbW92ZUNoaWxkKGN1cnJlbnQpO1xuXG4gICAgaWYgKGN1cnJlbnQgPT09IGxhc3QpIHtcbiAgICAgIHJldHVybiBuZXh0O1xuICAgIH1cblxuICAgIGN1cnJlbnQgPSBleHBlY3QobmV4dCwgJ2ludmFsaWQgYm91bmRzJyk7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=