@glimmer/runtime
Version:
Minimal runtime needed to render Glimmer templates
60 lines (47 loc) • 4.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _destroyable = require("@glimmer/destroyable");
var _bounds = require("../bounds");
var _update = _interopRequireDefault(require("./update"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class RenderResultImpl {
constructor(env, updating, bounds, drop) {
this.env = env;
this.updating = updating;
this.bounds = bounds;
this.drop = drop;
(0, _destroyable.associateDestroyableChild)(this, drop);
(0, _destroyable.registerDestructor)(this, () => (0, _bounds.clear)(this.bounds));
}
rerender({
alwaysRevalidate = false
} = {
alwaysRevalidate: false
}) {
let {
env,
updating
} = this;
let vm = new _update.default(env, {
alwaysRevalidate
});
vm.execute(updating, this);
}
parentElement() {
return this.bounds.parentElement();
}
firstNode() {
return this.bounds.firstNode();
}
lastNode() {
return this.bounds.lastNode();
}
handleException() {
throw 'this should never happen';
}
}
exports.default = RenderResultImpl;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3ZtL3JlbmRlci1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBOztBQUVBOztBQUNBOzs7O0FBRWMsTUFBQSxnQkFBQSxDQUF1QjtBQUNuQyxFQUFBLFdBQUEsQ0FBQSxHQUFBLEVBQUEsUUFBQSxFQUFBLE1BQUEsRUFBQSxJQUFBLEVBSXVCO0FBSGQsU0FBQSxHQUFBLEdBQUEsR0FBQTtBQUNDLFNBQUEsUUFBQSxHQUFBLFFBQUE7QUFDQSxTQUFBLE1BQUEsR0FBQSxNQUFBO0FBQ0MsU0FBQSxJQUFBLEdBQUEsSUFBQTtBQUVULGdEQUF5QixJQUF6QixFQUFBLElBQUE7QUFDQSx5Q0FBa0IsSUFBbEIsRUFBeUIsTUFBTSxtQkFBTSxLQUFyQyxNQUErQixDQUEvQjtBQUNEOztBQUVELEVBQUEsUUFBUSxDQUFDO0FBQUUsSUFBQSxnQkFBZ0IsR0FBRztBQUFyQixNQUErQjtBQUFFLElBQUEsZ0JBQWdCLEVBQUU7QUFBcEIsR0FBaEMsRUFBMkQ7QUFDakUsUUFBSTtBQUFBLE1BQUEsR0FBQTtBQUFPLE1BQUE7QUFBUCxRQUFKLElBQUE7QUFDQSxRQUFJLEVBQUUsR0FBRyxJQUFBLGVBQUEsQ0FBQSxHQUFBLEVBQXdCO0FBQUUsTUFBQTtBQUFGLEtBQXhCLENBQVQ7QUFDQSxJQUFBLEVBQUUsQ0FBRixPQUFBLENBQUEsUUFBQSxFQUFBLElBQUE7QUFDRDs7QUFFRCxFQUFBLGFBQWEsR0FBQTtBQUNYLFdBQU8sS0FBQSxNQUFBLENBQVAsYUFBTyxFQUFQO0FBQ0Q7O0FBRUQsRUFBQSxTQUFTLEdBQUE7QUFDUCxXQUFPLEtBQUEsTUFBQSxDQUFQLFNBQU8sRUFBUDtBQUNEOztBQUVELEVBQUEsUUFBUSxHQUFBO0FBQ04sV0FBTyxLQUFBLE1BQUEsQ0FBUCxRQUFPLEVBQVA7QUFDRDs7QUFFRCxFQUFBLGVBQWUsR0FBQTtBQUNiLFVBQUEsMEJBQUE7QUFDRDs7QUEvQmtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnQsIFJlbmRlclJlc3VsdCwgTGl2ZUJsb2NrLCBVcGRhdGluZ09wY29kZSB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgYXNzb2NpYXRlRGVzdHJveWFibGVDaGlsZCwgcmVnaXN0ZXJEZXN0cnVjdG9yIH0gZnJvbSAnQGdsaW1tZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgU2ltcGxlRWxlbWVudCwgU2ltcGxlTm9kZSB9IGZyb20gJ0BzaW1wbGUtZG9tL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBjbGVhciB9IGZyb20gJy4uL2JvdW5kcyc7XG5pbXBvcnQgVXBkYXRpbmdWTUltcGwgZnJvbSAnLi91cGRhdGUnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZW5kZXJSZXN1bHRJbXBsIGltcGxlbWVudHMgUmVuZGVyUmVzdWx0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVudjogRW52aXJvbm1lbnQsXG4gICAgcHJpdmF0ZSB1cGRhdGluZzogVXBkYXRpbmdPcGNvZGVbXSxcbiAgICBwcml2YXRlIGJvdW5kczogTGl2ZUJsb2NrLFxuICAgIHJlYWRvbmx5IGRyb3A6IG9iamVjdFxuICApIHtcbiAgICBhc3NvY2lhdGVEZXN0cm95YWJsZUNoaWxkKHRoaXMsIGRyb3ApO1xuICAgIHJlZ2lzdGVyRGVzdHJ1Y3Rvcih0aGlzLCAoKSA9PiBjbGVhcih0aGlzLmJvdW5kcykpO1xuICB9XG5cbiAgcmVyZW5kZXIoeyBhbHdheXNSZXZhbGlkYXRlID0gZmFsc2UgfSA9IHsgYWx3YXlzUmV2YWxpZGF0ZTogZmFsc2UgfSkge1xuICAgIGxldCB7IGVudiwgdXBkYXRpbmcgfSA9IHRoaXM7XG4gICAgbGV0IHZtID0gbmV3IFVwZGF0aW5nVk1JbXBsKGVudiwgeyBhbHdheXNSZXZhbGlkYXRlIH0pO1xuICAgIHZtLmV4ZWN1dGUodXBkYXRpbmcsIHRoaXMpO1xuICB9XG5cbiAgcGFyZW50RWxlbWVudCgpOiBTaW1wbGVFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5ib3VuZHMucGFyZW50RWxlbWVudCgpO1xuICB9XG5cbiAgZmlyc3ROb2RlKCk6IFNpbXBsZU5vZGUge1xuICAgIHJldHVybiB0aGlzLmJvdW5kcy5maXJzdE5vZGUoKTtcbiAgfVxuXG4gIGxhc3ROb2RlKCk6IFNpbXBsZU5vZGUge1xuICAgIHJldHVybiB0aGlzLmJvdW5kcy5sYXN0Tm9kZSgpO1xuICB9XG5cbiAgaGFuZGxlRXhjZXB0aW9uKCkge1xuICAgIHRocm93ICd0aGlzIHNob3VsZCBuZXZlciBoYXBwZW4nO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9