Socket
Socket
Sign inDemoInstall

react-async-component

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-async-component - npm Package Compare versions

Comparing version 2.0.0-alpha.0 to 2.0.0-alpha.1

61

dist/react-async-component.js

@@ -257,25 +257,31 @@ 'use strict';

function AsyncComponent(props, context) {
function AsyncComponent() {
classCallCheck(this, AsyncComponent);
return possibleConstructorReturn(this, (AsyncComponent.__proto__ || Object.getPrototypeOf(AsyncComponent)).apply(this, arguments));
}
// We have to set the id in the constructor because a RHL seems
// to recycle the module and therefore the id closure will be null.
// We can't put it in componentWillMount as RHL hot swaps the new code
// so the mount call will not happen (but the ctor does).
var _this = possibleConstructorReturn(this, (AsyncComponent.__proto__ || Object.getPrototypeOf(AsyncComponent)).call(this, props, context));
if (_this.context.asyncComponents != null) {
state.asyncComponents = _this.context.asyncComponents;
state.asyncComponentsAncestor = _this.context.asyncComponentsAncestor;
if (!state.id) {
state.id = _this.context.asyncComponents.getNextId();
createClass(AsyncComponent, [{
key: 'getChildContext',
value: function getChildContext() {
return {
asyncComponentsAncestor: state.asyncComponents == null ? null : {
isBoundary: serverMode === 'boundary'
}
};
}
}, {
key: 'componentWillMount',
value: function componentWillMount() {
if (this.context.asyncComponents != null) {
state.asyncComponents = this.context.asyncComponents;
state.asyncComponentsAncestor = this.context.asyncComponentsAncestor;
if (!state.id) {
state.id = this.context.asyncComponents.getNextId();
}
}
}
return _this;
}
// react-async-bootstrapper
// react-async-bootstrapper
createClass(AsyncComponent, [{
}, {
key: 'bootstrap',

@@ -311,11 +317,2 @@ value: function bootstrap() {

}, {
key: 'getChildContext',
value: function getChildContext() {
return {
asyncComponentsAncestor: state.asyncComponents == null ? null : {
isBoundary: serverMode === 'boundary'
}
};
}
}, {
key: 'componentDidMount',

@@ -350,2 +347,6 @@ value: function componentDidMount() {

state.resolving = false;
if (!ErrorComponent) {
// eslint-disable-next-line no-console
console.error(error);
}
}).then(function (result) {

@@ -377,10 +378,2 @@ if (_this3.unmounted) {

// This is as workaround for React Hot Loader support. When using
// RHL the local component reference will be killed by any change
// to the component, this will be our signal to know that we need to
// re-resolve it.
if (needToResolveOnBrowser()) {
this.resolveModule();
}
var Component = es6Resolve(module);

@@ -387,0 +380,0 @@ return Component ? React__default.createElement(Component, this.props) : LoadingComponent ? React__default.createElement(LoadingComponent, this.props) : null;

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

"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),React__default=_interopDefault(React),PropTypes=_interopDefault(require("prop-types")),_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},classCallCheck=function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")},createClass=function(){function e(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(n,t,o){return t&&e(n.prototype,t),o&&e(n,o),n}}(),defineProperty=function(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e},_extends=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},inherits=function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)},possibleConstructorReturn=function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n},createAsyncContext=function(){var e=0,n={},t={};return{getNextId:function(){return e+=1},resolved:function(e){n[e]=!0},failed:function(e,n){t[e]=n},getState:function(){return{resolved:Object.keys(n).reduce(function(e,n){return Object.assign(e,defineProperty({},n,!0))},{}),errors:t}}}},AsyncComponentProvider=function(e){function n(){return classCallCheck(this,n),possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return inherits(n,e),createClass(n,[{key:"componentWillMount",value:function(){this.asyncContext=this.props.asyncContext||createAsyncContext(),this.rehydrateState=this.props.rehydrateState}},{key:"getChildContext",value:function(){var e=this;return{asyncComponents:{getNextId:this.asyncContext.getNextId,resolved:this.asyncContext.resolved,failed:this.asyncContext.failed,shouldRehydrate:function(n){var t=e.rehydrateState.resolved[n];return delete e.rehydrateState.resolved[n],t},getError:function(n){return e.rehydrateState.errors&&e.rehydrateState.errors[n]}}}}},{key:"render",value:function(){return React__default.Children.only(this.props.children)}}]),n}(React.Component);AsyncComponentProvider.propTypes={children:PropTypes.node.isRequired,asyncContext:PropTypes.shape({getNextId:PropTypes.func.isRequired,resolved:PropTypes.func.isRequired,failed:PropTypes.func.isRequired,getState:PropTypes.func.isRequired}),rehydrateState:PropTypes.shape({resolved:PropTypes.object})},AsyncComponentProvider.defaultProps={asyncContext:void 0,rehydrateState:{resolved:{}}},AsyncComponentProvider.childContextTypes={asyncComponents:PropTypes.shape({getNextId:PropTypes.func.isRequired,resolved:PropTypes.func.isRequired,failed:PropTypes.func.isRequired,shouldRehydrate:PropTypes.func.isRequired,getError:PropTypes.func.isRequired}).isRequired};var validSSRModes=["resolve","defer","boundary"];function asyncComponent(e){var n,t,o=e.name,r=e.resolve,s=e.autoResolveES2015Default,u=void 0===s||s,i=e.serverMode,a=void 0===i?"resolve":i,c=e.LoadingComponent,l=e.ErrorComponent;if(-1===validSSRModes.indexOf(a))throw new Error("Invalid serverMode provided to asyncComponent");var p=["node","browser"].indexOf(e.env)>-1?e.env:"undefined"==typeof window?"node":"browser",d={id:null,module:null,error:null,resolver:null,resolving:!1,asyncComponents:null,asyncComponentsAncestor:null},y=function(){return null==d.module&&null==d.error&&!d.resolving&&"undefined"!=typeof window};return t=n=function(e){function n(e,t){classCallCheck(this,n);var o=possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e,t));return null!=o.context.asyncComponents&&(d.asyncComponents=o.context.asyncComponents,d.asyncComponentsAncestor=o.context.asyncComponentsAncestor,d.id||(d.id=o.context.asyncComponents.getNextId())),o}return inherits(n,e),createClass(n,[{key:"bootstrap",value:function(){var e=this,n=function(){return e.resolveModule().then(function(e){return void 0!==e&&void 0})};if("browser"===p){var t=d.asyncComponents,o=t.shouldRehydrate,r=(0,t.getError)(d.id);return r?(d.error=r,!1):!!o(d.id)&&n()}var s=null!=d.asyncComponentsAncestor&&d.asyncComponentsAncestor.isBoundary;return"defer"!==a&&!s&&n()}},{key:"getChildContext",value:function(){return{asyncComponentsAncestor:null==d.asyncComponents?null:{isBoundary:"boundary"===a}}}},{key:"componentDidMount",value:function(){y()&&this.resolveModule()}},{key:"resolveModule",value:function(){var e=this;return function(){if(null==d.resolver){d.resolving=!0;try{d.resolver=Promise.resolve(r())}catch(e){d.resolver=Promise.reject(e)}}return d.resolver}().then(function(e){return null!=d.asyncComponents&&d.asyncComponents.resolved(d.id),d.module=e,d.error=null,d.resolving=!1,e}).catch(function(e){var n={message:e.message,stack:e.stack};null!=d.asyncComponents&&d.asyncComponents.failed(d.id,n),d.error=n,d.resolving=!1}).then(function(n){if(!e.unmounted)return e.context.reactAsyncBootstrapperRunning||"browser"!==p||e.forceUpdate(),n})}},{key:"componentWillUnmount",value:function(){this.unmounted=!0}},{key:"render",value:function(){var e=d.module,n=d.error;if(n)return l?React__default.createElement(l,_extends({},this.props,{error:n})):null;y()&&this.resolveModule();var t,o=(t=e,u&&null!=t&&("function"==typeof t||"object"===(void 0===t?"undefined":_typeof(t)))&&t.default?t.default:t);return o?React__default.createElement(o,this.props):c?React__default.createElement(c,this.props):null}}]),n}(React__default.Component),n.displayName=o||"AsyncComponent",n.contextTypes={asyncComponentsAncestor:PropTypes.shape({isBoundary:PropTypes.bool}),asyncComponents:PropTypes.shape({getNextId:PropTypes.func.isRequired,resolved:PropTypes.func.isRequired,shouldRehydrate:PropTypes.func.isRequired})},n.childContextTypes={asyncComponentsAncestor:PropTypes.shape({isBoundary:PropTypes.bool})},t}exports.AsyncComponentProvider=AsyncComponentProvider,exports.createAsyncContext=createAsyncContext,exports.asyncComponent=asyncComponent;
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),React__default=_interopDefault(React),PropTypes=_interopDefault(require("prop-types")),_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},classCallCheck=function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")},createClass=function(){function e(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(n,t,o){return t&&e(n.prototype,t),o&&e(n,o),n}}(),defineProperty=function(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e},_extends=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},inherits=function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)},possibleConstructorReturn=function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n},createAsyncContext=function(){var e=0,n={},t={};return{getNextId:function(){return e+=1},resolved:function(e){n[e]=!0},failed:function(e,n){t[e]=n},getState:function(){return{resolved:Object.keys(n).reduce(function(e,n){return Object.assign(e,defineProperty({},n,!0))},{}),errors:t}}}},AsyncComponentProvider=function(e){function n(){return classCallCheck(this,n),possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return inherits(n,e),createClass(n,[{key:"componentWillMount",value:function(){this.asyncContext=this.props.asyncContext||createAsyncContext(),this.rehydrateState=this.props.rehydrateState}},{key:"getChildContext",value:function(){var e=this;return{asyncComponents:{getNextId:this.asyncContext.getNextId,resolved:this.asyncContext.resolved,failed:this.asyncContext.failed,shouldRehydrate:function(n){var t=e.rehydrateState.resolved[n];return delete e.rehydrateState.resolved[n],t},getError:function(n){return e.rehydrateState.errors&&e.rehydrateState.errors[n]}}}}},{key:"render",value:function(){return React__default.Children.only(this.props.children)}}]),n}(React.Component);AsyncComponentProvider.propTypes={children:PropTypes.node.isRequired,asyncContext:PropTypes.shape({getNextId:PropTypes.func.isRequired,resolved:PropTypes.func.isRequired,failed:PropTypes.func.isRequired,getState:PropTypes.func.isRequired}),rehydrateState:PropTypes.shape({resolved:PropTypes.object})},AsyncComponentProvider.defaultProps={asyncContext:void 0,rehydrateState:{resolved:{}}},AsyncComponentProvider.childContextTypes={asyncComponents:PropTypes.shape({getNextId:PropTypes.func.isRequired,resolved:PropTypes.func.isRequired,failed:PropTypes.func.isRequired,shouldRehydrate:PropTypes.func.isRequired,getError:PropTypes.func.isRequired}).isRequired};var validSSRModes=["resolve","defer","boundary"];function asyncComponent(e){var n,t,o=e.name,r=e.resolve,s=e.autoResolveES2015Default,i=void 0===s||s,u=e.serverMode,a=void 0===u?"resolve":u,c=e.LoadingComponent,l=e.ErrorComponent;if(-1===validSSRModes.indexOf(a))throw new Error("Invalid serverMode provided to asyncComponent");var p=["node","browser"].indexOf(e.env)>-1?e.env:"undefined"==typeof window?"node":"browser",d={id:null,module:null,error:null,resolver:null,resolving:!1,asyncComponents:null,asyncComponentsAncestor:null};return t=n=function(e){function n(){return classCallCheck(this,n),possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return inherits(n,e),createClass(n,[{key:"getChildContext",value:function(){return{asyncComponentsAncestor:null==d.asyncComponents?null:{isBoundary:"boundary"===a}}}},{key:"componentWillMount",value:function(){null!=this.context.asyncComponents&&(d.asyncComponents=this.context.asyncComponents,d.asyncComponentsAncestor=this.context.asyncComponentsAncestor,d.id||(d.id=this.context.asyncComponents.getNextId()))}},{key:"bootstrap",value:function(){var e=this,n=function(){return e.resolveModule().then(function(e){return void 0!==e&&void 0})};if("browser"===p){var t=d.asyncComponents,o=t.shouldRehydrate,r=(0,t.getError)(d.id);return r?(d.error=r,!1):!!o(d.id)&&n()}var s=null!=d.asyncComponentsAncestor&&d.asyncComponentsAncestor.isBoundary;return"defer"!==a&&!s&&n()}},{key:"componentDidMount",value:function(){null!=d.module||null!=d.error||d.resolving||"undefined"==typeof window||this.resolveModule()}},{key:"resolveModule",value:function(){var e=this;return function(){if(null==d.resolver){d.resolving=!0;try{d.resolver=Promise.resolve(r())}catch(e){d.resolver=Promise.reject(e)}}return d.resolver}().then(function(e){return null!=d.asyncComponents&&d.asyncComponents.resolved(d.id),d.module=e,d.error=null,d.resolving=!1,e}).catch(function(e){var n={message:e.message,stack:e.stack};null!=d.asyncComponents&&d.asyncComponents.failed(d.id,n),d.error=n,d.resolving=!1,l||console.error(n)}).then(function(n){if(!e.unmounted)return e.context.reactAsyncBootstrapperRunning||"browser"!==p||e.forceUpdate(),n})}},{key:"componentWillUnmount",value:function(){this.unmounted=!0}},{key:"render",value:function(){var e=d.module,n=d.error;if(n)return l?React__default.createElement(l,_extends({},this.props,{error:n})):null;var t,o=(t=e,i&&null!=t&&("function"==typeof t||"object"===(void 0===t?"undefined":_typeof(t)))&&t.default?t.default:t);return o?React__default.createElement(o,this.props):c?React__default.createElement(c,this.props):null}}]),n}(React__default.Component),n.displayName=o||"AsyncComponent",n.contextTypes={asyncComponentsAncestor:PropTypes.shape({isBoundary:PropTypes.bool}),asyncComponents:PropTypes.shape({getNextId:PropTypes.func.isRequired,resolved:PropTypes.func.isRequired,shouldRehydrate:PropTypes.func.isRequired})},n.childContextTypes={asyncComponentsAncestor:PropTypes.shape({isBoundary:PropTypes.bool})},t}exports.AsyncComponentProvider=AsyncComponentProvider,exports.createAsyncContext=createAsyncContext,exports.asyncComponent=asyncComponent;
//# sourceMappingURL=react-async-component.min.js.map
{
"name": "react-async-component",
"version": "2.0.0-alpha.0",
"version": "2.0.0-alpha.1",
"description":

@@ -5,0 +5,0 @@ "Create Components that resolve asynchronously, with support for server side rendering and code splitting.",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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