kr-observable
Version:
Adds reactivity power for your JavaScript
32 lines (31 loc) • 848 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObserverPlugin = exports.Observer = void 0;
const vue_1 = require("vue");
const kr_observable_1 = require("kr-observable");
function noop() { }
exports.Observer = (0, vue_1.defineComponent)({
data: () => ({
runId: undefined,
debug: false,
run: noop,
subscriber: noop,
render: noop,
disposed: false,
}),
beforeMount() {
this.run = this.$slots?.default;
this.render = () => kr_observable_1.executor.execute(this);
},
render() {
return (0, vue_1.h)(this.render, { ObservableKey: this.runId });
},
unmounted() {
this.disposed = true;
},
});
exports.ObserverPlugin = {
install: (app) => {
app.component('Observer', exports.Observer);
},
};