UNPKG

@glimmer/runtime

Version:

Minimal runtime needed to render Glimmer templates

60 lines (47 loc) 4.08 kB
"use strict"; 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