UNPKG

inferno-async-component

Version:

Bridge between inferno-js and webpack's dynamic import. With this you can asynchronously load your components.

1 lines 958 B
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _inferno=require("inferno"),_infernoCreateElement=require("inferno-create-element"),_default=function(a,b,c){function d(d){var f=this;return this.props=d,this.state={result:null},this.loadComponent=function(a){a.then(function(a){e=a,f.setState({result:!0})}).catch(function(a){f.props.failedCallback&&f.props.failedCallback(a),c&&c(a),f.setState({result:!1})})},this.resolveLoader=function(){a.constructor===Promise?f.setState({result:null},function(){f.loadComponent(a)}):f.setState({result:null},function(){f.loadComponent(a())})},this.componentDidMount=function(){e||f.resolveLoader()},this.render=function(){return e?(0,_infernoCreateElement.createElement)(e&&e.__esModule?e.default:e,f.props):b?(0,_inferno.createComponentVNode)(2,b):null},this}var e=null;return d.prototype=_inferno.Component.prototype,d.prototype.constructor=d,d};exports.default=_default;