UNPKG

kr-observable

Version:
32 lines (31 loc) 848 B
"use strict"; 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); }, };