UNPKG

rxact

Version:

an observable application management for Javascript apps

57 lines (38 loc) 2.15 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.teardown = exports.setup = undefined; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _stateStream = require('./stateStream'); var _stateStream2 = _interopRequireDefault(_stateStream); var _observable = require('./observable'); var _isObservable = require('./utils/isObservable'); var _isObservable2 = _interopRequireDefault(_isObservable); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var RealStateStream = _stateStream2.default; var setup = exports.setup = function setup(options) { var _RealStateStream; if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) !== 'object') { throw new Error('setup(): Expected options to be an object.'); } var Observable = options.Observable, _options$plugins = options.plugins, plugins = _options$plugins === undefined ? [] : _options$plugins, _options$HOStateStrea = options.HOStateStream, HOStateStream = _options$HOStateStrea === undefined ? _stateStream2.default : _options$HOStateStrea; if (!(0, _isObservable2.default)(Observable)) { throw new Error('setup(): Expected an ES Observable. For more info: https://github.com/tc39/proposal-observable'); } (0, _observable.setObservable)(Observable); if (!Array.isArray(plugins)) { throw new Error('setup(): Expected plugins to be an array'); } RealStateStream = HOStateStream; (_RealStateStream = RealStateStream).addPlugin.apply(_RealStateStream, _toConsumableArray(plugins)); }; var teardown = exports.teardown = function teardown() { (0, _observable.cleanObservable)(); RealStateStream.removePlugin(); };