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 1.0.1 to 1.0.2

30

commonjs/asyncComponent.js

@@ -93,3 +93,3 @@ 'use strict';

if (_this.context.asyncComponents && !sharedState.id) {
if (_this.context.asyncComponents != null && !sharedState.id) {
sharedState.id = _this.context.asyncComponents.getNextId();

@@ -125,3 +125,3 @@ }

// node
var isChildOfBoundary = asyncComponentsAncestor && asyncComponentsAncestor.isBoundary;
var isChildOfBoundary = asyncComponentsAncestor != null && asyncComponentsAncestor.isBoundary;
return serverMode === 'defer' || isChildOfBoundary ? false : doResolve();

@@ -132,4 +132,6 @@ }

value: function getChildContext() {
if (!this.context.asyncComponents) {
return undefined;
if (this.context.asyncComponents == null) {
return {
asyncComponentsAncestor: null
};
}

@@ -156,3 +158,3 @@

value: function componentDidMount() {
if (!this.state.module) {
if (this.shouldResolve()) {
this.resolveModule();

@@ -162,2 +164,7 @@ }

}, {
key: 'shouldResolve',
value: function shouldResolve() {
return sharedState.module == null && sharedState.error == null && !this.resolving && typeof window !== 'undefined';
}
}, {
key: 'resolveModule',

@@ -173,3 +180,3 @@ value: function resolveModule() {

}
if (_this3.context.asyncComponents) {
if (_this3.context.asyncComponents != null) {
_this3.context.asyncComponents.resolved(sharedState.id);

@@ -230,2 +237,6 @@ }

if (error) {
return ErrorComponent ? _react2.default.createElement(ErrorComponent, _extends({}, this.props, { error: error })) : null;
}
// This is as workaround for React Hot Loader support. When using

@@ -235,11 +246,6 @@ // RHL the local component reference will be killed by any change

// re-resolve it.
if (sharedState.module == null && !this.resolving && typeof window !== 'undefined') {
if (this.shouldResolve()) {
this.resolveModule();
}
if (error) {
return ErrorComponent ? _react2.default.createElement(ErrorComponent, _extends({}, this.props, { error: error })) : null;
}
var Component = es6Resolve(module);

@@ -246,0 +252,0 @@ return Component ? _react2.default.createElement(Component, this.props) : LoadingComponent ? _react2.default.createElement(LoadingComponent, this.props) : null;

4

index.d.ts

@@ -7,3 +7,3 @@ import * as React from 'react';

export interface Configuration<P> {
resolve: () => Promise<React.Component<P>>;
resolve: () => Promise<React.ComponentType<P>>;
LoadingComponent?: (props: P) => JSX.Element;

@@ -44,3 +44,3 @@ ErrorComponent?: (props: P & { error: Error }) => JSX.Element;

*/
export function asyncComponent<T extends React.Component<P>, P>(config: Configuration<P>): React.ComponentClass<P>;
export function asyncComponent<P>(config: Configuration<P>): React.ComponentType<P>;

@@ -47,0 +47,0 @@ /**

{
"name": "react-async-component",
"version": "1.0.1",
"version": "1.0.2",
"description":

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

"peerDependencies": {
"react": "^0.14.0 || ^15.0.0",
"react-dom": "^0.14.0 || ^15.0.0",
"react": "^0.14.0 || ^15.0.0 || ^16.0.0",
"react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0",
"prop-types": "^15.0.0"

@@ -45,4 +45,4 @@ },

"babel-core": "^6.26.0",
"babel-eslint": "7.2.1",
"babel-jest": "^21.0.2",
"babel-eslint": "^8.0.1",
"babel-jest": "^21.2.0",
"babel-loader": "^7.1.2",

@@ -58,23 +58,26 @@ "babel-plugin-transform-class-properties": "^6.24.1",

"cross-env": "^5.0.5",
"enzyme": "^2.9.1",
"enzyme-to-json": "^2.0.0",
"eslint": "^4.7.2",
"eslint-config-airbnb": "^15.1.0",
"enzyme": "^3.1.0",
"enzyme-adapter-react-16": "^1.0.1",
"enzyme-to-json": "^3.1.2",
"eslint": "^4.8.0",
"eslint-config-airbnb": "^16.0.0",
"eslint-config-prettier": "^2.6.0",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-jsx-a11y": "^5.1.1",
"eslint-plugin-react": "^7.3.0",
"eslint-plugin-jsx-a11y": "^6.0.2",
"eslint-plugin-react": "^7.4.0",
"gzip-size": "^4.0.0",
"husky": "^0.14.3",
"in-publish": "2.0.0",
"jest": "^21.1.0",
"lint-staged": "^4.2.2",
"jest": "^21.2.1",
"lint-staged": "^4.2.3",
"memory-fs": "0.4.1",
"prettier": "^1.7.0",
"prettier": "^1.7.4",
"pretty-bytes": "4.0.2",
"prop-types": "^15.5.10",
"ramda": "^0.24.1",
"react": "^15.6.1",
"react-addons-test-utils": "^15.6.0",
"prop-types": "^15.6.0",
"raf": "^3.4.0",
"ramda": "^0.25.0",
"react": "^16.0.0",
"react-async-bootstrapper": "^1.1.1",
"react-dom": "^15.6.1",
"react-dom": "^16.0.0",
"react-test-renderer": "^16.0.0",
"readline-sync": "1.4.7",

@@ -89,2 +92,3 @@ "rimraf": "^2.6.2",

"collectCoverageFrom": ["src/**/*.{js,jsx}"],
"setupFiles": ["raf/polyfill", "<rootDir>/tools/tests/setup.js"],
"snapshotSerializers": ["<rootDir>/node_modules/enzyme-to-json/serializer"],

@@ -107,14 +111,9 @@ "testPathIgnorePatterns": [

},
"extends": "airbnb",
"extends": ["airbnb", "prettier"],
"rules": {
"array-callback-return": 0,
"arrow-parens": ["error", "as-needed"],
"camelcase": 0,
"import/prefer-default-export": 0,
"import/no-extraneous-dependencies": 0,
"indent": 0,
"no-mixed-operators": 0,
"no-nested-ternary": 0,
"no-underscore-dangle": 0,
"no-confusing-arrow": 0,
"no-nested-ternary": 0,
"react/no-array-index-key": 0,

@@ -128,2 +127,10 @@ "react/react-in-jsx-scope": 0,

},
"eslintIgnore": [
"flow-typed/",
"tools/flow/",
"node_modules/",
"commonjs/",
"coverage/",
"umd/"
],
"prettier": {

@@ -130,0 +137,0 @@ "semi": false,

@@ -354,3 +354,3 @@ (function webpackUniversalModuleDefinition(root, factory) {

if (_this.context.asyncComponents && !sharedState.id) {
if (_this.context.asyncComponents != null && !sharedState.id) {
sharedState.id = _this.context.asyncComponents.getNextId();

@@ -386,3 +386,3 @@ }

// node
var isChildOfBoundary = asyncComponentsAncestor && asyncComponentsAncestor.isBoundary;
var isChildOfBoundary = asyncComponentsAncestor != null && asyncComponentsAncestor.isBoundary;
return serverMode === 'defer' || isChildOfBoundary ? false : doResolve();

@@ -393,4 +393,6 @@ }

value: function getChildContext() {
if (!this.context.asyncComponents) {
return undefined;
if (this.context.asyncComponents == null) {
return {
asyncComponentsAncestor: null
};
}

@@ -417,3 +419,3 @@

value: function componentDidMount() {
if (!this.state.module) {
if (this.shouldResolve()) {
this.resolveModule();

@@ -423,2 +425,7 @@ }

}, {
key: 'shouldResolve',
value: function shouldResolve() {
return sharedState.module == null && sharedState.error == null && !this.resolving && typeof window !== 'undefined';
}
}, {
key: 'resolveModule',

@@ -434,3 +441,3 @@ value: function resolveModule() {

}
if (_this3.context.asyncComponents) {
if (_this3.context.asyncComponents != null) {
_this3.context.asyncComponents.resolved(sharedState.id);

@@ -491,2 +498,6 @@ }

if (error) {
return ErrorComponent ? _react2.default.createElement(ErrorComponent, _extends({}, this.props, { error: error })) : null;
}
// This is as workaround for React Hot Loader support. When using

@@ -496,11 +507,6 @@ // RHL the local component reference will be killed by any change

// re-resolve it.
if (sharedState.module == null && !this.resolving && typeof window !== 'undefined') {
if (this.shouldResolve()) {
this.resolveModule();
}
if (error) {
return ErrorComponent ? _react2.default.createElement(ErrorComponent, _extends({}, this.props, { error: error })) : null;
}
var Component = es6Resolve(module);

@@ -507,0 +513,0 @@ return Component ? _react2.default.createElement(Component, this.props) : LoadingComponent ? _react2.default.createElement(LoadingComponent, this.props) : null;

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

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("prop-types")):"function"==typeof define&&define.amd?define(["react","prop-types"],t):"object"==typeof exports?exports.ReactAsyncComponent=t(require("react"),require("prop-types")):e.ReactAsyncComponent=t(e.React,e.PropTypes)}(this,function(e,t){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=3)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(){var e=0,t={};return{getNextId:function(){return e+=1},resolved:function(e){t[e]=!0},getState:function(){return{resolved:Object.keys(t).reduce(function(e,t){return Object.assign(e,o({},t,!0))},{})}}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.asyncComponent=t.createAsyncContext=t.AsyncComponentProvider=void 0;var r=n(4),u=o(r),i=n(2),s=o(i),a=n(5),l=o(a);t.AsyncComponentProvider=u.default,t.createAsyncContext=s.default,t.asyncComponent=l.default},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),a=n(0),l=o(a),c=n(1),f=o(c),d=n(2),p=o(d),y=function(e){function t(){return r(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),s(t,[{key:"componentWillMount",value:function(){this.asyncContext=this.props.asyncContext||(0,p.default)(),this.rehydrateState=this.props.rehydrateState}},{key:"getChildContext",value:function(){var e=this;return{asyncComponents:{getNextId:this.asyncContext.getNextId,resolved:this.asyncContext.resolved,shouldRehydrate:function(t){var n=e.rehydrateState.resolved[t];return delete e.rehydrateState.resolved[t],n}}}}},{key:"render",value:function(){return l.default.Children.only(this.props.children)}}]),t}(l.default.Component);y.propTypes={children:f.default.node.isRequired,asyncContext:f.default.shape({getNextId:f.default.func.isRequired,resolved:f.default.func.isRequired,getState:f.default.func.isRequired}),rehydrateState:f.default.shape({resolved:f.default.object})},y.defaultProps={asyncContext:void 0,rehydrateState:{resolved:{}}},y.childContextTypes={asyncComponents:f.default.shape({getNextId:f.default.func.isRequired,resolved:f.default.func.isRequired,shouldRehydrate:f.default.func.isRequired}).isRequired},t.default=y},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.name,n=e.resolve,o=e.autoResolveES2015Default,s=void 0===o||o,f=e.serverMode,p=void 0===f?"resolve":f,h=e.LoadingComponent,m=e.ErrorComponent;if(-1===v.indexOf(p))throw new Error("Invalid serverMode provided to asyncComponent");var b=["node","browser"].indexOf(e.env)>-1?e.env:"undefined"==typeof window?"node":"browser",C={id:null,module:null,error:null,resolver:null},x=function(e){return s&&null!=e&&("function"==typeof e||"object"===(void 0===e?"undefined":c(e)))&&e.default?e.default:e},g=function(){if(null==C.resolver)try{var e=n();C.resolver=Promise.resolve(e)}catch(e){C.resolver=Promise.reject(e)}return C.resolver},w=function(e){function t(e,n){r(this,t);var o=u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return o.context.asyncComponents&&!C.id&&(C.id=o.context.asyncComponents.getNextId()),o}return i(t,e),l(t,[{key:"asyncBootstrap",value:function(){var e=this,t=this.context,n=t.asyncComponents,o=t.asyncComponentsAncestor,r=n.shouldRehydrate,u=function(){return e.resolveModule().then(function(e){return void 0!==e})};if("browser"===b)return!!r(C.id)&&u();var i=o&&o.isBoundary;return"defer"!==p&&!i&&u()}},{key:"getChildContext",value:function(){if(this.context.asyncComponents)return{asyncComponentsAncestor:{isBoundary:"boundary"===p}}}},{key:"componentWillMount",value:function(){this.setState({module:C.module}),C.error&&this.registerErrorState(C.error)}},{key:"componentDidMount",value:function(){this.state.module||this.resolveModule()}},{key:"resolveModule",value:function(){var e=this;return this.resolving=!0,g().then(function(t){if(!e.unmounted)return e.context.asyncComponents&&e.context.asyncComponents.resolved(C.id),C.module=t,"browser"===b&&e.setState({module:t}),e.resolving=!1,t}).catch(function(t){e.unmounted||(("node"===b||"browser"===b&&!m)&&(console.warn("Failed to resolve asyncComponent"),console.warn(t)),C.error=t,e.registerErrorState(t),e.resolving=!1)})}},{key:"componentWillUnmount",value:function(){this.unmounted=!0}},{key:"registerErrorState",value:function(e){var t=this;"browser"===b&&setTimeout(function(){t.unmounted||t.setState({error:e})},16)}},{key:"render",value:function(){var e=this.state,t=e.module,n=e.error;if(null!=C.module||this.resolving||"undefined"==typeof window||this.resolveModule(),n)return m?d.default.createElement(m,a({},this.props,{error:n})):null;var o=x(t);return o?d.default.createElement(o,this.props):h?d.default.createElement(h,this.props):null}}]),t}(d.default.Component);return w.displayName=t||"AsyncComponent",w.contextTypes={asyncComponentsAncestor:y.default.shape({isBoundary:y.default.bool}),asyncComponents:y.default.shape({getNextId:y.default.func.isRequired,resolved:y.default.func.isRequired,shouldRehydrate:y.default.func.isRequired})},w.childContextTypes={asyncComponentsAncestor:y.default.shape({isBoundary:y.default.bool})},w}Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),c="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},f=n(0),d=o(f),p=n(1),y=o(p),v=["resolve","defer","boundary"];t.default=s}])});
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("prop-types")):"function"==typeof define&&define.amd?define(["react","prop-types"],t):"object"==typeof exports?exports.ReactAsyncComponent=t(require("react"),require("prop-types")):e.ReactAsyncComponent=t(e.React,e.PropTypes)}(this,function(e,t){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=3)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(){var e=0,t={};return{getNextId:function(){return e+=1},resolved:function(e){t[e]=!0},getState:function(){return{resolved:Object.keys(t).reduce(function(e,t){return Object.assign(e,o({},t,!0))},{})}}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.asyncComponent=t.createAsyncContext=t.AsyncComponentProvider=void 0;var r=n(4),u=o(r),s=n(2),i=o(s),l=n(5),a=o(l);t.AsyncComponentProvider=u.default,t.createAsyncContext=i.default,t.asyncComponent=a.default},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),l=n(0),a=o(l),c=n(1),f=o(c),d=n(2),p=o(d),y=function(e){function t(){return r(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"componentWillMount",value:function(){this.asyncContext=this.props.asyncContext||(0,p.default)(),this.rehydrateState=this.props.rehydrateState}},{key:"getChildContext",value:function(){var e=this;return{asyncComponents:{getNextId:this.asyncContext.getNextId,resolved:this.asyncContext.resolved,shouldRehydrate:function(t){var n=e.rehydrateState.resolved[t];return delete e.rehydrateState.resolved[t],n}}}}},{key:"render",value:function(){return a.default.Children.only(this.props.children)}}]),t}(a.default.Component);y.propTypes={children:f.default.node.isRequired,asyncContext:f.default.shape({getNextId:f.default.func.isRequired,resolved:f.default.func.isRequired,getState:f.default.func.isRequired}),rehydrateState:f.default.shape({resolved:f.default.object})},y.defaultProps={asyncContext:void 0,rehydrateState:{resolved:{}}},y.childContextTypes={asyncComponents:f.default.shape({getNextId:f.default.func.isRequired,resolved:f.default.func.isRequired,shouldRehydrate:f.default.func.isRequired}).isRequired},t.default=y},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){var t=e.name,n=e.resolve,o=e.autoResolveES2015Default,i=void 0===o||o,f=e.serverMode,p=void 0===f?"resolve":f,h=e.LoadingComponent,m=e.ErrorComponent;if(-1===v.indexOf(p))throw new Error("Invalid serverMode provided to asyncComponent");var b=["node","browser"].indexOf(e.env)>-1?e.env:"undefined"==typeof window?"node":"browser",C={id:null,module:null,error:null,resolver:null},x=function(e){return i&&null!=e&&("function"==typeof e||"object"===(void 0===e?"undefined":c(e)))&&e.default?e.default:e},g=function(){if(null==C.resolver)try{var e=n();C.resolver=Promise.resolve(e)}catch(e){C.resolver=Promise.reject(e)}return C.resolver},w=function(e){function t(e,n){r(this,t);var o=u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return null==o.context.asyncComponents||C.id||(C.id=o.context.asyncComponents.getNextId()),o}return s(t,e),a(t,[{key:"asyncBootstrap",value:function(){var e=this,t=this.context,n=t.asyncComponents,o=t.asyncComponentsAncestor,r=n.shouldRehydrate,u=function(){return e.resolveModule().then(function(e){return void 0!==e})};if("browser"===b)return!!r(C.id)&&u();var s=null!=o&&o.isBoundary;return"defer"!==p&&!s&&u()}},{key:"getChildContext",value:function(){return null==this.context.asyncComponents?{asyncComponentsAncestor:null}:{asyncComponentsAncestor:{isBoundary:"boundary"===p}}}},{key:"componentWillMount",value:function(){this.setState({module:C.module}),C.error&&this.registerErrorState(C.error)}},{key:"componentDidMount",value:function(){this.shouldResolve()&&this.resolveModule()}},{key:"shouldResolve",value:function(){return null==C.module&&null==C.error&&!this.resolving&&"undefined"!=typeof window}},{key:"resolveModule",value:function(){var e=this;return this.resolving=!0,g().then(function(t){if(!e.unmounted)return null!=e.context.asyncComponents&&e.context.asyncComponents.resolved(C.id),C.module=t,"browser"===b&&e.setState({module:t}),e.resolving=!1,t}).catch(function(t){e.unmounted||(("node"===b||"browser"===b&&!m)&&(console.warn("Failed to resolve asyncComponent"),console.warn(t)),C.error=t,e.registerErrorState(t),e.resolving=!1)})}},{key:"componentWillUnmount",value:function(){this.unmounted=!0}},{key:"registerErrorState",value:function(e){var t=this;"browser"===b&&setTimeout(function(){t.unmounted||t.setState({error:e})},16)}},{key:"render",value:function(){var e=this.state,t=e.module,n=e.error;if(n)return m?d.default.createElement(m,l({},this.props,{error:n})):null;this.shouldResolve()&&this.resolveModule();var o=x(t);return o?d.default.createElement(o,this.props):h?d.default.createElement(h,this.props):null}}]),t}(d.default.Component);return w.displayName=t||"AsyncComponent",w.contextTypes={asyncComponentsAncestor:y.default.shape({isBoundary:y.default.bool}),asyncComponents:y.default.shape({getNextId:y.default.func.isRequired,resolved:y.default.func.isRequired,shouldRehydrate:y.default.func.isRequired})},w.childContextTypes={asyncComponentsAncestor:y.default.shape({isBoundary:y.default.bool})},w}Object.defineProperty(t,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),c="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},f=n(0),d=o(f),p=n(1),y=o(p),v=["resolve","defer","boundary"];t.default=i}])});
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