@kineticdata/react
Version:
A React library for the Kinetic Platform
105 lines (104 loc) • 3.48 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.dispatcher = exports.dispatch = exports.context = exports.connect = exports.commitStore = exports.action = void 0;
Object.defineProperty(exports, "reducer", {
enumerable: true,
get: function get() {
return _reducer.reducer;
}
});
Object.defineProperty(exports, "regHandlers", {
enumerable: true,
get: function get() {
return _reducer.regHandlers;
}
});
Object.defineProperty(exports, "regSaga", {
enumerable: true,
get: function get() {
return _saga.regSaga;
}
});
Object.defineProperty(exports, "runSaga", {
enumerable: true,
get: function get() {
return _saga.runSaga;
}
});
exports.store = exports.selectWaiting = void 0;
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/regeneratorRuntime"));
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
var _react = require("react");
var _redux = require("redux");
var _reactRedux = require("react-redux");
var _effects = require("redux-saga/effects");
var _immutable = require("immutable");
var _reducer = require("./reducer");
var _saga = require("./saga");
var composeEnhancers = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({
name: '@kineticdata/react'
}) : _redux.compose;
var store = exports.store = (0, _redux.createStore)(_reducer.reducer, (0, _immutable.Map)(), composeEnhancers((0, _redux.applyMiddleware)(_saga.sagaMiddleware)));
var dispatch = exports.dispatch = function dispatch(type, payload) {
return store.dispatch({
type: type,
payload: payload
});
};
var dispatcher = exports.dispatcher = function dispatcher(type) {
return function (payload) {
return store.dispatch({
type: type,
payload: payload
});
};
};
var action = exports.action = function action(type, payload) {
return {
type: type,
payload: payload
};
};
var commitStore = exports.commitStore = function commitStore() {
(0, _saga.commitSagas)();
};
var context = exports.context = /*#__PURE__*/(0, _react.createContext)();
var connect = exports.connect = function connect() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _reactRedux.connect.apply(void 0, (0, _toConsumableArray2["default"])((0, _immutable.setIn)(args, [3, 'context'], context)));
};
var selectWaiting = exports.selectWaiting = /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function selectWaiting(selector) {
var value;
return (0, _regeneratorRuntime2["default"])().wrap(function selectWaiting$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (!true) {
_context.next = 12;
break;
}
_context.next = 3;
return (0, _effects.select)(selector);
case 3:
value = _context.sent;
if (!value) {
_context.next = 8;
break;
}
return _context.abrupt("return", value);
case 8:
_context.next = 10;
return (0, _effects.take)();
case 10:
_context.next = 0;
break;
case 12:
case "end":
return _context.stop();
}
}, selectWaiting);
});