Socket
Socket
Sign inDemoInstall

async-reactor

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

async-reactor - npm Package Compare versions

Comparing version 1.1.2 to 1.2.0

2

lib/element.js

@@ -1,1 +0,1 @@

'use strict';exports.__esModule=!0,exports.createReactorElement=createReactorElement;var _react=require('react');function createReactorElement(Reactor,component){var loaderComponent=2<arguments.length&&arguments[2]!==void 0?arguments[2]:'div';return function(){var passthroughProps=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{};return(0,_react.createElement)(Reactor,{wait:component,loader:loaderComponent,passthroughProps:passthroughProps})}}
'use strict';exports.__esModule=!0,exports.createReactorElement=createReactorElement;var _react=require('react');function createReactorElement(Reactor,component,loaderComponent,errorComponent){return function(){var passthroughProps=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{};return(0,_react.createElement)(Reactor,{wait:component,error:errorComponent,loader:loaderComponent,passthroughProps:passthroughProps})}}

@@ -1,1 +0,1 @@

'use strict';var _createClass=function(){function defineProperties(target,props){for(var descriptor,i=0;i<props.length;i++)descriptor=props[i],descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,'value'in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}();exports.__esModule=!0;exports.asyncReactor=asyncReactor;var _react=require('react'),_element=require('./element');function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError('Cannot call a class as a function')}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError('this hasn\'t been initialised - super() hasn\'t been called');return call&&('object'==typeof call||'function'==typeof call)?call:self}function _inherits(subClass,superClass){if('function'!=typeof superClass&&null!==superClass)throw new TypeError('Super expression must either be null or a function, not '+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}function interopRequireModule(obj){return obj&&obj.__esModule?obj.default:obj}function isFunction(p){return'function'==typeof p}function isPromise(){var p=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{};return p&&isFunction(p.then)}var Reactor=function(_Component){function Reactor(props){_classCallCheck(this,Reactor);var _this=_possibleConstructorReturn(this,(Reactor.__proto__||Object.getPrototypeOf(Reactor)).call(this,props));return _this.state={},_this}return _inherits(Reactor,_Component),_createClass(Reactor,[{key:'componentDidMount',value:function componentDidMount(){var _this2=this;this._isMounted=!0;var promise=this.props.wait(this.props.passthroughProps);if(!isPromise(promise))throw new Error('You must provide an async component');promise.then(function(data){_this2._isMounted&&_this2.setState({data:data})}).catch(function(err){throw err})}},{key:'componentWillUnmount',value:function componentWillUnmount(){this._isMounted=!1}},{key:'render',value:function render(){if('data'in this.state){var renderer=interopRequireModule(this.state.data);return isFunction(renderer)&&(renderer=(0,_react.createElement)(renderer,this.props.passthroughProps)),renderer}return(0,_react.createElement)(this.props.loader)}}]),Reactor}(_react.Component);function asyncReactor(component){var loaderComponent=1<arguments.length&&arguments[1]!==void 0?arguments[1]:'div';if((0,_react.isValidElement)(component))throw new Error('Incompatible React element given, please change asyncReactor(<'+component.type.name+' />) to asyncReactor('+component.type.name+').');if(isPromise(component))return(0,_element.createReactorElement)(Reactor,function(){return component},loaderComponent);if(!isFunction(component))throw new Error('You must provide an async component, '+JSON.stringify(component)+' given');return(0,_element.createReactorElement)(Reactor,component,loaderComponent)}
'use strict';var _extends=Object.assign||function(target){for(var source,i=1;i<arguments.length;i++)for(var key in source=arguments[i],source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key]);return target},_createClass=function(){function defineProperties(target,props){for(var descriptor,i=0;i<props.length;i++)descriptor=props[i],descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,'value'in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}();exports.__esModule=!0;exports.asyncReactor=asyncReactor;var _react=require('react'),_element=require('./element');function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError('Cannot call a class as a function')}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError('this hasn\'t been initialised - super() hasn\'t been called');return call&&('object'==typeof call||'function'==typeof call)?call:self}function _inherits(subClass,superClass){if('function'!=typeof superClass&&null!==superClass)throw new TypeError('Super expression must either be null or a function, not '+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}function interopRequireModule(obj){return obj&&obj.__esModule?obj.default:obj}function isFunction(p){return'function'==typeof p}function isPromise(){var p=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{};return p&&isFunction(p.then)}var Reactor=function(_Component){function Reactor(props){_classCallCheck(this,Reactor);var _this=_possibleConstructorReturn(this,(Reactor.__proto__||Object.getPrototypeOf(Reactor)).call(this,props));return _this.state={},_this._passthroughProps=props.passthroughProps,_this}return _inherits(Reactor,_Component),_createClass(Reactor,[{key:'_handleError',value:function _handleError(error){var errorComponent=this.props.error;if(errorComponent&&this._isMounted)this._passthroughProps=_extends({},this._passthroughProps,{error:error}),this._setResult(errorComponent);else throw error}},{key:'_setResult',value:function _setResult(data){this._isMounted&&this.setState({data:interopRequireModule(data)})}},{key:'componentDidMount',value:function componentDidMount(){var _this2=this;this._isMounted=!0;var promise;if(promise=isPromise(this.props.wait)?this.props.wait:this.props.wait(this._passthroughProps),!isPromise(promise))throw new Error('You must provide an async component');promise.then(function(data){return _this2._setResult(data)}).catch(function(err){return _this2._handleError(err)})}},{key:'componentWillUnmount',value:function componentWillUnmount(){this._isMounted=!1}},{key:'render',value:function render(){if('data'in this.state){var renderer=this.state.data;return isFunction(renderer)?(0,_react.createElement)(renderer,this._passthroughProps):renderer}return(0,_react.createElement)(this.props.loader)}}]),Reactor}(_react.Component);function asyncReactor(component,loaderComponent,errorComponent){if((0,_react.isValidElement)(component))throw new Error('Incompatible React element given, please change asyncReactor(<'+component.type.name+' />) to asyncReactor('+component.type.name+').');if(loaderComponent||(loaderComponent='div'),errorComponent||(errorComponent='div'),!isFunction(component)&&!isPromise(component))throw new Error('You must provide an async component, '+JSON.stringify(component)+' given');return(0,_element.createReactorElement)(Reactor,component,loaderComponent,errorComponent)}
{
"name": "async-reactor",
"version": "1.1.2",
"version": "1.2.0",
"keywords": [

@@ -21,2 +21,3 @@ "react",

"build": "BABEL_ENV=production babel --out-dir lib src/",
"watch": "babel --out-dir lib src/ --watch",
"prepublish": "npm run build"

@@ -36,2 +37,3 @@ },

"babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
"babel-plugin-transform-object-rest-spread": "^6.23.0",
"babel-polyfill": "^6.23.0",

@@ -38,0 +40,0 @@ "babel-preset-babili": "0.0.12",

@@ -14,3 +14,3 @@ # async-reactor

```js
asyncReactor(component: Function, loader?: Component): Component
asyncReactor(component: Function, loader?: Component, error?: Component): Component
```

@@ -22,2 +22,3 @@

| loader (optionnal) | Component | Will be shown until the first component renders |
| error (optionnal) | Component | Will be shown when an error occurred |

@@ -24,0 +25,0 @@ The returned value is a regular `Component`.

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc