strikejs-react
Version:
A state management framework for ReactJS applications.
7 lines • 7.16 kB
JavaScript
module.exports = { contents: "\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar React = require(\"react\");\r\nfunction createControllerView(_a) {\r\n var component = _a.component, reducer = _a.reducer, initialState = _a.initialState, deps = _a.deps, propsModifier = _a.propsModifier, propsToPropagate = _a.propsToPropagate, propsToData = _a.propsToData, stateKey = _a.stateKey;\r\n var store = null;\r\n var injector = null;\r\n var propsObject = {\r\n data: null,\r\n store: null,\r\n dispatch: null\r\n };\r\n return (function (_super) {\r\n __extends(class_1, _super);\r\n function class_1(props) {\r\n var _this = _super.call(this, props) || this;\r\n _this.state = typeof initialState === \"function\" ? initialState(props) : initialState;\r\n store = props.store;\r\n propsObject.store = props.store;\r\n propsObject.dataStore = props.dataStore;\r\n propsObject.dispatch = store.dispatch;\r\n propsObject.router = props.router;\r\n _this.propagateProps(props);\r\n if (deps && injector) {\r\n if (deps instanceof Array) {\r\n deps.forEach(function (e) {\r\n propsObject[e] = injector.get(e);\r\n });\r\n }\r\n else if (typeof deps === \"object\") {\r\n for (var kk in deps) {\r\n propsObject[deps[kk]] = injector.get(kk);\r\n }\r\n }\r\n }\r\n return _this;\r\n }\r\n class_1.prototype.propagateProps = function (props) {\r\n propsObject.routeParams = props.routeParams;\r\n if (propsToPropagate instanceof Array) {\r\n propsToPropagate.forEach(function (e) {\r\n propsObject[e] = props[e];\r\n });\r\n }\r\n if (typeof propsModifier === \"function\") {\r\n propsModifier(props, propsObject);\r\n }\r\n };\r\n class_1.prototype.getStateKey = function () {\r\n return stateKey;\r\n };\r\n class_1.prototype.getReducer = function () {\r\n return reducer;\r\n };\r\n class_1.prototype.componentWillReceiveProps = function (props) {\r\n this.propagateProps(props);\r\n };\r\n class_1.prototype.componentWillMount = function () {\r\n store.connect(this);\r\n };\r\n class_1.prototype.componentDidMount = function () {\r\n var _this = this;\r\n var persistenceStrategy = this.props.persistenceStrategy;\r\n if (persistenceStrategy) {\r\n if (typeof persistenceStrategy === \"function\") {\r\n persistenceStrategy(stateKey, function (err, data) {\r\n if (err) {\r\n console.error(err.message, err.stack);\r\n return;\r\n }\r\n _this.setState(data);\r\n });\r\n }\r\n else if (typeof persistenceStrategy === \"object\") {\r\n var persist = persistenceStrategy;\r\n if (typeof persist.get === \"function\") {\r\n if (persist.get.length === 2) {\r\n persist.get(stateKey, function (err, data) {\r\n if (err) {\r\n throw err;\r\n }\r\n _this.setState(data);\r\n });\r\n }\r\n else if (persist.get.length === 1) {\r\n return persist.get(stateKey).then(function (data) {\r\n _this.setState(data);\r\n }, function (err) {\r\n console.log(err);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n };\r\n class_1.prototype.componentWillUnmount = function () {\r\n var _this = this;\r\n var state = this.state;\r\n var persistenceStrategy = this.props.persistenceStrategy;\r\n if (typeof persistenceStrategy === \"function\") {\r\n persistenceStrategy(stateKey, state, function (err, data) {\r\n store.disconnect(_this);\r\n if (err) {\r\n throw err;\r\n }\r\n });\r\n return;\r\n }\r\n else if (typeof persistenceStrategy === \"object\" &&\r\n persistenceStrategy.get !== \"undefined\") {\r\n var p = persistenceStrategy;\r\n if (p.put.length === 2) {\r\n p.put(stateKey, state).then(function (data) {\r\n store.disconnect(_this);\r\n }, function (err) {\r\n console.log(err);\r\n });\r\n return;\r\n }\r\n else if (p.put.length === 3) {\r\n p.put(stateKey, state, function (err, data) {\r\n store.disconnect(_this);\r\n if (err) {\r\n throw err;\r\n }\r\n });\r\n return;\r\n }\r\n }\r\n store.disconnect(this);\r\n };\r\n class_1.prototype.render = function () {\r\n var k = propsObject.data = typeof propsToData === \"function\" ? (__assign({}, (this.state || {}), propsToData(propsObject, this.state))) : this.state;\r\n return React.createElement(component, propsObject, this.props.children);\r\n };\r\n return class_1;\r\n }(React.Component));\r\n}\r\nexports.createControllerView = createControllerView;\r\n",
dependencies: ["react"],
sourceMap: {},
headerContent: undefined,
mtime: 1508010165205,
devLibsRequired : undefined
};