react-esc-resolver
Advanced tools
Comparing version 1.4.0 to 2.0.1
@@ -11,4 +11,2 @@ 'use strict'; | ||
exports.default = client; | ||
var _react = require('react'); | ||
@@ -22,2 +20,4 @@ | ||
var _utils = require('./utils'); | ||
var _Resolver = require('./Resolver'); | ||
@@ -35,24 +35,24 @@ | ||
function client(Loader) { | ||
exports.default = function (prop, Loader) { | ||
var loadProps = typeof prop === 'string' ? [prop] : prop; | ||
var names = loadProps.map(_utils.capitalize).join(''); | ||
return function (Component) { | ||
var _class, _temp; | ||
var _class, _temp, _initialiseProps; | ||
return _temp = _class = function (_React$Component) { | ||
_inherits(ClientResolver, _React$Component); | ||
_inherits(_class, _React$Component); | ||
function ClientResolver(props, context) { | ||
_classCallCheck(this, ClientResolver); | ||
function _class(props, context) { | ||
_classCallCheck(this, _class); | ||
var _this = _possibleConstructorReturn(this, (ClientResolver.__proto__ || Object.getPrototypeOf(ClientResolver)).call(this, props, context)); | ||
var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props, context)); | ||
_this.enqueue = function (promise) { | ||
_this.queue.push(promise); | ||
_initialiseProps.call(_this); | ||
return promise; | ||
}; | ||
_this.queue = []; | ||
_this.state = { | ||
bypass: process.env.NODE_ENV === 'test', | ||
loaded: false, | ||
loaded: _this.isLoaded(props), | ||
server: isServer | ||
@@ -63,3 +63,3 @@ }; | ||
_createClass(ClientResolver, [{ | ||
_createClass(_class, [{ | ||
key: 'componentDidMount', | ||
@@ -70,5 +70,7 @@ value: function componentDidMount() { | ||
this.setState({ server: false }, function () { | ||
return Promise.all(_this2.queue).then(function () { | ||
return _this2.setState({ loaded: true }); | ||
}); | ||
if (!_this2.isLoaded(_this2.props)) { | ||
Promise.all(_this2.queue).then(function () { | ||
return _this2.setState({ loaded: true }); | ||
}); | ||
} | ||
}); | ||
@@ -87,4 +89,2 @@ } | ||
var loader = Loader ? _react2.default.createElement(Loader, null) : null; | ||
if (bypass || loaded || server) { | ||
@@ -97,3 +97,3 @@ return _react2.default.createElement(Component, this.props); | ||
null, | ||
loader, | ||
_react2.default.createElement(Loader, null), | ||
_react2.default.createElement( | ||
@@ -114,9 +114,29 @@ 'div', | ||
return ClientResolver; | ||
}(_react2.default.Component), _class.displayName = 'ClientResolver', _class.childContextTypes = { | ||
return _class; | ||
}(_react2.default.Component), _class.displayName = names + 'ClientResolver', _class.childContextTypes = { | ||
resolver: _propTypes2.default.instanceOf(_Resolver2.default) | ||
}, _class.contextTypes = { | ||
resolver: _propTypes2.default.instanceOf(_Resolver2.default) | ||
}, _initialiseProps = function () { | ||
var _this4 = this; | ||
this.enqueue = function (promise) { | ||
_this4.queue.push(promise); | ||
return promise; | ||
}; | ||
this.isLoaded = function (props) { | ||
var loaded = true; | ||
loadProps.forEach(function (prop) { | ||
if (!(0, _utils.hasOwnProperty)(props, prop) || !props[prop]) { | ||
loaded = false; | ||
} | ||
}); | ||
return loaded; | ||
}; | ||
}, _temp; | ||
}; | ||
} | ||
}; |
{ | ||
"name": "react-esc-resolver", | ||
"version": "1.4.0", | ||
"version": "2.0.1", | ||
"description": "Easy to use Client and Server Resolver", | ||
"keywords": [ | ||
"async-rendering", | ||
"data-fetching", | ||
"react", | ||
"redux", | ||
"server side rendering", | ||
"universal" | ||
], | ||
"homepage": "https://github.com/TriPSs/react-esc-resolver", | ||
@@ -26,3 +34,5 @@ "bugs": { | ||
"cleanup": "rimraf ./Resolver.js ./resolve.js ./index.js ./client.js", | ||
"prepublish": "npm run cleanup && npm run build" | ||
"prepublish": "npm run cleanup && npm run build", | ||
"version": "npm run prepublish", | ||
"postversion": "git push && git push --tags && npm publish" | ||
}, | ||
@@ -29,0 +39,0 @@ "devDependencies": { |
@@ -19,2 +19,4 @@ 'use strict'; | ||
var _utils = require('./utils'); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
@@ -30,8 +32,2 @@ | ||
var capitalize = function (word) { | ||
return word.replace(/^./, function (letter) { | ||
return letter.toUpperCase(); | ||
}); | ||
}; | ||
exports.default = function (prop, promise) { | ||
@@ -42,3 +38,3 @@ var cache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; | ||
var asyncProps = (typeof prop === 'undefined' ? 'undefined' : _typeof(prop)) === 'object' ? prop : _defineProperty({}, prop, promise); | ||
var asyncNames = Object.keys(asyncProps).map(capitalize).join(''); | ||
var asyncNames = Object.keys(asyncProps).map(_utils.capitalize).join(''); | ||
var cacheEnabled = (typeof prop === 'undefined' ? 'undefined' : _typeof(prop)) === 'object' && typeof promise === 'boolean' ? promise : cache; | ||
@@ -45,0 +41,0 @@ |
@@ -27,2 +27,4 @@ 'use strict'; | ||
var _utils = require('./utils'); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
@@ -75,3 +77,3 @@ | ||
if (cache || isServer) { | ||
if (props.hasOwnProperty(resolve)) { | ||
if ((0, _utils.hasOwnProperty)(props, resolve)) { | ||
return props[resolve]; | ||
@@ -124,3 +126,3 @@ } else if (this.context.resolver) { | ||
if (!state.resolved.hasOwnProperty(name) && !state.pending.hasOwnProperty(name) && !_this2.isValidCache(cached)) { | ||
if (!(0, _utils.hasOwnProperty)(state.resolved, name) && !(0, _utils.hasOwnProperty)(state.pending, name) && !_this2.isValidCache(cached)) { | ||
nextState.pending[name] = resolve[name]; | ||
@@ -127,0 +129,0 @@ } else if (cached) { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
26604
451