rxact
Version:
an observable application management for Javascript apps
57 lines (38 loc) • 2.15 kB
JavaScript
;
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();
};