@glimmer/runtime
Version:
Minimal runtime needed to render Glimmer templates
56 lines (45 loc) • 4.58 kB
JavaScript
import { associateDestroyableChild, registerDestructor } from '@glimmer/destroyable';
import { clear } from '../bounds';
import UpdatingVMImpl from './update';
var RenderResultImpl = /*#__PURE__*/function () {
function RenderResultImpl(env, updating, bounds, drop) {
var _this = this;
this.env = env;
this.updating = updating;
this.bounds = bounds;
this.drop = drop;
associateDestroyableChild(this, drop);
registerDestructor(this, function () {
return clear(_this.bounds);
});
}
var _proto = RenderResultImpl.prototype;
_proto.rerender = function rerender(_temp) {
var _ref = _temp === void 0 ? {
alwaysRevalidate: false
} : _temp,
_ref$alwaysRevalidate = _ref.alwaysRevalidate,
alwaysRevalidate = _ref$alwaysRevalidate === void 0 ? false : _ref$alwaysRevalidate;
var env = this.env,
updating = this.updating;
var vm = new UpdatingVMImpl(env, {
alwaysRevalidate: alwaysRevalidate
});
vm.execute(updating, this);
};
_proto.parentElement = function parentElement() {
return this.bounds.parentElement();
};
_proto.firstNode = function firstNode() {
return this.bounds.firstNode();
};
_proto.lastNode = function lastNode() {
return this.bounds.lastNode();
};
_proto.handleException = function handleException() {
throw 'this should never happen';
};
return RenderResultImpl;
}();
export { RenderResultImpl as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3ZtL3JlbmRlci1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBQSx5QkFBQSxFQUFBLGtCQUFBLFFBQUEsc0JBQUE7QUFFQSxTQUFBLEtBQUEsUUFBQSxXQUFBO0FBQ0EsT0FBQSxjQUFBLE1BQUEsVUFBQTs7SUFFYyxnQjtBQUNaLDRCQUFBLEdBQUEsRUFBQSxRQUFBLEVBQUEsTUFBQSxFQUFBLElBQUEsRUFJdUI7QUFBQTs7QUFIZCxTQUFBLEdBQUEsR0FBQSxHQUFBO0FBQ0MsU0FBQSxRQUFBLEdBQUEsUUFBQTtBQUNBLFNBQUEsTUFBQSxHQUFBLE1BQUE7QUFDQyxTQUFBLElBQUEsR0FBQSxJQUFBO0FBRVQsSUFBQSx5QkFBeUIsQ0FBQSxJQUFBLEVBQXpCLElBQXlCLENBQXpCO0FBQ0EsSUFBQSxrQkFBa0IsQ0FBQSxJQUFBLEVBQU87QUFBQSxhQUFNLEtBQUssQ0FBQyxLQUFBLENBQXJDLE1BQW9DLENBQVg7QUFBQSxLQUFQLENBQWxCO0FBQ0Q7Ozs7U0FFRCxRLEdBQUEseUJBQW1FO0FBQUEsa0NBQTNCO0FBQUUsTUFBQSxnQkFBZ0IsRUFBRTtBQUFwQixLQUEyQjtBQUFBLHFDQUF4RCxnQkFBd0Q7QUFBQSxRQUF4RCxnQkFBd0Qsc0NBQXJDLEtBQXFDOztBQUFBLFFBQzdELEdBRDZELEdBQ2pFLElBRGlFLENBQzdELEdBRDZEO0FBQUEsUUFDdEQsUUFEc0QsR0FDakUsSUFEaUUsQ0FDdEQsUUFEc0Q7QUFFakUsUUFBSSxFQUFFLEdBQUcsSUFBQSxjQUFBLENBQUEsR0FBQSxFQUF3QjtBQUFFLE1BQUEsZ0JBQUEsRUFBQTtBQUFGLEtBQXhCLENBQVQ7QUFDQSxJQUFBLEVBQUUsQ0FBRixPQUFBLENBQUEsUUFBQSxFQUFBLElBQUE7QUFDRCxHOztTQUVELGEsR0FBQSx5QkFBYTtBQUNYLFdBQU8sS0FBQSxNQUFBLENBQVAsYUFBTyxFQUFQO0FBQ0QsRzs7U0FFRCxTLEdBQUEscUJBQVM7QUFDUCxXQUFPLEtBQUEsTUFBQSxDQUFQLFNBQU8sRUFBUDtBQUNELEc7O1NBRUQsUSxHQUFBLG9CQUFRO0FBQ04sV0FBTyxLQUFBLE1BQUEsQ0FBUCxRQUFPLEVBQVA7QUFDRCxHOztTQUVELGUsR0FBQSwyQkFBZTtBQUNiLFVBQUEsMEJBQUE7QUFDRCxHOzs7OztTQS9CVyxnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50LCBSZW5kZXJSZXN1bHQsIExpdmVCbG9jaywgVXBkYXRpbmdPcGNvZGUgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGFzc29jaWF0ZURlc3Ryb3lhYmxlQ2hpbGQsIHJlZ2lzdGVyRGVzdHJ1Y3RvciB9IGZyb20gJ0BnbGltbWVyL2Rlc3Ryb3lhYmxlJztcbmltcG9ydCB7IFNpbXBsZUVsZW1lbnQsIFNpbXBsZU5vZGUgfSBmcm9tICdAc2ltcGxlLWRvbS9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgY2xlYXIgfSBmcm9tICcuLi9ib3VuZHMnO1xuaW1wb3J0IFVwZGF0aW5nVk1JbXBsIGZyb20gJy4vdXBkYXRlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVuZGVyUmVzdWx0SW1wbCBpbXBsZW1lbnRzIFJlbmRlclJlc3VsdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbnY6IEVudmlyb25tZW50LFxuICAgIHByaXZhdGUgdXBkYXRpbmc6IFVwZGF0aW5nT3Bjb2RlW10sXG4gICAgcHJpdmF0ZSBib3VuZHM6IExpdmVCbG9jayxcbiAgICByZWFkb25seSBkcm9wOiBvYmplY3RcbiAgKSB7XG4gICAgYXNzb2NpYXRlRGVzdHJveWFibGVDaGlsZCh0aGlzLCBkcm9wKTtcbiAgICByZWdpc3RlckRlc3RydWN0b3IodGhpcywgKCkgPT4gY2xlYXIodGhpcy5ib3VuZHMpKTtcbiAgfVxuXG4gIHJlcmVuZGVyKHsgYWx3YXlzUmV2YWxpZGF0ZSA9IGZhbHNlIH0gPSB7IGFsd2F5c1JldmFsaWRhdGU6IGZhbHNlIH0pIHtcbiAgICBsZXQgeyBlbnYsIHVwZGF0aW5nIH0gPSB0aGlzO1xuICAgIGxldCB2bSA9IG5ldyBVcGRhdGluZ1ZNSW1wbChlbnYsIHsgYWx3YXlzUmV2YWxpZGF0ZSB9KTtcbiAgICB2bS5leGVjdXRlKHVwZGF0aW5nLCB0aGlzKTtcbiAgfVxuXG4gIHBhcmVudEVsZW1lbnQoKTogU2ltcGxlRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuYm91bmRzLnBhcmVudEVsZW1lbnQoKTtcbiAgfVxuXG4gIGZpcnN0Tm9kZSgpOiBTaW1wbGVOb2RlIHtcbiAgICByZXR1cm4gdGhpcy5ib3VuZHMuZmlyc3ROb2RlKCk7XG4gIH1cblxuICBsYXN0Tm9kZSgpOiBTaW1wbGVOb2RlIHtcbiAgICByZXR1cm4gdGhpcy5ib3VuZHMubGFzdE5vZGUoKTtcbiAgfVxuXG4gIGhhbmRsZUV4Y2VwdGlvbigpIHtcbiAgICB0aHJvdyAndGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuJztcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==