react-dynamic-multi-render
Advanced tools
Comparing version 0.2.0 to 0.2.1
@@ -1,2 +0,15 @@ | ||
/*! For license information please see react-dynamic-multi-render.umd.min.js.LICENSE.txt */ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("React")):"function"==typeof define&&define.amd?define(["React"],t):"object"==typeof exports?exports.ReactDynamicMultiRender=t(require("React")):e.ReactDynamicMultiRender=t(e.React)}(self,(function(e){return(()=>{"use strict";var t={933:e=>{var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function o(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,c){for(var i,a,s=o(e),u=1;u<arguments.length;u++){for(var p in i=Object(arguments[u]))r.call(i,p)&&(s[p]=i[p]);if(t){a=t(i);for(var l=0;l<a.length;l++)n.call(i,a[l])&&(s[a[l]]=i[a[l]])}}return s}},209:(e,t,r)=>{r(933);var n=r(804),o=60103;if(t.Fragment=60107,"function"==typeof Symbol&&Symbol.for){var c=Symbol.for;o=c("react.element"),t.Fragment=c("react.fragment")}var i=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a=Object.prototype.hasOwnProperty,s={key:!0,ref:!0,__self:!0,__source:!0};function u(e,t,r){var n,c={},u=null,p=null;for(n in void 0!==r&&(u=""+r),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(p=t.ref),t)a.call(t,n)&&!s.hasOwnProperty(n)&&(c[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===c[n]&&(c[n]=t[n]);return{$$typeof:o,type:e,key:u,ref:p,props:c,_owner:i.current}}t.jsx=u,t.jsxs=u},455:(e,t,r)=>{e.exports=r(209)},804:t=>{t.exports=e}},r={};function n(e){if(r[e])return r[e].exports;var o=r[e]={exports:{}};return t[e](o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{n.r(o),n.d(o,{DynamicMultiRenderProvider:()=>b,default:()=>P,useDynamicMultiRenderConfig:()=>m});var e=n(804),t=n.n(e);function r({componentName:e,templateConfig:t}){var r;return`${e}/${null!==(r=t?Array.isArray(t[e])?t[e][0]:t[e]:void 0)&&void 0!==r?r:"standard"}/index.tsx`}var c=n(455);const i=new Map;function a(e){var t;const{componentName:r,importFactory:n,templateConfig:o}=e,c=o?o[r]:"";return JSON.stringify({[r]:c,importFactory:null!==(t=null==n?void 0:n.toString())&&void 0!==t?t:""})}function s(e){const{componentName:t,templateConfig:n,importFactory:o}=e;if(void 0===n||void 0===o)return;const c=a(e);(async()=>{const e=r({componentName:t,templateConfig:n,importFactory:o}),{default:a}=await o(e);i.has(c)?console.log("React.lazy was already created",t):(console.log("Init cache for",t),i.set(c,a))})()}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){l(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const O=(0,e.createContext)(void 0),b=t=>((0,e.useEffect)((()=>{t.value&&function(e){const t=Object.keys(e.templateConfig);for(const o of t){const t=e.templateConfig[o];let c=!0;var r,n;"string"!=typeof t&&(c=null===(r=null===(n=t[1])||void 0===n?void 0:n.preload)||void 0===r||r),c&&window.requestAnimationFrame((()=>{s(p(p({},e),{},{componentName:o}))}))}}(t.value)}),[t.value]),(0,c.jsx)(O.Provider,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},t)));function m(){return(0,e.useContext)(O)}class d extends t().Component{constructor(e){super(e),this.state={}}static getDerivedStateFromError(e){return console.error(e),"MODULE_NOT_FOUND"===e.code?{missingComponent:e.message.split("'")[1].replace("'","")}:{}}render(){return this.state.missingComponent?(0,c.jsxs)("span",{children:['Component "',this.state.missingComponent,'" does not exist']}):this.props.children}}function g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function j(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?g(Object(r),!0).forEach((function(t){v(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):g(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function v(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const P=t=>{let{componentName:n}=t,o=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(t,["componentName"]);const s=m(),u=function(t){const n=a(t);if(i.has(n))return i.get(n);const o=function({componentName:t,templateConfig:n,importFactory:o}){if(void 0===t||void 0===o||void 0===n)return()=>(0,c.jsx)(c.Fragment,{});const i=r({componentName:t,templateConfig:n,importFactory:o});return(0,e.lazy)((()=>o(i)))}(t);return i.set(n,o),o}({componentName:n,importFactory:null==s?void 0:s.importFactory,templateConfig:null==s?void 0:s.templateConfig});return(0,c.jsx)(d,{children:(0,c.jsx)(u,j({},o))})}})(),o})()})); | ||
/*! filename:main */ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("React")):"function"==typeof define&&define.amd?define(["React"],t):"object"==typeof exports?exports.ReactDynamicMultiRender=t(require("React")):e.ReactDynamicMultiRender=t(e.React)}(window,(function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}([function(e,t,r){"use strict";e.exports=r(2)},function(t,r){t.exports=e},function(e,t,r){"use strict"; | ||
/** @license React v17.0.1 | ||
* react-jsx-runtime.production.min.js | ||
* | ||
* Copyright (c) Facebook, Inc. and its affiliates. | ||
* | ||
* This source code is licensed under the MIT license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/r(3);var n=r(1),o=60103;if(t.Fragment=60107,"function"==typeof Symbol&&Symbol.for){var c=Symbol.for;o=c("react.element"),t.Fragment=c("react.fragment")}var i=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u=Object.prototype.hasOwnProperty,a={key:!0,ref:!0,__self:!0,__source:!0};function f(e,t,r){var n,c={},f=null,s=null;for(n in void 0!==r&&(f=""+r),void 0!==t.key&&(f=""+t.key),void 0!==t.ref&&(s=t.ref),t)u.call(t,n)&&!a.hasOwnProperty(n)&&(c[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===c[n]&&(c[n]=t[n]);return{$$typeof:o,type:e,key:f,ref:s,props:c,_owner:i.current}}t.jsx=f,t.jsxs=f},function(e,t,r){"use strict"; | ||
/* | ||
object-assign | ||
(c) Sindre Sorhus | ||
@license MIT | ||
*/var n=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var r,u,a=i(e),f=1;f<arguments.length;f++){for(var s in r=Object(arguments[f]))o.call(r,s)&&(a[s]=r[s]);if(n){u=n(r);for(var p=0;p<u.length;p++)c.call(r,u[p])&&(a[u[p]]=r[u[p]])}}return a}},function(e,t,r){"use strict";r.r(t),r.d(t,"DynamicMultiRenderProvider",(function(){return d})),r.d(t,"useDynamicMultiRenderConfig",(function(){return j}));var n=r(1),o=r.n(n);function c({componentName:e,templateConfig:t}){var r;return`${e}/${""+(null!==(r=t?Array.isArray(t[e])?t[e][0]:t[e]:void 0)&&void 0!==r?r:"standard")}`}var i=r(0);const u=new Map;function a(e){var t;const{componentName:r,importFactory:n,templateConfig:o}=e,c=o?o[r]:"";return JSON.stringify({[r]:c,importFactory:null!==(t=null==n?void 0:n.toString())&&void 0!==t?t:""})}function f(e){const{componentName:t,templateConfig:r,importFactory:n}=e;if(void 0===r||void 0===n)return;const o=a(e);(async()=>{const e=c({componentName:t,templateConfig:r,importFactory:n}),{default:i}=await n(e);u.has(o)||u.set(o,i)})()}function s(e){const t=a(e);if(u.has(t))return u.get(t);const r=function({componentName:e,templateConfig:t,importFactory:r}){if(void 0===e||void 0===r||void 0===t)return()=>Object(i.jsx)(i.Fragment,{});const o=c({componentName:e,templateConfig:t,importFactory:r});return Object(n.lazy)(()=>r(o))}(e);return u.set(t,r),r}function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const m=Object(n.createContext)(void 0),d=e=>(Object(n.useEffect)(()=>{e.value&&function(e){const t=Object.keys(e.templateConfig);for(const o of t){const t=e.templateConfig[o];let c=!0;var r,n;if("string"!=typeof t)c=null===(r=null===(n=t[1])||void 0===n?void 0:n.preload)||void 0===r||r;c&&window.requestAnimationFrame(()=>{f(l(l({},e),{},{componentName:o}))})}}(e.value)},[e.value]),Object(i.jsx)(m.Provider,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?O(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):O(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},e)));function j(){return Object(n.useContext)(m)}class g extends o.a.Component{constructor(e){super(e),this.state={}}static getDerivedStateFromError(e){if(console.error(e),"MODULE_NOT_FOUND"===e.code){return{missingComponent:e.message.split("'")[1].replace("'","")}}return{}}render(){return this.state.missingComponent?Object(i.jsxs)("span",{children:['Component "',this.state.missingComponent,'" does not exist']}):this.props.children}}function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function P(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach((function(t){w(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function w(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}t.default=e=>{let{componentName:t}=e,r=h(e,["componentName"]);const n=j(),o=s({componentName:t,importFactory:null==n?void 0:n.importFactory,templateConfig:null==n?void 0:n.templateConfig});return Object(i.jsx)(g,{children:Object(i.jsx)(o,P({},r))})}}])})); |
@@ -1,2 +0,374 @@ | ||
/*! For license information please see index.js.LICENSE.txt */ | ||
(()=>{"use strict";var e={n:t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{DynamicMultiRenderProvider:()=>y,default:()=>P,useDynamicMultiRenderConfig:()=>b});const r=require("react");var n=e.n(r);function o({componentName:e,templateConfig:t}){var r;return`${e}/${null!==(r=t?Array.isArray(t[e])?t[e][0]:t[e]:void 0)&&void 0!==r?r:"standard"}/index.tsx`}const i=require("react/jsx-runtime"),c=new Map;function a(e){var t;const{componentName:r,importFactory:n,templateConfig:o}=e,i=o?o[r]:"";return JSON.stringify({[r]:i,importFactory:null!==(t=null==n?void 0:n.toString())&&void 0!==t?t:""})}function s(e){const{componentName:t,templateConfig:r,importFactory:n}=e;if(void 0===r||void 0===n)return;const i=a(e);(async()=>{const e=o({componentName:t,templateConfig:r,importFactory:n}),{default:a}=await n(e);c.has(i)?console.log("React.lazy was already created",t):(console.log("Init cache for",t),c.set(i,a))})()}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const O=(0,r.createContext)(void 0),y=e=>((0,r.useEffect)((()=>{e.value&&function(e){const t=Object.keys(e.templateConfig);for(const o of t){const t=e.templateConfig[o];let i=!0;var r,n;"string"!=typeof t&&(i=null===(r=null===(n=t[1])||void 0===n?void 0:n.preload)||void 0===r||r),i&&window.requestAnimationFrame((()=>{s(l(l({},e),{},{componentName:o}))}))}}(e.value)}),[e.value]),(0,i.jsx)(O.Provider,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach((function(t){m(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},e)));function b(){return(0,r.useContext)(O)}class d extends n().Component{constructor(e){super(e),this.state={}}static getDerivedStateFromError(e){return console.error(e),"MODULE_NOT_FOUND"===e.code?{missingComponent:e.message.split("'")[1].replace("'","")}:{}}render(){return this.state.missingComponent?(0,i.jsxs)("span",{children:['Component "',this.state.missingComponent,'" does not exist']}):this.props.children}}function g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function j(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?g(Object(r),!0).forEach((function(t){v(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):g(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function v(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const P=e=>{let{componentName:t}=e,n=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,["componentName"]);const s=b(),u=function(e){const t=a(e);if(c.has(t))return c.get(t);const n=function({componentName:e,templateConfig:t,importFactory:n}){if(void 0===e||void 0===n||void 0===t)return()=>(0,i.jsx)(i.Fragment,{});const c=o({componentName:e,templateConfig:t,importFactory:n});return(0,r.lazy)((()=>n(c)))}(e);return c.set(t,n),n}({componentName:t,importFactory:null==s?void 0:s.importFactory,templateConfig:null==s?void 0:s.templateConfig});return(0,i.jsx)(d,{children:(0,i.jsx)(u,j({},n))})};module.exports=t})(); | ||
/*! filename:main */ | ||
module.exports = | ||
/******/ (function(modules) { // webpackBootstrap | ||
/******/ // The module cache | ||
/******/ var installedModules = {}; | ||
/******/ | ||
/******/ // The require function | ||
/******/ function __webpack_require__(moduleId) { | ||
/******/ | ||
/******/ // Check if module is in cache | ||
/******/ if(installedModules[moduleId]) { | ||
/******/ return installedModules[moduleId].exports; | ||
/******/ } | ||
/******/ // Create a new module (and put it into the cache) | ||
/******/ var module = installedModules[moduleId] = { | ||
/******/ i: moduleId, | ||
/******/ l: false, | ||
/******/ exports: {} | ||
/******/ }; | ||
/******/ | ||
/******/ // Execute the module function | ||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||
/******/ | ||
/******/ // Flag the module as loaded | ||
/******/ module.l = true; | ||
/******/ | ||
/******/ // Return the exports of the module | ||
/******/ return module.exports; | ||
/******/ } | ||
/******/ | ||
/******/ | ||
/******/ // expose the modules object (__webpack_modules__) | ||
/******/ __webpack_require__.m = modules; | ||
/******/ | ||
/******/ // expose the module cache | ||
/******/ __webpack_require__.c = installedModules; | ||
/******/ | ||
/******/ // define getter function for harmony exports | ||
/******/ __webpack_require__.d = function(exports, name, getter) { | ||
/******/ if(!__webpack_require__.o(exports, name)) { | ||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); | ||
/******/ } | ||
/******/ }; | ||
/******/ | ||
/******/ // define __esModule on exports | ||
/******/ __webpack_require__.r = function(exports) { | ||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
/******/ } | ||
/******/ Object.defineProperty(exports, '__esModule', { value: true }); | ||
/******/ }; | ||
/******/ | ||
/******/ // create a fake namespace object | ||
/******/ // mode & 1: value is a module id, require it | ||
/******/ // mode & 2: merge all properties of value into the ns | ||
/******/ // mode & 4: return value when already ns object | ||
/******/ // mode & 8|1: behave like require | ||
/******/ __webpack_require__.t = function(value, mode) { | ||
/******/ if(mode & 1) value = __webpack_require__(value); | ||
/******/ if(mode & 8) return value; | ||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | ||
/******/ var ns = Object.create(null); | ||
/******/ __webpack_require__.r(ns); | ||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | ||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | ||
/******/ return ns; | ||
/******/ }; | ||
/******/ | ||
/******/ // getDefaultExport function for compatibility with non-harmony modules | ||
/******/ __webpack_require__.n = function(module) { | ||
/******/ var getter = module && module.__esModule ? | ||
/******/ function getDefault() { return module['default']; } : | ||
/******/ function getModuleExports() { return module; }; | ||
/******/ __webpack_require__.d(getter, 'a', getter); | ||
/******/ return getter; | ||
/******/ }; | ||
/******/ | ||
/******/ // Object.prototype.hasOwnProperty.call | ||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | ||
/******/ | ||
/******/ // __webpack_public_path__ | ||
/******/ __webpack_require__.p = ""; | ||
/******/ | ||
/******/ | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = 2); | ||
/******/ }) | ||
/************************************************************************/ | ||
/******/ ([ | ||
/* 0 */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("react/jsx-runtime"); | ||
/***/ }), | ||
/* 1 */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("react"); | ||
/***/ }), | ||
/* 2 */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
// ESM COMPAT FLAG | ||
__webpack_require__.r(__webpack_exports__); | ||
// EXPORTS | ||
__webpack_require__.d(__webpack_exports__, "DynamicMultiRenderProvider", function() { return /* reexport */ DynamicMultiRenderProvider; }); | ||
__webpack_require__.d(__webpack_exports__, "useDynamicMultiRenderConfig", function() { return /* reexport */ useDynamicMultiRenderConfig; }); | ||
// EXTERNAL MODULE: external "react" | ||
var external_react_ = __webpack_require__(1); | ||
var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_); | ||
// CONCATENATED MODULE: /home/runner/work/react-dynamic-multi-render/react-dynamic-multi-render/packages/react-dynamic-multi-render/src/util.ts | ||
function getComponentIndexFilePath({ | ||
componentName, | ||
templateConfig | ||
}) { | ||
var _ref; | ||
const templateName = (_ref = templateConfig ? Array.isArray(templateConfig[componentName]) ? templateConfig[componentName][0] : templateConfig[componentName] : undefined) !== null && _ref !== void 0 ? _ref : 'standard'; | ||
const indexFilePath = `${templateName}`; | ||
const fullRelativeIndexPath = `${componentName}/${indexFilePath}`; | ||
return fullRelativeIndexPath; | ||
} | ||
// EXTERNAL MODULE: external "react/jsx-runtime" | ||
var jsx_runtime_ = __webpack_require__(0); | ||
// CONCATENATED MODULE: /home/runner/work/react-dynamic-multi-render/react-dynamic-multi-render/packages/react-dynamic-multi-render/src/load-component.tsx | ||
const componentCache = new Map(); | ||
function getCacheKey(parameters) { | ||
var _importFactory$toStri; | ||
const { | ||
componentName, | ||
importFactory, | ||
templateConfig | ||
} = parameters; | ||
const componentTemplateConfig = templateConfig ? templateConfig[componentName] : ''; | ||
const cacheKey = JSON.stringify({ | ||
[componentName]: componentTemplateConfig, | ||
importFactory: (_importFactory$toStri = importFactory === null || importFactory === void 0 ? void 0 : importFactory.toString()) !== null && _importFactory$toStri !== void 0 ? _importFactory$toStri : '' | ||
}); | ||
return cacheKey; | ||
} | ||
/** | ||
* Will be called when the app | ||
* starts and preloading is enabled | ||
* for a component. Initializes the cache | ||
* with the fully loaded component | ||
* if the lazy loaded wasn't requested | ||
* before. | ||
*/ | ||
function preloadComponent(parameters) { | ||
const { | ||
componentName, | ||
templateConfig, | ||
importFactory | ||
} = parameters; | ||
if (templateConfig === undefined || importFactory === undefined) { | ||
return; | ||
} | ||
const cacheKey = getCacheKey(parameters); | ||
const startPreload = async () => { | ||
const fullRelativeIndexPath = getComponentIndexFilePath({ | ||
componentName, | ||
templateConfig, | ||
importFactory | ||
}); | ||
const { | ||
default: Component | ||
} = await importFactory(fullRelativeIndexPath); | ||
if (!componentCache.has(cacheKey)) { | ||
// 'loadComponent' wasn't yet called | ||
componentCache.set(cacheKey, Component); | ||
} | ||
}; | ||
startPreload(); | ||
} | ||
/** | ||
* Returns a cached version | ||
* of the component if available, | ||
* or returns a new React.lazy | ||
* component | ||
*/ | ||
function loadComponent(parameters) { | ||
const cacheKey = getCacheKey(parameters); | ||
if (componentCache.has(cacheKey)) { | ||
return componentCache.get(cacheKey); | ||
} | ||
const Component = getReactLazyComponent(parameters); | ||
componentCache.set(cacheKey, Component); | ||
return Component; | ||
} | ||
/** | ||
* Returns a React.lazy component | ||
* which gets imported dynamically. | ||
* It caches loaded components | ||
* based on the input parameters. | ||
* It does this independently | ||
* of a component's lifecycle. | ||
*/ | ||
function getReactLazyComponent({ | ||
componentName, | ||
templateConfig, | ||
importFactory | ||
}) { | ||
if (componentName === undefined || importFactory === undefined || templateConfig === undefined) return () => /*#__PURE__*/Object(jsx_runtime_["jsx"])(jsx_runtime_["Fragment"], {}); | ||
const fullRelativeIndexPath = getComponentIndexFilePath({ | ||
componentName, | ||
templateConfig, | ||
importFactory | ||
}); | ||
const Component = /*#__PURE__*/Object(external_react_["lazy"])(() => importFactory(fullRelativeIndexPath)); | ||
return Component; | ||
} | ||
// CONCATENATED MODULE: /home/runner/work/react-dynamic-multi-render/react-dynamic-multi-render/packages/react-dynamic-multi-render/src/prefetch.ts | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
/** | ||
* Prefetches all components | ||
* when first initialized, | ||
* based on the selected | ||
* version. | ||
* Components which | ||
* are not present in the templateConfig | ||
* will not get prefetched. | ||
*/ | ||
function prefetchComponents(config) { | ||
const allComponentNames = Object.keys(config.templateConfig); | ||
for (const componentName of allComponentNames) { | ||
const componentConfig = config.templateConfig[componentName]; | ||
let shouldPreload = true; | ||
if (typeof componentConfig !== 'string') { | ||
var _componentConfig$1$pr, _componentConfig$; | ||
shouldPreload = (_componentConfig$1$pr = (_componentConfig$ = componentConfig[1]) === null || _componentConfig$ === void 0 ? void 0 : _componentConfig$.preload) !== null && _componentConfig$1$pr !== void 0 ? _componentConfig$1$pr : true; | ||
} | ||
if (shouldPreload) { | ||
// This prefetches the component | ||
window.requestAnimationFrame(() => { | ||
// prefetch component and initialize cache | ||
preloadComponent(_objectSpread(_objectSpread({}, config), {}, { | ||
componentName | ||
})); | ||
}); | ||
} | ||
} | ||
} | ||
// CONCATENATED MODULE: /home/runner/work/react-dynamic-multi-render/react-dynamic-multi-render/packages/react-dynamic-multi-render/src/config.tsx | ||
function config_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
function config_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { config_ownKeys(Object(source), true).forEach(function (key) { config_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { config_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | ||
function config_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
const DynamicMultiRenderContext = /*#__PURE__*/Object(external_react_["createContext"])(undefined); | ||
const DynamicMultiRenderProvider = props => { | ||
Object(external_react_["useEffect"])(() => { | ||
if (props.value) { | ||
prefetchComponents(props.value); | ||
} | ||
}, [props.value]); | ||
return /*#__PURE__*/Object(jsx_runtime_["jsx"])(DynamicMultiRenderContext.Provider, config_objectSpread({}, props)); | ||
}; | ||
function useDynamicMultiRenderConfig() { | ||
const context = Object(external_react_["useContext"])(DynamicMultiRenderContext); | ||
return context; | ||
} | ||
// CONCATENATED MODULE: /home/runner/work/react-dynamic-multi-render/react-dynamic-multi-render/packages/react-dynamic-multi-render/src/ErrorBounday/index.tsx | ||
class ErrorBounday_ErrorBoundary extends external_react_default.a.Component { | ||
constructor(props) { | ||
super(props); | ||
this.state = {}; | ||
} | ||
static getDerivedStateFromError(error) { | ||
// Update state so the next render will show the fallback UI. | ||
console.error(error); | ||
if (error.code === 'MODULE_NOT_FOUND') { | ||
const missingComponent = error.message.split("'")[1].replace("'", ''); | ||
return { | ||
missingComponent | ||
}; | ||
} | ||
return {}; | ||
} | ||
render() { | ||
if (this.state.missingComponent) { | ||
// You can render any custom fallback UI | ||
return /*#__PURE__*/Object(jsx_runtime_["jsxs"])("span", { | ||
children: ["Component \"", this.state.missingComponent, "\" does not exist"] | ||
}); | ||
} | ||
return this.props.children; | ||
} | ||
} | ||
// CONCATENATED MODULE: /home/runner/work/react-dynamic-multi-render/react-dynamic-multi-render/packages/react-dynamic-multi-render/src/index.tsx | ||
function src_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
function src_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { src_ownKeys(Object(source), true).forEach(function (key) { src_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { src_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | ||
function src_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } | ||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } | ||
const DynamicMultiRender = (_ref) => { | ||
let { | ||
componentName | ||
} = _ref, | ||
props = _objectWithoutProperties(_ref, ["componentName"]); | ||
const config = useDynamicMultiRenderConfig(); | ||
const Component = loadComponent({ | ||
componentName, | ||
importFactory: config === null || config === void 0 ? void 0 : config.importFactory, | ||
templateConfig: config === null || config === void 0 ? void 0 : config.templateConfig | ||
}); | ||
return /*#__PURE__*/Object(jsx_runtime_["jsx"])(ErrorBounday_ErrorBoundary, { | ||
children: /*#__PURE__*/Object(jsx_runtime_["jsx"])(Component, src_objectSpread({}, props)) | ||
}); | ||
}; | ||
/* harmony default export */ var src = __webpack_exports__["default"] = (DynamicMultiRender); | ||
/***/ }) | ||
/******/ ]); |
@@ -6,2 +6,13 @@ # Change Log | ||
## [0.2.1](https://github.com/scriptify/react-dynamic-multi-render/compare/react-dynamic-multi-render@0.2.0...react-dynamic-multi-render@0.2.1) (2021-03-03) | ||
### Bug Fixes | ||
* resolve index path dynamically ([1264a1b](https://github.com/scriptify/react-dynamic-multi-render/commit/1264a1b81c2e2171af43cd822e2e9d04fdabd83d)) | ||
# [0.2.0](https://github.com/scriptify/react-dynamic-multi-render/compare/react-dynamic-multi-render@0.1.2...react-dynamic-multi-render@0.2.0) (2021-02-26) | ||
@@ -8,0 +19,0 @@ |
{ | ||
"name": "react-dynamic-multi-render", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"main": "./build/react-dynamic-multi-render/src/index.js", | ||
@@ -16,3 +16,3 @@ "license": "MIT", | ||
}, | ||
"gitHead": "8cbd78b47730808ea16bd5d17a688f0afa7389d3" | ||
"gitHead": "5dc5d813debff28835dcf3280fb23ff963f61bac" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
318846
452
3
18
1