Socket
Socket
Sign inDemoInstall

async-reactor

Package Overview
Dependencies
20
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.2.1 to 1.2.2

LICENSE

2

lib/index.js

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

'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)},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)}
'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)},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,this._passthroughProps)}}]),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.2.1",
"version": "1.2.2",
"keywords": [

@@ -5,0 +5,0 @@ "react",

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc