UNPKG

@upcodee/viewmodel

Version:

View model is library for MVVM architecture for React apps using Mobx and RxJS

28 lines (27 loc) 950 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useScopedViewModel = exports.ViewModelScope = void 0; var rxjs_1 = require("rxjs"); var react_1 = require("react"); var ViewModelScope = /** @class */ (function () { function ViewModelScope() { this.subscription = new rxjs_1.Subscription(); } ViewModelScope.prototype.launchInside = function (observable) { this.subscription.add(observable.subscribe(function (_) { }, function (_) { }, function () { })); }; ViewModelScope.prototype.dispose = function () { this.subscription.unsubscribe(); }; return ViewModelScope; }()); exports.ViewModelScope = ViewModelScope; var useScopedViewModel = function (viewModel) { react_1.useEffect(function () { return function cleanup() { viewModel.dispose(); }; }, []); return viewModel; }; exports.useScopedViewModel = useScopedViewModel;