@variousjs/various 4.0.0 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["react","react-dom/client"],(function(e,t){return function(){var n={380:function(e,t,n){var o;self,o=e=>(()=>{"use strict";var t={294:(e,t,n)=>{n.d(t,{default:()=>c});var o=n(942),r=n(63),s=n.n(r);function i(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Array.isArray(e)?[]:{};t.set(e,n);const o=Reflect.ownKeys(e);for(const r of o)n[r]=i(e[r],t);return n}class c{constructor(){var e;(0,o.Z)(this,"state",void 0),(0,o.Z)(this,"listeners",void 0),(0,o.Z)(this,"emits",void 0),(0,o.Z)(this,"timer",void 0),(0,o.Z)(this,"onStateChange",void 0),(0,o.Z)(this,"getStore",void 0),(0,o.Z)(this,"createStore",(e=>{this.listeners=Reflect.ownKeys(e).reduce(((t,n)=>{const o=n;return this.state[o]=e[o],{...t,[n]:[]}}),{})})),(0,o.Z)(this,"subscribe",(e=>{const t={};return Reflect.ownKeys(e).forEach((n=>{const o=n;this.listeners[o]||(this.listeners[o]=[]),this.listeners[o].push(e[o]),t[o]=e[o]})),()=>{Reflect.ownKeys(t).forEach((e=>{const n=e;this.listeners[n]=this.listeners[n].filter((e=>e!==t[n]))}))}})),(0,o.Z)(this,"emit",((e,t)=>{this.emits={...this.emits,...e},t?this.trigger():(clearTimeout(this.timer),this.timer=setTimeout(this.trigger))})),(0,o.Z)(this,"dispatch",((e,...t)=>e({getStore:this.getStore,emit:e=>this.emit(e,!0)},...t))),(0,o.Z)(this,"trigger",(()=>{const e=this.emits,t=[],n=Reflect.ownKeys(e);for(let o=0;o<n.length;o+=1){const r=n[o];if(s()(this.state[r],e[r]))continue;const c=e[r],a=this.state[r];this.state[r]=i(e[r]),t.push({key:r,newValue:c,oldValue:a})}const o={};t.forEach((e=>{o[e.key]=[e.newValue,e.oldValue],this.listeners[e.key]&&this.listeners[e.key].forEach((t=>t(e.newValue,e.oldValue)))})),t.length&&this.onStateChange(o),this.emits={},this.timer=void 0})),this.state={},this.listeners={},this.emits={},this.timer=void 0,this.onStateChange=()=>null,this.getStore=(e=this.state,function(t){return t?i(e[t]):e})}set onChange(e){this.onStateChange=e}}},63:e=>{e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var o,r,s;if(Array.isArray(t)){if((o=t.length)!=n.length)return!1;for(r=o;0!=r--;)if(!e(t[r],n[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((o=(s=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(r=o;0!=r--;)if(!Object.prototype.hasOwnProperty.call(n,s[r]))return!1;for(r=o;0!=r--;){var i=s[r];if(!e(t[i],n[i]))return!1}return!0}return t!=t&&n!=n}},250:t=>{t.exports=e},942:(e,t,n)=>{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}n.d(t,{Z:()=>o})}},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,o),s.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r={};return(()=>{o.d(r,{default:()=>a});var e=o(942),t=o(294),n=o(250),s=o.n(n);const i=["name","prototype","length","propTypes","defaultProps","getDerivedStateFromProps","contextTypes","displayName"];class c extends t.default{constructor(...t){super(...t),(0,e.Z)(this,"connect",function(t){const{getStore:o,subscribe:r}=t;return function(...t){return function(c){class a extends n.Component{constructor(n){super(n),(0,e.Z)(this,"unsubscribe",void 0),(0,e.Z)(this,"state",{props:o()}),this.unsubscribe=r(t.reduce(((e,t)=>({...e,[t]:()=>{this.setState({props:o()})}})),{}))}componentWillUnmount(){this.unsubscribe()}render(){const{props:e}=this.state,t={...e,...this.props};return s().createElement(c,t)}}return Object.getOwnPropertyNames(c).forEach((e=>{const t=e;i.includes(e)||(a[t]=c[t])})),a}}}(this)),(0,e.Z)(this,"useStore",function(e){const{getStore:t,subscribe:o}=e;return function(...e){const[r,s]=(0,n.useState)(t());return(0,n.useLayoutEffect)((()=>o(e.reduce(((e,n)=>({...e,[n]:()=>{s((e=>({...e,[n]:t()[n]})))}})),{})))),r}}(this))}}const a=c})(),r.default})(),e.exports=o(n(650))},650:function(t){"use strict";t.exports=e},974:function(e){"use strict";e.exports=t}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var s=o[e]={exports:{}};return n[e](s,s.exports,r),s.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return function(){"use strict";r.r(s),r.d(s,{Nycticorax:function(){return i()},createComponent:function(){return L},createDispatch:function(){return P},createPostMessage:function(){return A},default:function(){return V},getConfig:function(){return M},getEnv:function(){return w},getMountedComponents:function(){return _},getStore:function(){return m},isComponentLoaded:function(){return j},onComponentMounted:function(){return T},preloadComponents:function(){return I},renderComponent:function(){return k}});var e=r(650),t=r.n(e),n=r(974),o=r(380),i=r.n(o);const{createStore:c,getStore:a,connect:u,emit:d,subscribe:l,dispatch:p}=new(i());function m(){const e=a(),t=Object.keys(e),n={};return t.forEach((t=>{n[t]=e[t]})),n}const h=Symbol("MOUNTED_COMPONENTS"),f=Symbol("MESSAGE"),g=Symbol("ENV"),y=Symbol("CONFIG"),E=Symbol("DEPENDENCIES");let R=function(e){return e.LOADING_ERROR="LOADING_ERROR",e.DEPENDENCIES_LOADING_ERROR="DEPENDENCIES_LOADING_ERROR",e.NOT_DEFINED="NOT_DEFINED",e.INVALID_COMPONENT="INVALID_COMPONENT",e.SCRIPT_ERROR="SCRIPT_ERROR",e.APP_ERROR="APP_ERROR",e}({});const v=()=>t().createElement("div",null,"Loading"),C=({$type:e,$message:n,$reload:o})=>t().createElement(t().Fragment,null,t().createElement("div",null,`[${e}] ${n}`),o?t().createElement("button",{type:"button",onClick:o},"Reload"):null),O=()=>t().createElement("div",null,"App Container is not defined");var b=new class{constructor(){this.loaderComponent=v,this.errorComponent=C,this.storeActions={},this.componentActions={},this.components={},this.renderRoots={},this.i18nConfigs={},this.middlewares={}}setMiddlewares(e){this.middlewares=e}getMiddlewares(){return this.middlewares}setI18nConfig(e,t){this.i18nConfigs[e]=t}getI18nConfig(e){return this.i18nConfigs[e]}setRenderRoot(e,t){this.renderRoots[e]=t}getRenderRoot(e){return this.renderRoots[e]}deleteRenderRoot(e){delete this.renderRoots[e]}setComponent(e,t){this.components[e]=t}getComponent(e){return this.components[e]}setComponentActions(e,t){this.componentActions[e]=t}deleteComponentActions(e){delete this.componentActions[e]}getComponentActions(e){return this.componentActions[e]}setStoreActions(e){this.storeActions=e}getStoreActions(){return this.storeActions}setLoaderComponent(e){this.loaderComponent=e}getLoaderComponent(){return this.loaderComponent}setErrorComponent(e){this.errorComponent=e}getErrorComponent(){return this.errorComponent}};const w=()=>a(g),S=e=>[`%c${e}`,"color:white;background:blue;padding:1px 2px"];function N(e,t){"development"===w()&&window.console.warn(...S(e),t)}function M(){return a(y)}const $=e=>{const{type:t,message:n,name:o}=e,r="dispatch"===t||"i18n"===t?t:R[t],s=b.getMiddlewares();s?.onError?.({name:o,errorType:r,errorMessage:n}),function(e,t){"development"===w()&&window.console.error(...S(e),t)}(o,`[${r}] ${n}`)};var P=e=>async function(t,n,o){const r=b.getMiddlewares();let s=t,i=n,c=o;if(r?.onDispatch){const t=await r.onDispatch({target:s,method:i,value:c,trigger:e});if(!1===t)return N(e,"[dispatch] blocked by middleware"),Promise.resolve();!0!==t&&(s=t.target,i=t.method,c=t.value)}if("app"===s){const t=b.getStoreActions()[i];if(!t){const t=`\`app\` action \`${i}\` is not present`;throw $({name:e,type:"dispatch",message:t}),new Error(t)}return p(t,c,e)}const a=b.getComponentActions(s);if(!a){const t=`component \`${s}\` is not ready`;throw $({name:e,type:"dispatch",message:t}),new Error(t)}const u=a[i];if(!u){const t=`\`${s}\` action \`${i}\` is not present`;throw $({name:e,type:"dispatch",message:t}),new Error(t)}return Promise.resolve(u(c,e))};const A=e=>async(t,n)=>{const o=b.getMiddlewares();let r={trigger:e,event:t,value:n};if(o?.onMessage){const t=await o.onMessage(r);if(!1===t)return void N(e,"[message] blocked by middleware");!0!==t&&(r={...r,...t})}d({[f]:{timestamp:+new Date,component:e,event:r.event,value:r.value}})};function D(){return D=Object.assign?Object.assign.bind():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},D.apply(this,arguments)}const I=e=>new Promise(((t,n)=>{window.requirejs(e,t,n)})),j=e=>{const[t]=e.split(".");return window.requirejs.specified(t)&&!!window.requirejs.s.contexts._.defined[t]},_=()=>a(h),T=(e,t)=>{const n="string"==typeof e?[e]:e;if(n.every((e=>_().includes(e))))return t(),()=>null;const o=l({[h](e){const r=e;n.every((e=>r.includes(e)))&&(o(),t())}});return o};function x(n,o,r){const s=o||Object.keys(a()),i=b.getLoaderComponent(),c=b.getErrorComponent(),p=Symbol("module"),[g,y=p]=n.split("."),v=b.getMiddlewares();class C extends e.Component{state={componentExist:void 0,componentReady:!1,errorType:void 0,errorMessage:""};unSubscribe=()=>null;getDependencies=()=>a(E);componentDidMount(){this.setState({componentExist:j(g)}),this.mountComponent()}componentDidCatch(e){$({name:n,type:R.SCRIPT_ERROR,message:e.message}),this.setState({errorMessage:e.message,errorType:R.SCRIPT_ERROR});const t=this.getDependencies();window.requirejs.undef(g),window.requirejs.config({paths:{[g]:`${t[g]}#`}}),this.unMountComponent()}componentWillUnmount(){this.ComponentNode=null,this.unMountComponent(),this.isUnMounted=!0,this.unSubscribe()}unMountComponent=()=>{let e=_();e=e.filter((e=>e!==n)),d({[h]:e},!0),b.deleteComponentActions(n)};mountComponent=()=>{try{const{registry:e,urlFetched:t}=window.requirejs.s.contexts._;Object.keys(e).forEach((n=>{e[n].error&&(delete t[e[n].map.url],delete e[n])}))}catch(e){}const e=+new Date;window.requirejs([g],(t=>{if(this.isUnMounted)return;const o=+new Date;if(v?.onLoad?.({name:n,loadStart:e,loadEnd:o,duration:o-e,beenLoaded:this.state.componentExist}),!t){const e="no content";return $({name:n,type:R.INVALID_COMPONENT,message:e}),void this.setState({errorMessage:e,errorType:R.INVALID_COMPONENT})}const s=y===p?t.default||t:t[y];if(!s){const e="module not defined";return $({name:n,type:R.INVALID_COMPONENT,message:e}),void this.setState({errorMessage:e,errorType:R.INVALID_COMPONENT})}if("function"!=typeof s){const e="module cannot be executed";return $({name:n,type:R.INVALID_COMPONENT,message:e}),void this.setState({errorMessage:e,errorType:R.INVALID_COMPONENT})}const i=_(),c={};i.includes(n)||i.push(n),Object.getOwnPropertyNames(s).forEach((e=>{var t,o;if("function"==typeof s[e])if("$onMessage"!==e)if("$i18n"!==e)c[e]=s[e];else{const t=s[e]();b.setI18nConfig(n,t)}else this.unSubscribe=(t=n,o=s[e],l({[f](e){const{component:n,value:r,event:s}=e;n!==t&&o({event:s,value:r,component:n})}}))})),b.setComponentActions(n,c),this.ComponentNode=s,this.setState({componentReady:!0}),r&&r(),d({[h]:i},!0)}),(e=>{const t=this.getDependencies();if(window.requirejs.undef(g),window.requirejs.config({paths:{[g]:`${t[g]}#`}}),this.isUnMounted)return;const[o]=e.requireModules,r=o===g?R.LOADING_ERROR:R.DEPENDENCIES_LOADING_ERROR,s=`load \`${o}\` error${r===R.LOADING_ERROR?"":`, needed by \`${n}\``}`;$({name:n,type:r,message:s}),this.setState({errorMessage:s,errorType:r})}))};onReload=()=>{this.setState({componentReady:!1,errorType:void 0,errorMessage:""},(()=>{this.mountComponent()}))};$postMessage=A(n);$dispatch=P(n);$t=function(e){return function(t,n){const o=b.getI18nConfig(e);if(!o)return $({name:e,type:"i18n",message:"config not exist"}),t;const{localeKey:r,resources:s}=o,i=a(r),c=s[i];if(!c)return $({name:e,type:"i18n",message:`locale \`${i}\` not exist`}),t;if(!c[t])return $({name:e,type:"i18n",message:`key \`${t}\` not exist`}),t;const u=c[t];if(!n||"[object Object]"!==Object.prototype.toString.call(n))return u;const d=Object.keys(n);return d.length?d.reduce(((e,t)=>{const o=new RegExp(`{\\s*${t}\\s*}`,"g");return e.replace(o,n[t].toString())}),u):u}}(n);render(){const{$silent:e,$componentProps:n}=this.props,{componentReady:o,errorMessage:r,errorType:s,componentExist:a}=this.state,u=m(),d=this.ComponentNode;return s?e?null:t().createElement(c,{$type:R[s],$message:r,$reload:s===R.INVALID_COMPONENT?void 0:this.onReload,$store:u}):o?t().createElement(d,D({},n,{$dispatch:this.$dispatch,$store:u,$postMessage:this.$postMessage,$t:this.$t})):e||!1!==a?null:t().createElement(i,{$store:u})}}return C.displayName=n,u(...s)(C)}var L=(e,n)=>{const o=b.getComponent(e);if(o)return o;const r=x(e,n),s=e=>{const{$silent:n,...o}=e||{},s={$componentProps:o,$silent:n};return t().createElement(r,s)};return s.displayName="various-creator",b.setComponent(e,s),s},k=({name:e,url:o,target:r,props:s,module:i,onMounted:c})=>{const a=i?`${e}.${i}`:e;o&&(window.requirejs.undef(e),window.requirejs.config({paths:{[e]:`${o}#`}}));const u=x(a,void 0,c);let d;b.getRenderRoot(a)?d=b.getRenderRoot(a):(d=(0,n.createRoot)(r),b.setRenderRoot(a,d));const{$silent:l,...p}=s||{},m={$componentProps:p,$silent:l};return d.render(t().createElement(u,m)),()=>setTimeout((()=>{d.unmount(),b.deleteRenderRoot(a)}))},V=o=>{const{dependencies:r,env:s,root:i,store:a={},actions:u={},Loader:d,Error:l,Container:p=O,middlewares:m,...v}=o;m&&b.setMiddlewares(m),b.setStoreActions(u),d&&b.setLoaderComponent(d),l&&b.setErrorComponent(l);const C=b.getErrorComponent();c({...a,[h]:[],[g]:"production"===s||"development"===s?s:"production",[y]:v,[E]:r,[f]:null});class w extends e.Component{state={errorType:void 0,errorMessage:""};componentDidCatch(e){$({name:"container",message:e.message,type:R.APP_ERROR}),this.setState({errorType:R.APP_ERROR,errorMessage:e.message})}render(){const{errorType:e,errorMessage:n}=this.state;return e?t().createElement(C,{$type:R[e],$message:n,$store:a}):t().createElement(p,null)}}w.displayName="various-container",(0,n.createRoot)(document.querySelector(i||"#root")).render(t().createElement(w,null))}}(),s}()}));
|
|
1
|
+
define(["react","react-dom/client"],(function(e,t){return function(){var n={380:function(e,t,n){var o;self,o=e=>(()=>{"use strict";var t={294:(e,t,n)=>{n.d(t,{default:()=>c});var o=n(942),r=n(63),s=n.n(r);function i(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Array.isArray(e)?[]:{};t.set(e,n);const o=Reflect.ownKeys(e);for(const r of o)n[r]=i(e[r],t);return n}class c{constructor(){var e;(0,o.Z)(this,"state",void 0),(0,o.Z)(this,"listeners",void 0),(0,o.Z)(this,"emits",void 0),(0,o.Z)(this,"timer",void 0),(0,o.Z)(this,"onStateChange",void 0),(0,o.Z)(this,"getStore",void 0),(0,o.Z)(this,"createStore",(e=>{this.listeners=Reflect.ownKeys(e).reduce(((t,n)=>{const o=n;return this.state[o]=e[o],{...t,[n]:[]}}),{})})),(0,o.Z)(this,"subscribe",(e=>{const t={};return Reflect.ownKeys(e).forEach((n=>{const o=n;this.listeners[o]||(this.listeners[o]=[]),this.listeners[o].push(e[o]),t[o]=e[o]})),()=>{Reflect.ownKeys(t).forEach((e=>{const n=e;this.listeners[n]=this.listeners[n].filter((e=>e!==t[n]))}))}})),(0,o.Z)(this,"emit",((e,t)=>{this.emits={...this.emits,...e},t?this.trigger():(clearTimeout(this.timer),this.timer=setTimeout(this.trigger))})),(0,o.Z)(this,"dispatch",((e,...t)=>e({getStore:this.getStore,emit:e=>this.emit(e,!0)},...t))),(0,o.Z)(this,"trigger",(()=>{const e=this.emits,t=[],n=Reflect.ownKeys(e);for(let o=0;o<n.length;o+=1){const r=n[o];if(s()(this.state[r],e[r]))continue;const c=e[r],a=this.state[r];this.state[r]=i(e[r]),t.push({key:r,newValue:c,oldValue:a})}const o={};t.forEach((e=>{o[e.key]=[e.newValue,e.oldValue],this.listeners[e.key]&&this.listeners[e.key].forEach((t=>t(e.newValue,e.oldValue)))})),t.length&&this.onStateChange(o),this.emits={},this.timer=void 0})),this.state={},this.listeners={},this.emits={},this.timer=void 0,this.onStateChange=()=>null,this.getStore=(e=this.state,function(t){return t?i(e[t]):e})}set onChange(e){this.onStateChange=e}}},63:e=>{e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var o,r,s;if(Array.isArray(t)){if((o=t.length)!=n.length)return!1;for(r=o;0!=r--;)if(!e(t[r],n[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((o=(s=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(r=o;0!=r--;)if(!Object.prototype.hasOwnProperty.call(n,s[r]))return!1;for(r=o;0!=r--;){var i=s[r];if(!e(t[i],n[i]))return!1}return!0}return t!=t&&n!=n}},250:t=>{t.exports=e},942:(e,t,n)=>{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}n.d(t,{Z:()=>o})}},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,o),s.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r={};return(()=>{o.d(r,{default:()=>a});var e=o(942),t=o(294),n=o(250),s=o.n(n);const i=["name","prototype","length","propTypes","defaultProps","getDerivedStateFromProps","contextTypes","displayName"];class c extends t.default{constructor(...t){super(...t),(0,e.Z)(this,"connect",function(t){const{getStore:o,subscribe:r}=t;return function(...t){return function(c){class a extends n.Component{constructor(n){super(n),(0,e.Z)(this,"unsubscribe",void 0),(0,e.Z)(this,"state",{props:o()}),this.unsubscribe=r(t.reduce(((e,t)=>({...e,[t]:()=>{this.setState({props:o()})}})),{}))}componentWillUnmount(){this.unsubscribe()}render(){const{props:e}=this.state,t={...e,...this.props};return s().createElement(c,t)}}return Object.getOwnPropertyNames(c).forEach((e=>{const t=e;i.includes(e)||(a[t]=c[t])})),a}}}(this)),(0,e.Z)(this,"useStore",function(e){const{getStore:t,subscribe:o}=e;return function(...e){const[r,s]=(0,n.useState)(t());return(0,n.useLayoutEffect)((()=>o(e.reduce(((e,n)=>({...e,[n]:()=>{s((e=>({...e,[n]:t()[n]})))}})),{})))),r}}(this))}}const a=c})(),r.default})(),e.exports=o(n(650))},650:function(t){"use strict";t.exports=e},974:function(e){"use strict";e.exports=t}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var s=o[e]={exports:{}};return n[e](s,s.exports,r),s.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return function(){"use strict";r.r(s),r.d(s,{Nycticorax:function(){return i()},createComponent:function(){return L},createDispatch:function(){return P},createPostMessage:function(){return A},default:function(){return V},getConfig:function(){return M},getEnv:function(){return b},getMountedComponents:function(){return _},getStore:function(){return m},isComponentLoaded:function(){return j},onComponentMounted:function(){return T},preloadComponents:function(){return I},renderComponent:function(){return k}});var e=r(650),t=r.n(e),n=r(974),o=r(380),i=r.n(o);const{createStore:c,getStore:a,connect:u,emit:p,subscribe:l,dispatch:d}=new(i());function m(){const e=a(),t=Object.keys(e),n={};return t.forEach((t=>{n[t]=e[t]})),n}const h=Symbol("MOUNTED_COMPONENTS"),f=Symbol("MESSAGE"),g=Symbol("ENV"),y=Symbol("CONFIG"),E=Symbol("DEPENDENCIES");let v=function(e){return e.LOADING_ERROR="LOADING_ERROR",e.DEPENDENCIES_LOADING_ERROR="DEPENDENCIES_LOADING_ERROR",e.NOT_DEFINED="NOT_DEFINED",e.INVALID_COMPONENT="INVALID_COMPONENT",e.SCRIPT_ERROR="SCRIPT_ERROR",e.APP_ERROR="APP_ERROR",e}({});const R=()=>t().createElement("div",null,"Loading"),C=({$type:e,$message:n,$reload:o})=>t().createElement(t().Fragment,null,t().createElement("div",null,`[${e}] ${n}`),o?t().createElement("button",{type:"button",onClick:o},"Reload"):null),O=()=>t().createElement("div",null,"App Container is not defined");var w=new class{constructor(){this.loaderComponent=R,this.errorComponent=C,this.storeActions={},this.componentActions={},this.components={},this.renderRoots={},this.i18nConfigs={},this.middlewares={}}setMiddlewares(e){this.middlewares=e}getMiddlewares(){return this.middlewares}setI18nConfig(e,t){this.i18nConfigs[e]=t}getI18nConfig(e){return this.i18nConfigs[e]}setRenderRoot(e,t){this.renderRoots[e]=t}getRenderRoot(e){return this.renderRoots[e]}deleteRenderRoot(e){delete this.renderRoots[e]}setComponent(e,t){this.components[e]=t}getComponent(e){return this.components[e]}setComponentActions(e,t){this.componentActions[e]=t}deleteComponentActions(e){delete this.componentActions[e]}getComponentActions(e){return this.componentActions[e]}setStoreActions(e){this.storeActions=e}getStoreActions(){return this.storeActions}setLoaderComponent(e){this.loaderComponent=e}getLoaderComponent(){return this.loaderComponent}setErrorComponent(e){this.errorComponent=e}getErrorComponent(){return this.errorComponent}};const b=()=>a(g),S=e=>[`%c${e}`,"color:white;background:blue;padding:1px 2px"];function N(e,t){"development"===b()&&window.console.warn(...S(e),t)}function M(){return a(y)}const $=e=>{const{type:t,message:n,name:o}=e,r="dispatch"===t||"i18n"===t?t:v[t],s=w.getMiddlewares();s?.onError?.({name:o,errorType:r,errorMessage:n}),function(e,t){"development"===b()&&window.console.error(...S(e),t)}(o,`[${r}] ${n}`)};var P=e=>async function(t,n,o){const r=w.getMiddlewares();let s=t,i=n,c=o;if(r?.onDispatch){const t=await r.onDispatch({target:s,method:i,value:c,trigger:e});if(!1===t)return N(e,"[dispatch] blocked by middleware"),Promise.resolve();!0!==t&&(s=t.target,i=t.method,c=t.value)}if("app"===s){const t=w.getStoreActions()[i];if(!t){const t=`\`app\` action \`${i}\` is not present`;throw $({name:e,type:"dispatch",message:t}),new Error(t)}return d(t,c,e)}const a=w.getComponentActions(s);if(!a){const t=`component \`${s}\` is not ready`;throw $({name:e,type:"dispatch",message:t}),new Error(t)}const u=a[i];if(!u){const t=`\`${s}\` action \`${i}\` is not present`;throw $({name:e,type:"dispatch",message:t}),new Error(t)}return Promise.resolve(u(c,e))};const A=e=>async(t,n)=>{const o=w.getMiddlewares();let r={trigger:e,event:t,value:n};if(o?.onMessage){const t=await o.onMessage(r);if(!1===t)return void N(e,"[message] blocked by middleware");!0!==t&&(r={...r,...t})}p({[f]:{timestamp:+new Date,component:e,event:r.event,value:r.value}})};function D(){return D=Object.assign?Object.assign.bind():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},D.apply(this,arguments)}const I=e=>new Promise(((t,n)=>{window.requirejs(e,t,n)})),j=e=>{const[t]=e.split(".");return window.requirejs.specified(t)&&!!window.requirejs.s.contexts._.defined[t]},_=()=>a(h),T=(e,t)=>{const n="string"==typeof e?[e]:e;if(n.every((e=>_().includes(e))))return t(),()=>null;const o=l({[h](e){const r=e;n.every((e=>r.includes(e)))&&(o(),t())}});return o};function x(n,o,r){const s=o||Object.keys(a()),i=Symbol("module"),[c,d=i]=n.split("."),g=w.getMiddlewares();class y extends e.Component{state={componentExist:void 0,componentReady:!1,errorType:void 0,errorMessage:""};unSubscribe=()=>null;getDependencies=()=>a(E);componentDidMount(){this.setState({componentExist:j(c)}),this.mountComponent()}componentDidCatch(e){$({name:n,type:v.SCRIPT_ERROR,message:e.message}),this.setState({errorMessage:e.message,errorType:v.SCRIPT_ERROR});const t=this.getDependencies();window.requirejs.undef(c),window.requirejs.config({paths:{[c]:`${t[c]}#`}}),this.unMountComponent()}componentWillUnmount(){this.ComponentNode=null,this.unMountComponent(),this.isUnMounted=!0,this.unSubscribe()}unMountComponent=()=>{let e=_();e=e.filter((e=>e!==n)),p({[h]:e},!0),w.deleteComponentActions(n)};mountComponent=()=>{try{const{registry:e,urlFetched:t}=window.requirejs.s.contexts._;Object.keys(e).forEach((n=>{e[n].error&&(delete t[e[n].map.url],delete e[n])}))}catch(e){}const e=+new Date;window.requirejs([c],(t=>{if(this.isUnMounted)return;const o=+new Date;if(g?.onLoad?.({name:n,loadStart:e,loadEnd:o,duration:o-e,beenLoaded:this.state.componentExist}),!t){const e="no content";return $({name:n,type:v.INVALID_COMPONENT,message:e}),void this.setState({errorMessage:e,errorType:v.INVALID_COMPONENT})}const s=d===i?t.default||t:t[d];if(!s){const e="module not defined";return $({name:n,type:v.INVALID_COMPONENT,message:e}),void this.setState({errorMessage:e,errorType:v.INVALID_COMPONENT})}if(c=s,!(c.prototype?.isReactComponent||"function"==typeof c&&String(c).includes("createElement("))){const e="not a valid React component";return $({name:n,type:v.INVALID_COMPONENT,message:e}),void this.setState({errorMessage:e,errorType:v.INVALID_COMPONENT})}var c;const a=_(),u={};a.includes(n)||a.push(n),Object.getOwnPropertyNames(s).forEach((e=>{var t,o;if("function"==typeof s[e])if("$onMessage"!==e)if("$i18n"!==e)u[e]=s[e];else{const t=s[e]();w.setI18nConfig(n,t)}else this.unSubscribe=(t=n,o=s[e],l({[f](e){const{component:n,value:r,event:s}=e;n!==t&&o({event:s,value:r,component:n})}}))})),w.setComponentActions(n,u),this.ComponentNode=s,this.setState({componentReady:!0}),r&&r(),p({[h]:a},!0)}),(e=>{const t=this.getDependencies();if(window.requirejs.undef(c),window.requirejs.config({paths:{[c]:`${t[c]}#`}}),this.isUnMounted)return;const[o]=e.requireModules,r=o===c?v.LOADING_ERROR:v.DEPENDENCIES_LOADING_ERROR,s=`load \`${o}\` error: ${e.message}`;$({name:n,type:r,message:s}),this.setState({errorMessage:s,errorType:r})}))};onReload=()=>{this.setState({componentReady:!1,errorType:void 0,errorMessage:""},(()=>{this.mountComponent()}))};$postMessage=A(n);$dispatch=P(n);$t=function(e){return function(t,n){const o=w.getI18nConfig(e);if(!o)return $({name:e,type:"i18n",message:"config not exist"}),t;const{localeKey:r,resources:s}=o,i=a(r),c=s[i];if(!c)return $({name:e,type:"i18n",message:`locale \`${i}\` not exist`}),t;if(!c[t])return $({name:e,type:"i18n",message:`key \`${t}\` not exist`}),t;const u=c[t];if(!n||"[object Object]"!==Object.prototype.toString.call(n))return u;const p=Object.keys(n);return p.length?p.reduce(((e,t)=>{const o=new RegExp(`{\\s*${t}\\s*}`,"g");return e.replace(o,n[t].toString())}),u):u}}(n);render(){const e=w.getErrorComponent(),n=w.getLoaderComponent(),{$silent:o,$componentProps:r}=this.props,{componentReady:s,errorMessage:i,errorType:c,componentExist:a}=this.state,u=m(),p=this.ComponentNode;return c?o?null:t().createElement(e,{$type:v[c],$message:i,$reload:c===v.INVALID_COMPONENT?void 0:this.onReload,$store:u}):s?t().createElement(p,D({},r,{$dispatch:this.$dispatch,$store:u,$postMessage:this.$postMessage,$t:this.$t})):o||!1!==a?null:t().createElement(n,{$store:u})}}return y.displayName=n,u(...s)(y)}var L=(e,n)=>{const o=w.getComponent(e);if(o)return o;const r=x(e,n),s=e=>{const{$silent:n,...o}=e||{},s={$componentProps:o,$silent:n};return t().createElement(r,s)};return s.displayName="various-creator",w.setComponent(e,s),s},k=({name:e,url:o,target:r,props:s,module:i,onMounted:c})=>{const a=i?`${e}.${i}`:e;o&&(window.requirejs.undef(e),window.requirejs.config({paths:{[e]:`${o}#`}}));const u=x(a,void 0,c);let p;w.getRenderRoot(a)?p=w.getRenderRoot(a):(p=(0,n.createRoot)(r),w.setRenderRoot(a,p));const{$silent:l,...d}=s||{},m={$componentProps:d,$silent:l};return p.render(t().createElement(u,m)),()=>setTimeout((()=>{p.unmount(),w.deleteRenderRoot(a)}))},V=o=>{const{dependencies:r,env:s,root:i,store:a={},actions:u={},Loader:p,Error:l,Container:d=O,middlewares:m,...R}=o;m&&w.setMiddlewares(m),w.setStoreActions(u),p&&w.setLoaderComponent(p),l&&w.setErrorComponent(l);const C=w.getErrorComponent();c({...a,[h]:[],[g]:"production"===s||"development"===s?s:"production",[y]:R,[E]:r,[f]:null});class b extends e.Component{state={errorType:void 0,errorMessage:""};componentDidCatch(e){$({name:"container",message:e.message,type:v.APP_ERROR}),this.setState({errorType:v.APP_ERROR,errorMessage:e.message})}render(){const{errorType:e,errorMessage:n}=this.state;return e?t().createElement(C,{$type:v[e],$message:n,$store:a}):t().createElement(d,null)}}b.displayName="various-container",(0,n.createRoot)(document.querySelector(i||"#root")).render(t().createElement(b,null))}}(),s}()}));
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://@variousjs/various/./node_modules/nycticorax/dist/index.js","webpack://@variousjs/various/external amd \"react\"","webpack://@variousjs/various/external amd \"react-dom/client\"","webpack://@variousjs/various/webpack/bootstrap","webpack://@variousjs/various/webpack/runtime/compat get default export","webpack://@variousjs/various/webpack/runtime/define property getters","webpack://@variousjs/various/webpack/runtime/hasOwnProperty shorthand","webpack://@variousjs/various/webpack/runtime/make namespace object","webpack://@variousjs/various/./src/core/store.ts","webpack://@variousjs/various/./src/config.ts","webpack://@variousjs/various/./src/core/default-component.tsx","webpack://@variousjs/various/./src/core/connector.ts","webpack://@variousjs/various/./src/core/helper.ts","webpack://@variousjs/various/./src/core/component/dispatch.ts","webpack://@variousjs/various/./src/core/component/message.ts","webpack://@variousjs/various/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@variousjs/various/./src/core/component/helper.ts","webpack://@variousjs/various/./src/core/component/core.tsx","webpack://@variousjs/various/./src/core/component/i18n.ts","webpack://@variousjs/various/./src/core/component/create.tsx","webpack://@variousjs/various/./src/core/component/render.tsx","webpack://@variousjs/various/./src/core/index.tsx"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"react\")):\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.Nycticorax=e(require(\"react\")):t.Nycticorax=e(t.React)}(self,(t=>(()=>{\"use strict\";var e={294:(t,e,r)=>{r.d(e,{default:()=>c});var s=r(942),o=r(63),n=r.n(o);function i(t,e=new WeakMap){if(\"object\"!=typeof t||null===t)return t;if(e.has(t))return e.get(t);const r=Array.isArray(t)?[]:{};e.set(t,r);const s=Reflect.ownKeys(t);for(const o of s)r[o]=i(t[o],e);return r}class c{constructor(){var t;(0,s.Z)(this,\"state\",void 0),(0,s.Z)(this,\"listeners\",void 0),(0,s.Z)(this,\"emits\",void 0),(0,s.Z)(this,\"timer\",void 0),(0,s.Z)(this,\"onStateChange\",void 0),(0,s.Z)(this,\"getStore\",void 0),(0,s.Z)(this,\"createStore\",(t=>{this.listeners=Reflect.ownKeys(t).reduce(((e,r)=>{const s=r;return this.state[s]=t[s],{...e,[r]:[]}}),{})})),(0,s.Z)(this,\"subscribe\",(t=>{const e={};return Reflect.ownKeys(t).forEach((r=>{const s=r;this.listeners[s]||(this.listeners[s]=[]),this.listeners[s].push(t[s]),e[s]=t[s]})),()=>{Reflect.ownKeys(e).forEach((t=>{const r=t;this.listeners[r]=this.listeners[r].filter((t=>t!==e[r]))}))}})),(0,s.Z)(this,\"emit\",((t,e)=>{this.emits={...this.emits,...t},e?this.trigger():(clearTimeout(this.timer),this.timer=setTimeout(this.trigger))})),(0,s.Z)(this,\"dispatch\",((t,...e)=>t({getStore:this.getStore,emit:t=>this.emit(t,!0)},...e))),(0,s.Z)(this,\"trigger\",(()=>{const t=this.emits,e=[],r=Reflect.ownKeys(t);for(let s=0;s<r.length;s+=1){const o=r[s];if(n()(this.state[o],t[o]))continue;const c=t[o],u=this.state[o];this.state[o]=i(t[o]),e.push({key:o,newValue:c,oldValue:u})}const s={};e.forEach((t=>{s[t.key]=[t.newValue,t.oldValue],this.listeners[t.key]&&this.listeners[t.key].forEach((e=>e(t.newValue,t.oldValue)))})),e.length&&this.onStateChange(s),this.emits={},this.timer=void 0})),this.state={},this.listeners={},this.emits={},this.timer=void 0,this.onStateChange=()=>null,this.getStore=(t=this.state,function(e){return e?i(t[e]):t})}set onChange(t){this.onStateChange=t}}},63:t=>{t.exports=function t(e,r){if(e===r)return!0;if(e&&r&&\"object\"==typeof e&&\"object\"==typeof r){if(e.constructor!==r.constructor)return!1;var s,o,n;if(Array.isArray(e)){if((s=e.length)!=r.length)return!1;for(o=s;0!=o--;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((s=(n=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(o=s;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,n[o]))return!1;for(o=s;0!=o--;){var i=n[o];if(!t(e[i],r[i]))return!1}return!0}return e!=e&&r!=r}},250:e=>{e.exports=t},942:(t,e,r)=>{function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,{Z:()=>s})}},r={};function s(t){var o=r[t];if(void 0!==o)return o.exports;var n=r[t]={exports:{}};return e[t](n,n.exports,s),n.exports}s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{for(var r in e)s.o(e,r)&&!s.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var o={};return(()=>{s.d(o,{default:()=>u});var t=s(942),e=s(294),r=s(250),n=s.n(r);const i=[\"name\",\"prototype\",\"length\",\"propTypes\",\"defaultProps\",\"getDerivedStateFromProps\",\"contextTypes\",\"displayName\"];class c extends e.default{constructor(...e){super(...e),(0,t.Z)(this,\"connect\",function(e){const{getStore:s,subscribe:o}=e;return function(...e){return function(c){class u extends r.Component{constructor(r){super(r),(0,t.Z)(this,\"unsubscribe\",void 0),(0,t.Z)(this,\"state\",{props:s()}),this.unsubscribe=o(e.reduce(((t,e)=>({...t,[e]:()=>{this.setState({props:s()})}})),{}))}componentWillUnmount(){this.unsubscribe()}render(){const{props:t}=this.state,e={...t,...this.props};return n().createElement(c,e)}}return Object.getOwnPropertyNames(c).forEach((t=>{const e=t;i.includes(t)||(u[e]=c[e])})),u}}}(this)),(0,t.Z)(this,\"useStore\",function(t){const{getStore:e,subscribe:s}=t;return function(...t){const[o,n]=(0,r.useState)(e());return(0,r.useLayoutEffect)((()=>s(t.reduce(((t,r)=>({...t,[r]:()=>{n((t=>({...t,[r]:e()[r]})))}})),{})))),o}}(this))}}const u=c})(),o.default})()));\n//# sourceMappingURL=index.js.map","module.exports = __WEBPACK_EXTERNAL_MODULE__650__;","module.exports = __WEBPACK_EXTERNAL_MODULE__974__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import Nycticorax from 'nycticorax'\nimport { Store } from '../types'\n\nexport const {\n createStore,\n getStore,\n connect,\n emit,\n subscribe,\n dispatch,\n} = new Nycticorax<Store>()\n\nexport function getUserStore<S extends object = {}>() {\n const globalStore = getStore()\n const keys = Object.keys(globalStore)\n const store: Record<string, any> = {}\n\n keys.forEach((key) => {\n store[key] = globalStore[key]\n })\n\n return store as S\n}\n","export const DEFAULT_PACKAGES = {\n react: 'https://unpkg.com/react@18/umd/react.production.min.js',\n 'react-dom': 'https://unpkg.com/react-dom@18/umd/react-dom.production.min.js',\n '@variousjs/various': 'https://unpkg.com/@variousjs/various/dist/core.js',\n}\n\nexport const MOUNTED_COMPONENTS_KEY = Symbol('MOUNTED_COMPONENTS')\n\nexport const MESSAGE_KEY = Symbol('MESSAGE')\n\nexport const ENV_KEY = Symbol('ENV')\n\nexport const CONFIG_KEY = Symbol('CONFIG')\n\nexport const DEPENDENCIES_KEY = Symbol('DEPENDENCIES')\n\nexport enum ERROR_TYPE {\n LOADING_ERROR = 'LOADING_ERROR',\n DEPENDENCIES_LOADING_ERROR = 'DEPENDENCIES_LOADING_ERROR',\n NOT_DEFINED = 'NOT_DEFINED',\n INVALID_COMPONENT = 'INVALID_COMPONENT',\n SCRIPT_ERROR = 'SCRIPT_ERROR',\n APP_ERROR = 'APP_ERROR',\n}\n\nexport const ROOT = '#root'\n","import React, { ComponentType } from 'react'\nimport { ErrorNode, LoaderNode } from '@variousjs/various'\nimport { Store } from '../types'\n\nexport const Loader: LoaderNode<Store> = () => (\n <div>Loading</div>\n)\n\nexport const Error: ErrorNode<Store> = ({ $type, $message, $reload }) => (\n <>\n <div>{`[${$type}] ${$message}`}</div>\n {\n $reload\n ? (\n <button\n type=\"button\"\n onClick={$reload}\n >\n Reload\n </button>\n )\n : null\n }\n </>\n)\n\nexport const Container: ComponentType = () => (\n <div>App Container is not defined</div>\n)\n","import { ComponentType } from 'react'\nimport { Root } from 'react-dom/client'\nimport {\n LoaderNode,\n ErrorNode,\n I18n,\n Actions,\n App,\n} from '@variousjs/various'\nimport { Loader, Error } from './default-component'\nimport { ComponentActions, Store } from '../types'\n\nclass Connector {\n private loaderComponent: LoaderNode<Store>\n\n private errorComponent: ErrorNode<Store>\n\n private storeActions: Actions<Store>\n\n private componentActions: Record<string, ComponentActions>\n\n private components: Record<string, ComponentType>\n\n private renderRoots: Record<string, Root>\n\n private i18nConfigs: Record<string, ReturnType<I18n>>\n\n private middlewares: App['middlewares']\n\n constructor() {\n this.loaderComponent = Loader\n this.errorComponent = Error\n this.storeActions = {}\n this.componentActions = {}\n this.components = {}\n this.renderRoots = {}\n this.i18nConfigs = {}\n this.middlewares = {}\n }\n\n setMiddlewares(m: App['middlewares']) {\n this.middlewares = m\n }\n\n getMiddlewares() {\n return this.middlewares\n }\n\n setI18nConfig(name: string, config: ReturnType<I18n>) {\n this.i18nConfigs[name] = config\n }\n\n getI18nConfig(name: string) {\n return this.i18nConfigs[name]\n }\n\n setRenderRoot(name: string, root: Root) {\n this.renderRoots[name] = root\n }\n\n getRenderRoot(name: string) {\n return this.renderRoots[name]\n }\n\n deleteRenderRoot(name: string) {\n delete this.renderRoots[name]\n }\n\n setComponent(name: string, component: ComponentType) {\n this.components[name] = component\n }\n\n getComponent(name: string) {\n return this.components[name]\n }\n\n setComponentActions(name:string, actions: ComponentActions) {\n this.componentActions[name] = actions\n }\n\n deleteComponentActions(name: string) {\n delete this.componentActions[name]\n }\n\n getComponentActions(name: string) {\n return this.componentActions[name]\n }\n\n setStoreActions(actions: Actions<Store>) {\n this.storeActions = actions\n }\n\n getStoreActions() {\n return this.storeActions\n }\n\n setLoaderComponent(loaderComponent: LoaderNode<Store>) {\n this.loaderComponent = loaderComponent\n }\n\n getLoaderComponent() {\n return this.loaderComponent\n }\n\n setErrorComponent(errorComponent: ErrorNode<Store>) {\n this.errorComponent = errorComponent\n }\n\n getErrorComponent() {\n return this.errorComponent\n }\n}\n\nexport default new Connector()\n","import { getStore } from './store'\nimport connector from './connector'\nimport { ERROR_TYPE, ENV_KEY, CONFIG_KEY } from '../config'\nimport { ErrorType } from '../types'\n\nexport const getEnv = () => getStore(ENV_KEY)\n\nconst getConsolePrefix = (name?: string) => {\n const text = `%c${name}`\n const style = 'color:white;background:blue;padding:1px 2px'\n return [text, style]\n}\n\nfunction consoleError(name: string, text: string) {\n if (getEnv() === 'development') {\n window.console.error(...getConsolePrefix(name), text)\n }\n}\n\nexport function consoleWarn(name: string, text: string) {\n if (getEnv() === 'development') {\n window.console.warn(...getConsolePrefix(name), text)\n }\n}\n\nexport function getConfig<C extends object = {}>() {\n return getStore(CONFIG_KEY) as C\n}\n\nexport const onError = (args: ErrorType) => {\n const { type, message, name } = args\n const prefix = type === 'dispatch' || type === 'i18n'\n ? type\n : ERROR_TYPE[type]\n\n const middlewares = connector.getMiddlewares()\n\n middlewares?.onError?.({\n name,\n errorType: prefix,\n errorMessage: message,\n })\n\n consoleError(name, `[${prefix}] ${message}`)\n}\n","import { createDispatch as cd } from '@variousjs/various'\nimport connector from '../connector'\nimport { dispatch } from '../store'\nimport { onError, consoleWarn } from '../helper'\n\nconst createDispatch: typeof cd = (componentName) => async function (n, m, v) {\n const middlewares = connector.getMiddlewares()\n let name = n\n let method = m\n let value = v\n\n if (middlewares?.onDispatch) {\n const check = await middlewares.onDispatch({\n target: name,\n method,\n value,\n trigger: componentName,\n })\n if (check === false) {\n consoleWarn(componentName, '[dispatch] blocked by middleware')\n return Promise.resolve()\n }\n if (check !== true) {\n name = check.target\n method = check.method\n value = check.value\n }\n }\n\n if (name === 'app') {\n const storeActions = connector.getStoreActions()\n const action = storeActions[method]\n if (!action) {\n const errorMessage = `\\`app\\` action \\`${method}\\` is not present`\n onError({\n name: componentName,\n type: 'dispatch',\n message: errorMessage,\n })\n throw new Error(errorMessage)\n }\n return dispatch(action, value, componentName)\n }\n\n const componentActions = connector.getComponentActions(name)\n\n if (!componentActions) {\n const errorMessage = `component \\`${name}\\` is not ready`\n onError({\n name: componentName,\n type: 'dispatch',\n message: errorMessage,\n })\n throw new Error(errorMessage)\n }\n\n const componentAction = componentActions[method]\n\n if (!componentAction) {\n const errorMessage = `\\`${name}\\` action \\`${method}\\` is not present`\n onError({\n name: componentName,\n type: 'dispatch',\n message: errorMessage,\n })\n throw new Error(errorMessage)\n }\n\n return Promise.resolve(componentAction(value, componentName))\n}\n\nexport default createDispatch\n","import { OnMessage, Message, createPostMessage as cpm } from '@variousjs/various'\nimport connector from '../connector'\nimport { consoleWarn } from '../helper'\nimport { emit, subscribe } from '../store'\nimport { MESSAGE_KEY } from '../../config'\n\nexport const getPostMessage: typeof cpm = (component) => async (event, value) => {\n const middlewares = connector.getMiddlewares()\n let next = { trigger: component, event, value }\n\n if (middlewares?.onMessage) {\n const check = await middlewares.onMessage(next)\n\n if (check === false) {\n consoleWarn(component, '[message] blocked by middleware')\n return\n }\n\n if (check !== true) {\n next = { ...next, ...check }\n }\n }\n\n emit({\n [MESSAGE_KEY]: {\n timestamp: +new Date(),\n component,\n event: next.event,\n value: next.value,\n },\n })\n}\n\nexport const getOnMessage = (componentName: string, onMessage: OnMessage) => subscribe({\n [MESSAGE_KEY](v) {\n const { component, value, event } = v as Message\n if (component !== componentName) {\n onMessage({ event, value, component })\n }\n },\n})\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import {\n onComponentMounted as ocm,\n isComponentLoaded as ic,\n preloadComponents as pc,\n} from '@variousjs/various'\nimport { getStore, subscribe } from '../store'\nimport { MOUNTED_COMPONENTS_KEY } from '../../config'\n\nexport const preloadComponents: typeof pc = (names) => new Promise<void>((resolve, reject) => {\n window.requirejs(names, resolve, reject)\n})\n\nexport const isComponentLoaded: typeof ic = (name) => {\n const [m] = name.split('.')\n return window.requirejs.specified(m) && !!window.requirejs.s.contexts._.defined[m]\n}\n\nexport const getMountedComponents = () => getStore(MOUNTED_COMPONENTS_KEY)\n\nexport const onComponentMounted: typeof ocm = (name, callback) => {\n const nextName = typeof name === 'string' ? [name] : name\n\n if (nextName.every((n) => getMountedComponents().includes(n))) {\n callback()\n return () => null\n }\n\n const unSubscribe = subscribe({\n [MOUNTED_COMPONENTS_KEY](value) {\n const names = value as string[]\n if (nextName.every((n) => names.includes(n))) {\n unSubscribe()\n callback()\n }\n },\n })\n\n return unSubscribe\n}\n","import React, { Component, ComponentType } from 'react'\nimport { I18n, OnMessage } from '@variousjs/various'\nimport { onError } from '../helper'\nimport { isComponentLoaded, getMountedComponents } from './helper'\nimport {\n connect,\n getStore,\n emit,\n getUserStore,\n} from '../store'\nimport { MOUNTED_COMPONENTS_KEY, ERROR_TYPE, DEPENDENCIES_KEY } from '../../config'\nimport connector from '../connector'\nimport { getPostMessage, getOnMessage } from './message'\nimport getDispatch from './dispatch'\nimport getI18n from './i18n'\nimport {\n RequireError,\n ErrorState,\n RequiredComponent,\n ComponentActions,\n Store,\n} from '../../types'\n\nexport default function (\n nameWidthModule: string,\n watchKeys?: string[],\n onMounted?: () => void,\n) {\n const storeKeys = (watchKeys || Object.keys(getStore()))\n const LoaderNode = connector.getLoaderComponent()\n const ErrorNode = connector.getErrorComponent()\n const symbolModule = Symbol('module')\n const [name, module = symbolModule] = nameWidthModule.split('.')\n const middlewares = connector.getMiddlewares()\n\n class R extends Component<\n Store & { $silent?: boolean, $componentProps: any },\n ErrorState & { componentReady: boolean, componentExist?: boolean }\n > {\n state = {\n componentExist: undefined,\n componentReady: false,\n errorType: undefined,\n errorMessage: '',\n }\n\n private ComponentNode: RequiredComponent | null\n\n private isUnMounted?: boolean\n\n private unSubscribe = () => null as unknown\n\n private getDependencies = () => getStore(DEPENDENCIES_KEY)\n\n componentDidMount() {\n this.setState({ componentExist: isComponentLoaded(name) })\n this.mountComponent()\n }\n\n componentDidCatch(e: Error) {\n onError({\n name: nameWidthModule,\n type: ERROR_TYPE.SCRIPT_ERROR,\n message: e.message,\n })\n this.setState({ errorMessage: e.message, errorType: ERROR_TYPE.SCRIPT_ERROR })\n\n const dependencies = this.getDependencies()\n window.requirejs.undef(name)\n window.requirejs.config({\n paths: {\n [name]: `${dependencies[name]}#`,\n },\n })\n this.unMountComponent()\n }\n\n componentWillUnmount() {\n this.ComponentNode = null\n this.unMountComponent()\n this.isUnMounted = true\n this.unSubscribe()\n }\n\n unMountComponent = () => {\n let mountedComponents = getMountedComponents()\n mountedComponents = mountedComponents.filter((item) => item !== nameWidthModule)\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n\n connector.deleteComponentActions(nameWidthModule)\n }\n\n mountComponent = () => {\n try {\n const { registry, urlFetched } = window.requirejs.s.contexts._\n Object.keys(registry).forEach((key) => {\n if (registry[key].error) {\n delete urlFetched[registry[key].map.url]\n delete registry[key]\n }\n })\n } catch (e) {\n // ignore\n }\n\n const loadStart = +new Date()\n\n window.requirejs([name], (C: RequiredComponent) => {\n if (this.isUnMounted) {\n return\n }\n\n const loadEnd = +new Date()\n\n middlewares?.onLoad?.({\n name: nameWidthModule,\n loadStart,\n loadEnd,\n duration: loadEnd - loadStart,\n beenLoaded: this.state.componentExist!,\n })\n\n if (!C) {\n const errorMessage = 'no content'\n onError({\n name: nameWidthModule,\n type: ERROR_TYPE.INVALID_COMPONENT,\n message: errorMessage,\n })\n this.setState({ errorMessage, errorType: ERROR_TYPE.INVALID_COMPONENT })\n return\n }\n\n const componentNode = module === symbolModule ? (C.default || C) : C[module]\n\n if (!componentNode) {\n const errorMessage = 'module not defined'\n onError({\n name: nameWidthModule,\n type: ERROR_TYPE.INVALID_COMPONENT,\n message: errorMessage,\n })\n this.setState({ errorMessage, errorType: ERROR_TYPE.INVALID_COMPONENT })\n return\n }\n\n if (typeof componentNode !== 'function') {\n const errorMessage = 'module cannot be executed'\n onError({\n name: nameWidthModule,\n type: ERROR_TYPE.INVALID_COMPONENT,\n message: errorMessage,\n })\n this.setState({ errorMessage, errorType: ERROR_TYPE.INVALID_COMPONENT })\n return\n }\n\n const mountedComponents = getMountedComponents()\n const actions: ComponentActions = {}\n\n if (!mountedComponents.includes(nameWidthModule)) {\n mountedComponents.push(nameWidthModule)\n }\n\n Object\n .getOwnPropertyNames(componentNode)\n .forEach((method) => {\n if (typeof componentNode[method] !== 'function') {\n return\n }\n if (method === '$onMessage') {\n this.unSubscribe = getOnMessage(\n nameWidthModule,\n componentNode[method] as OnMessage,\n )\n return\n }\n if (method === '$i18n') {\n const i18nConfig = (componentNode[method] as I18n)()\n connector.setI18nConfig(nameWidthModule, i18nConfig)\n return\n }\n\n actions[method] = componentNode[method]\n })\n\n connector.setComponentActions(nameWidthModule, actions)\n\n this.ComponentNode = componentNode\n this.setState({ componentReady: true })\n\n if (onMounted) {\n onMounted()\n }\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n }, (e: RequireError) => {\n const dependencies = this.getDependencies()\n window.requirejs.undef(name)\n window.requirejs.config({\n paths: {\n [name]: `${dependencies[name]}#`,\n },\n })\n\n if (this.isUnMounted) {\n return\n }\n\n const [requireModule] = e.requireModules\n\n const errorType = requireModule === name\n ? ERROR_TYPE.LOADING_ERROR\n : ERROR_TYPE.DEPENDENCIES_LOADING_ERROR\n const message = `load \\`${requireModule}\\` error${errorType === ERROR_TYPE.LOADING_ERROR ? '' : `, needed by \\`${nameWidthModule}\\``}`\n\n onError({\n name: nameWidthModule,\n type: errorType,\n message,\n })\n this.setState({ errorMessage: message, errorType })\n })\n }\n\n onReload = () => {\n this.setState({\n componentReady: false,\n errorType: undefined,\n errorMessage: '',\n }, () => {\n this.mountComponent()\n })\n }\n\n $postMessage = getPostMessage(nameWidthModule)\n\n $dispatch = getDispatch(nameWidthModule)\n\n $t = getI18n(nameWidthModule)\n\n render() {\n const { $silent, $componentProps } = this.props\n const {\n componentReady, errorMessage, errorType, componentExist,\n } = this.state\n const store = getUserStore()\n const ComponentNode = this.ComponentNode as RequiredComponent\n\n if (errorType) {\n return !$silent\n ? (\n <ErrorNode\n $type={ERROR_TYPE[errorType]}\n $message={errorMessage}\n $reload={errorType === ERROR_TYPE.INVALID_COMPONENT ? undefined : this.onReload}\n $store={store as Store}\n />\n )\n : null\n }\n\n if (!componentReady) {\n return !$silent && componentExist === false\n ? (<LoaderNode $store={store as Store} />)\n : null\n }\n\n return (\n <ComponentNode\n {...$componentProps}\n $dispatch={this.$dispatch}\n $store={store}\n $postMessage={this.$postMessage}\n $t={this.$t}\n />\n )\n }\n }\n\n (R as ComponentType<any>).displayName = nameWidthModule\n\n return connect(...storeKeys)(R)\n}\n","import { Intl } from '@variousjs/various'\nimport connector from '../connector'\nimport { onError } from '../helper'\nimport { getStore } from '../store'\n\nexport default function (componentName: string) {\n return function (key, params) {\n const i18nConfig = connector.getI18nConfig(componentName)\n\n if (!i18nConfig) {\n onError({\n name: componentName,\n type: 'i18n',\n message: 'config not exist',\n })\n return key\n }\n\n const { localeKey, resources } = i18nConfig\n const locale = getStore(localeKey) as string\n const resource = resources[locale]\n\n if (!resource) {\n onError({\n name: componentName,\n type: 'i18n',\n message: `locale \\`${locale}\\` not exist`,\n })\n return key\n }\n\n if (!resource[key]) {\n onError({\n name: componentName,\n type: 'i18n',\n message: `key \\`${key}\\` not exist`,\n })\n return key\n }\n\n const text = resource[key]\n\n if (!params || Object.prototype.toString.call(params) !== '[object Object]') {\n return text\n }\n\n const args = Object.keys(params)\n\n if (!args.length) {\n return text\n }\n\n return args.reduce((next, arg) => {\n const regex = new RegExp(`{\\\\s*${arg}\\\\s*}`, 'g')\n return next.replace(regex, params[arg].toString())\n }, text)\n } as Intl\n}\n","import React from 'react'\nimport { createComponent as cc } from '@variousjs/various'\nimport componentCreator from './core'\nimport connector from '../connector'\n\nconst createComponent: typeof cc = (name, storeKeys) => {\n const existComponent = connector.getComponent(name)\n if (existComponent) {\n return existComponent\n }\n\n const C = componentCreator(name, storeKeys as string[])\n const component = (props: Record<string, any>) => {\n const { $silent, ...rest } = props || {}\n const nextProps = { $componentProps: rest, $silent }\n return (<C {...nextProps} />)\n }\n component.displayName = 'various-creator'\n connector.setComponent(name, component)\n return component\n}\n\nexport default createComponent\n","import React from 'react'\nimport { createRoot, Root } from 'react-dom/client'\nimport { renderComponent as rc } from '@variousjs/various'\nimport componentCreator from './core'\nimport connector from '../connector'\n\nconst renderComponent: typeof rc = ({\n name,\n url,\n target,\n props,\n module,\n onMounted,\n}) => {\n const nameWidthSub = module ? `${name}.${module}` : name\n\n if (url) {\n // if define url, means replace component\n window.requirejs.undef(name)\n window.requirejs.config({\n paths: {\n [name]: `${url}#`,\n },\n })\n }\n\n const C = componentCreator(nameWidthSub, undefined, onMounted)\n\n let root: Root\n if (connector.getRenderRoot(nameWidthSub)) {\n root = connector.getRenderRoot(nameWidthSub)\n } else {\n root = createRoot(target as Element)\n connector.setRenderRoot(nameWidthSub, root)\n }\n\n const { $silent, ...rest } = props || {}\n const nextProps = { $componentProps: rest, $silent }\n\n root.render(<C {...nextProps} />)\n\n return () => setTimeout(() => {\n root.unmount()\n connector.deleteRenderRoot(nameWidthSub)\n })\n}\n\nexport default renderComponent\n","import React, { Component, ComponentType } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { App, Config } from '@variousjs/various'\nimport { createStore } from './store'\nimport {\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n ROOT,\n MESSAGE_KEY,\n ERROR_TYPE,\n ENV_KEY,\n CONFIG_KEY,\n} from '../config'\nimport connector from './connector'\nimport { onError } from './helper'\nimport { Container as ContainerNode } from './default-component'\nimport { ErrorState, Store } from '../types'\n\nexport { getUserStore as getStore } from './store'\nexport { default as createDispatch } from './component/dispatch'\nexport { getPostMessage as createPostMessage } from './component/message'\n\nexport { default as Nycticorax } from 'nycticorax'\n\nexport * from './component'\nexport { getConfig, getEnv } from './helper'\n\nexport default (config: Config & App<Store>) => {\n const {\n dependencies,\n env,\n root,\n store = {},\n actions = {},\n Loader: LoaderComponent,\n Error: ErrorComponent,\n Container: ContainerComponent = ContainerNode,\n middlewares,\n ...rest\n } = config\n\n if (middlewares) {\n connector.setMiddlewares(middlewares)\n }\n\n connector.setStoreActions(actions)\n\n if (LoaderComponent) {\n connector.setLoaderComponent(LoaderComponent)\n }\n if (ErrorComponent) {\n connector.setErrorComponent(ErrorComponent)\n }\n const ErrorNode = connector.getErrorComponent()\n\n createStore({\n ...store,\n [MOUNTED_COMPONENTS_KEY]: [],\n [ENV_KEY]: (env === 'production' || env === 'development') ? env : 'production',\n [CONFIG_KEY]: rest,\n [DEPENDENCIES_KEY]: dependencies,\n [MESSAGE_KEY]: null,\n })\n\n class R extends Component<{}, ErrorState> {\n state = {\n errorType: undefined,\n errorMessage: '',\n }\n\n componentDidCatch(e: Error) {\n onError({\n name: 'container',\n message: e.message,\n type: ERROR_TYPE.APP_ERROR,\n })\n this.setState({ errorType: ERROR_TYPE.APP_ERROR, errorMessage: e.message })\n }\n\n render() {\n const { errorType, errorMessage } = this.state\n\n if (errorType) {\n return (\n <ErrorNode\n $type={ERROR_TYPE[errorType]}\n $message={errorMessage}\n $store={store as Store}\n />\n )\n }\n\n return (\n <ContainerComponent />\n )\n }\n }\n\n (R as ComponentType).displayName = 'various-container'\n\n createRoot(document.querySelector(root || ROOT) as Element).render(<R />)\n}\n"],"names":["e","self","t","r","d","default","c","s","o","n","i","WeakMap","has","get","Array","isArray","set","Reflect","ownKeys","constructor","Z","this","listeners","reduce","state","forEach","push","filter","emits","trigger","clearTimeout","timer","setTimeout","getStore","emit","length","u","key","newValue","oldValue","onStateChange","onChange","exports","RegExp","source","flags","valueOf","Object","prototype","toString","keys","hasOwnProperty","call","defineProperty","value","enumerable","configurable","writable","__esModule","a","super","subscribe","Component","props","unsubscribe","setState","componentWillUnmount","render","createElement","getOwnPropertyNames","includes","useState","useLayoutEffect","module","__WEBPACK_EXTERNAL_MODULE__650__","__WEBPACK_EXTERNAL_MODULE__974__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","definition","obj","prop","Symbol","toStringTag","createStore","connect","dispatch","Nycticorax","getUserStore","globalStore","store","MOUNTED_COMPONENTS_KEY","MESSAGE_KEY","ENV_KEY","CONFIG_KEY","DEPENDENCIES_KEY","ERROR_TYPE","Loader","React","Error","$type","$message","$reload","type","onClick","Container","loaderComponent","errorComponent","storeActions","componentActions","components","renderRoots","i18nConfigs","middlewares","setMiddlewares","m","getMiddlewares","setI18nConfig","name","config","getI18nConfig","setRenderRoot","root","getRenderRoot","deleteRenderRoot","setComponent","component","getComponent","setComponentActions","actions","deleteComponentActions","getComponentActions","setStoreActions","getStoreActions","setLoaderComponent","getLoaderComponent","setErrorComponent","getErrorComponent","getEnv","getConsolePrefix","consoleWarn","text","window","console","warn","getConfig","onError","args","message","prefix","connector","errorType","errorMessage","error","consoleError","componentName","async","v","method","onDispatch","check","target","Promise","resolve","action","componentAction","getPostMessage","event","next","onMessage","timestamp","Date","_extends","assign","bind","arguments","apply","preloadComponents","names","reject","requirejs","isComponentLoaded","split","specified","contexts","_","defined","getMountedComponents","onComponentMounted","callback","nextName","every","unSubscribe","nameWidthModule","watchKeys","onMounted","storeKeys","LoaderNode","ErrorNode","symbolModule","R","componentExist","componentReady","getDependencies","componentDidMount","mountComponent","componentDidCatch","SCRIPT_ERROR","dependencies","undef","paths","unMountComponent","ComponentNode","isUnMounted","mountedComponents","item","registry","urlFetched","map","url","loadStart","C","loadEnd","onLoad","duration","beenLoaded","INVALID_COMPONENT","componentNode","getOnMessage","i18nConfig","requireModule","requireModules","LOADING_ERROR","DEPENDENCIES_LOADING_ERROR","onReload","$postMessage","$dispatch","getDispatch","$t","params","localeKey","resources","locale","resource","arg","regex","replace","getI18n","$silent","$componentProps","$store","displayName","createComponent","existComponent","componentCreator","rest","nextProps","renderComponent","nameWidthSub","createRoot","unmount","env","LoaderComponent","ErrorComponent","ContainerComponent","ContainerNode","APP_ERROR","document","querySelector"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://@variousjs/various/./node_modules/nycticorax/dist/index.js","webpack://@variousjs/various/external amd \"react\"","webpack://@variousjs/various/external amd \"react-dom/client\"","webpack://@variousjs/various/webpack/bootstrap","webpack://@variousjs/various/webpack/runtime/compat get default export","webpack://@variousjs/various/webpack/runtime/define property getters","webpack://@variousjs/various/webpack/runtime/hasOwnProperty shorthand","webpack://@variousjs/various/webpack/runtime/make namespace object","webpack://@variousjs/various/./src/core/store.ts","webpack://@variousjs/various/./src/config.ts","webpack://@variousjs/various/./src/core/default-component.tsx","webpack://@variousjs/various/./src/core/connector.ts","webpack://@variousjs/various/./src/core/helper.ts","webpack://@variousjs/various/./src/core/component/dispatch.ts","webpack://@variousjs/various/./src/core/component/message.ts","webpack://@variousjs/various/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@variousjs/various/./src/core/component/helper.ts","webpack://@variousjs/various/./src/core/component/core.tsx","webpack://@variousjs/various/./src/core/component/i18n.ts","webpack://@variousjs/various/./src/core/component/create.tsx","webpack://@variousjs/various/./src/core/component/render.tsx","webpack://@variousjs/various/./src/core/index.tsx"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"react\")):\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.Nycticorax=e(require(\"react\")):t.Nycticorax=e(t.React)}(self,(t=>(()=>{\"use strict\";var e={294:(t,e,r)=>{r.d(e,{default:()=>c});var s=r(942),o=r(63),n=r.n(o);function i(t,e=new WeakMap){if(\"object\"!=typeof t||null===t)return t;if(e.has(t))return e.get(t);const r=Array.isArray(t)?[]:{};e.set(t,r);const s=Reflect.ownKeys(t);for(const o of s)r[o]=i(t[o],e);return r}class c{constructor(){var t;(0,s.Z)(this,\"state\",void 0),(0,s.Z)(this,\"listeners\",void 0),(0,s.Z)(this,\"emits\",void 0),(0,s.Z)(this,\"timer\",void 0),(0,s.Z)(this,\"onStateChange\",void 0),(0,s.Z)(this,\"getStore\",void 0),(0,s.Z)(this,\"createStore\",(t=>{this.listeners=Reflect.ownKeys(t).reduce(((e,r)=>{const s=r;return this.state[s]=t[s],{...e,[r]:[]}}),{})})),(0,s.Z)(this,\"subscribe\",(t=>{const e={};return Reflect.ownKeys(t).forEach((r=>{const s=r;this.listeners[s]||(this.listeners[s]=[]),this.listeners[s].push(t[s]),e[s]=t[s]})),()=>{Reflect.ownKeys(e).forEach((t=>{const r=t;this.listeners[r]=this.listeners[r].filter((t=>t!==e[r]))}))}})),(0,s.Z)(this,\"emit\",((t,e)=>{this.emits={...this.emits,...t},e?this.trigger():(clearTimeout(this.timer),this.timer=setTimeout(this.trigger))})),(0,s.Z)(this,\"dispatch\",((t,...e)=>t({getStore:this.getStore,emit:t=>this.emit(t,!0)},...e))),(0,s.Z)(this,\"trigger\",(()=>{const t=this.emits,e=[],r=Reflect.ownKeys(t);for(let s=0;s<r.length;s+=1){const o=r[s];if(n()(this.state[o],t[o]))continue;const c=t[o],u=this.state[o];this.state[o]=i(t[o]),e.push({key:o,newValue:c,oldValue:u})}const s={};e.forEach((t=>{s[t.key]=[t.newValue,t.oldValue],this.listeners[t.key]&&this.listeners[t.key].forEach((e=>e(t.newValue,t.oldValue)))})),e.length&&this.onStateChange(s),this.emits={},this.timer=void 0})),this.state={},this.listeners={},this.emits={},this.timer=void 0,this.onStateChange=()=>null,this.getStore=(t=this.state,function(e){return e?i(t[e]):t})}set onChange(t){this.onStateChange=t}}},63:t=>{t.exports=function t(e,r){if(e===r)return!0;if(e&&r&&\"object\"==typeof e&&\"object\"==typeof r){if(e.constructor!==r.constructor)return!1;var s,o,n;if(Array.isArray(e)){if((s=e.length)!=r.length)return!1;for(o=s;0!=o--;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((s=(n=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(o=s;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,n[o]))return!1;for(o=s;0!=o--;){var i=n[o];if(!t(e[i],r[i]))return!1}return!0}return e!=e&&r!=r}},250:e=>{e.exports=t},942:(t,e,r)=>{function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,{Z:()=>s})}},r={};function s(t){var o=r[t];if(void 0!==o)return o.exports;var n=r[t]={exports:{}};return e[t](n,n.exports,s),n.exports}s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{for(var r in e)s.o(e,r)&&!s.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var o={};return(()=>{s.d(o,{default:()=>u});var t=s(942),e=s(294),r=s(250),n=s.n(r);const i=[\"name\",\"prototype\",\"length\",\"propTypes\",\"defaultProps\",\"getDerivedStateFromProps\",\"contextTypes\",\"displayName\"];class c extends e.default{constructor(...e){super(...e),(0,t.Z)(this,\"connect\",function(e){const{getStore:s,subscribe:o}=e;return function(...e){return function(c){class u extends r.Component{constructor(r){super(r),(0,t.Z)(this,\"unsubscribe\",void 0),(0,t.Z)(this,\"state\",{props:s()}),this.unsubscribe=o(e.reduce(((t,e)=>({...t,[e]:()=>{this.setState({props:s()})}})),{}))}componentWillUnmount(){this.unsubscribe()}render(){const{props:t}=this.state,e={...t,...this.props};return n().createElement(c,e)}}return Object.getOwnPropertyNames(c).forEach((t=>{const e=t;i.includes(t)||(u[e]=c[e])})),u}}}(this)),(0,t.Z)(this,\"useStore\",function(t){const{getStore:e,subscribe:s}=t;return function(...t){const[o,n]=(0,r.useState)(e());return(0,r.useLayoutEffect)((()=>s(t.reduce(((t,r)=>({...t,[r]:()=>{n((t=>({...t,[r]:e()[r]})))}})),{})))),o}}(this))}}const u=c})(),o.default})()));\n//# sourceMappingURL=index.js.map","module.exports = __WEBPACK_EXTERNAL_MODULE__650__;","module.exports = __WEBPACK_EXTERNAL_MODULE__974__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import Nycticorax from 'nycticorax'\nimport { Store } from '../types'\n\nexport const {\n createStore,\n getStore,\n connect,\n emit,\n subscribe,\n dispatch,\n} = new Nycticorax<Store>()\n\nexport function getUserStore<S extends object = {}>() {\n const globalStore = getStore()\n const keys = Object.keys(globalStore)\n const store: Record<string, any> = {}\n\n keys.forEach((key) => {\n store[key] = globalStore[key]\n })\n\n return store as S\n}\n","export const DEFAULT_PACKAGES = {\n react: 'https://unpkg.com/react@18/umd/react.production.min.js',\n 'react-dom': 'https://unpkg.com/react-dom@18/umd/react-dom.production.min.js',\n '@variousjs/various': 'https://unpkg.com/@variousjs/various/dist/core.js',\n}\n\nexport const MOUNTED_COMPONENTS_KEY = Symbol('MOUNTED_COMPONENTS')\n\nexport const MESSAGE_KEY = Symbol('MESSAGE')\n\nexport const ENV_KEY = Symbol('ENV')\n\nexport const CONFIG_KEY = Symbol('CONFIG')\n\nexport const DEPENDENCIES_KEY = Symbol('DEPENDENCIES')\n\nexport enum ERROR_TYPE {\n LOADING_ERROR = 'LOADING_ERROR',\n DEPENDENCIES_LOADING_ERROR = 'DEPENDENCIES_LOADING_ERROR',\n NOT_DEFINED = 'NOT_DEFINED',\n INVALID_COMPONENT = 'INVALID_COMPONENT',\n SCRIPT_ERROR = 'SCRIPT_ERROR',\n APP_ERROR = 'APP_ERROR',\n}\n\nexport const ROOT = '#root'\n","import React, { ComponentType } from 'react'\nimport { ErrorNode, LoaderNode } from '@variousjs/various'\nimport { Store } from '../types'\n\nexport const Loader: LoaderNode<Store> = () => (\n <div>Loading</div>\n)\n\nexport const Error: ErrorNode<Store> = ({ $type, $message, $reload }) => (\n <>\n <div>{`[${$type}] ${$message}`}</div>\n {\n $reload\n ? (\n <button\n type=\"button\"\n onClick={$reload}\n >\n Reload\n </button>\n )\n : null\n }\n </>\n)\n\nexport const Container: ComponentType = () => (\n <div>App Container is not defined</div>\n)\n","import { ComponentType } from 'react'\nimport { Root } from 'react-dom/client'\nimport {\n LoaderNode,\n ErrorNode,\n I18n,\n Actions,\n App,\n} from '@variousjs/various'\nimport { Loader, Error } from './default-component'\nimport { ComponentActions, Store } from '../types'\n\nclass Connector {\n private loaderComponent: LoaderNode<Store>\n\n private errorComponent: ErrorNode<Store>\n\n private storeActions: Actions<Store>\n\n private componentActions: Record<string, ComponentActions>\n\n private components: Record<string, ComponentType>\n\n private renderRoots: Record<string, Root>\n\n private i18nConfigs: Record<string, ReturnType<I18n>>\n\n private middlewares: App['middlewares']\n\n constructor() {\n this.loaderComponent = Loader\n this.errorComponent = Error\n this.storeActions = {}\n this.componentActions = {}\n this.components = {}\n this.renderRoots = {}\n this.i18nConfigs = {}\n this.middlewares = {}\n }\n\n setMiddlewares(m: App['middlewares']) {\n this.middlewares = m\n }\n\n getMiddlewares() {\n return this.middlewares\n }\n\n setI18nConfig(name: string, config: ReturnType<I18n>) {\n this.i18nConfigs[name] = config\n }\n\n getI18nConfig(name: string) {\n return this.i18nConfigs[name]\n }\n\n setRenderRoot(name: string, root: Root) {\n this.renderRoots[name] = root\n }\n\n getRenderRoot(name: string) {\n return this.renderRoots[name]\n }\n\n deleteRenderRoot(name: string) {\n delete this.renderRoots[name]\n }\n\n setComponent(name: string, component: ComponentType) {\n this.components[name] = component\n }\n\n getComponent(name: string) {\n return this.components[name]\n }\n\n setComponentActions(name:string, actions: ComponentActions) {\n this.componentActions[name] = actions\n }\n\n deleteComponentActions(name: string) {\n delete this.componentActions[name]\n }\n\n getComponentActions(name: string) {\n return this.componentActions[name]\n }\n\n setStoreActions(actions: Actions<Store>) {\n this.storeActions = actions\n }\n\n getStoreActions() {\n return this.storeActions\n }\n\n setLoaderComponent(loaderComponent: LoaderNode<Store>) {\n this.loaderComponent = loaderComponent\n }\n\n getLoaderComponent() {\n return this.loaderComponent\n }\n\n setErrorComponent(errorComponent: ErrorNode<Store>) {\n this.errorComponent = errorComponent\n }\n\n getErrorComponent() {\n return this.errorComponent\n }\n}\n\nexport default new Connector()\n","import { getStore } from './store'\nimport connector from './connector'\nimport { ERROR_TYPE, ENV_KEY, CONFIG_KEY } from '../config'\nimport { ErrorType, RequiredComponent } from '../types'\n\nexport const getEnv = () => getStore(ENV_KEY)\n\nconst getConsolePrefix = (name?: string) => {\n const text = `%c${name}`\n const style = 'color:white;background:blue;padding:1px 2px'\n return [text, style]\n}\n\nfunction consoleError(name: string, text: string) {\n if (getEnv() === 'development') {\n window.console.error(...getConsolePrefix(name), text)\n }\n}\n\nexport function consoleWarn(name: string, text: string) {\n if (getEnv() === 'development') {\n window.console.warn(...getConsolePrefix(name), text)\n }\n}\n\nexport function getConfig<C extends object = {}>() {\n return getStore(CONFIG_KEY) as C\n}\n\nexport const onError = (args: ErrorType) => {\n const { type, message, name } = args\n const prefix = type === 'dispatch' || type === 'i18n'\n ? type\n : ERROR_TYPE[type]\n\n const middlewares = connector.getMiddlewares()\n\n middlewares?.onError?.({\n name,\n errorType: prefix,\n errorMessage: message,\n })\n\n consoleError(name, `[${prefix}] ${message}`)\n}\n\nexport const isReactComponent = (component: RequiredComponent) => (\n !!component.prototype?.isReactComponent) || (\n typeof component === 'function'\n && String(component).includes('createElement(')\n)\n","import { createDispatch as cd } from '@variousjs/various'\nimport connector from '../connector'\nimport { dispatch } from '../store'\nimport { onError, consoleWarn } from '../helper'\n\nconst createDispatch: typeof cd = (componentName) => async function (n, m, v) {\n const middlewares = connector.getMiddlewares()\n let name = n\n let method = m\n let value = v\n\n if (middlewares?.onDispatch) {\n const check = await middlewares.onDispatch({\n target: name,\n method,\n value,\n trigger: componentName,\n })\n if (check === false) {\n consoleWarn(componentName, '[dispatch] blocked by middleware')\n return Promise.resolve()\n }\n if (check !== true) {\n name = check.target\n method = check.method\n value = check.value\n }\n }\n\n if (name === 'app') {\n const storeActions = connector.getStoreActions()\n const action = storeActions[method]\n if (!action) {\n const errorMessage = `\\`app\\` action \\`${method}\\` is not present`\n onError({\n name: componentName,\n type: 'dispatch',\n message: errorMessage,\n })\n throw new Error(errorMessage)\n }\n return dispatch(action, value, componentName)\n }\n\n const componentActions = connector.getComponentActions(name)\n\n if (!componentActions) {\n const errorMessage = `component \\`${name}\\` is not ready`\n onError({\n name: componentName,\n type: 'dispatch',\n message: errorMessage,\n })\n throw new Error(errorMessage)\n }\n\n const componentAction = componentActions[method]\n\n if (!componentAction) {\n const errorMessage = `\\`${name}\\` action \\`${method}\\` is not present`\n onError({\n name: componentName,\n type: 'dispatch',\n message: errorMessage,\n })\n throw new Error(errorMessage)\n }\n\n return Promise.resolve(componentAction(value, componentName))\n}\n\nexport default createDispatch\n","import { OnMessage, Message, createPostMessage as cpm } from '@variousjs/various'\nimport connector from '../connector'\nimport { consoleWarn } from '../helper'\nimport { emit, subscribe } from '../store'\nimport { MESSAGE_KEY } from '../../config'\n\nexport const getPostMessage: typeof cpm = (component) => async (event, value) => {\n const middlewares = connector.getMiddlewares()\n let next = { trigger: component, event, value }\n\n if (middlewares?.onMessage) {\n const check = await middlewares.onMessage(next)\n\n if (check === false) {\n consoleWarn(component, '[message] blocked by middleware')\n return\n }\n\n if (check !== true) {\n next = { ...next, ...check }\n }\n }\n\n emit({\n [MESSAGE_KEY]: {\n timestamp: +new Date(),\n component,\n event: next.event,\n value: next.value,\n },\n })\n}\n\nexport const getOnMessage = (componentName: string, onMessage: OnMessage) => subscribe({\n [MESSAGE_KEY](v) {\n const { component, value, event } = v as Message\n if (component !== componentName) {\n onMessage({ event, value, component })\n }\n },\n})\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import {\n onComponentMounted as ocm,\n isComponentLoaded as ic,\n preloadComponents as pc,\n} from '@variousjs/various'\nimport { getStore, subscribe } from '../store'\nimport { MOUNTED_COMPONENTS_KEY } from '../../config'\n\nexport const preloadComponents: typeof pc = (names) => new Promise<void>((resolve, reject) => {\n window.requirejs(names, resolve, reject)\n})\n\nexport const isComponentLoaded: typeof ic = (name) => {\n const [m] = name.split('.')\n return window.requirejs.specified(m) && !!window.requirejs.s.contexts._.defined[m]\n}\n\nexport const getMountedComponents = () => getStore(MOUNTED_COMPONENTS_KEY)\n\nexport const onComponentMounted: typeof ocm = (name, callback) => {\n const nextName = typeof name === 'string' ? [name] : name\n\n if (nextName.every((n) => getMountedComponents().includes(n))) {\n callback()\n return () => null\n }\n\n const unSubscribe = subscribe({\n [MOUNTED_COMPONENTS_KEY](value) {\n const names = value as string[]\n if (nextName.every((n) => names.includes(n))) {\n unSubscribe()\n callback()\n }\n },\n })\n\n return unSubscribe\n}\n","import React, { Component, ComponentType } from 'react'\nimport { I18n, OnMessage } from '@variousjs/various'\nimport { isReactComponent, onError } from '../helper'\nimport { isComponentLoaded, getMountedComponents } from './helper'\nimport {\n connect,\n getStore,\n emit,\n getUserStore,\n} from '../store'\nimport { MOUNTED_COMPONENTS_KEY, ERROR_TYPE, DEPENDENCIES_KEY } from '../../config'\nimport connector from '../connector'\nimport { getPostMessage, getOnMessage } from './message'\nimport getDispatch from './dispatch'\nimport getI18n from './i18n'\nimport {\n RequireError,\n ErrorState,\n RequiredComponent,\n ComponentActions,\n Store,\n} from '../../types'\n\nexport default function (\n nameWidthModule: string,\n watchKeys?: string[],\n onMounted?: () => void,\n) {\n const storeKeys = (watchKeys || Object.keys(getStore()))\n const symbolModule = Symbol('module')\n const [name, module = symbolModule] = nameWidthModule.split('.')\n const middlewares = connector.getMiddlewares()\n\n class R extends Component<\n Store & { $silent?: boolean, $componentProps: any },\n ErrorState & { componentReady: boolean, componentExist?: boolean }\n > {\n state = {\n componentExist: undefined,\n componentReady: false,\n errorType: undefined,\n errorMessage: '',\n }\n\n private ComponentNode: RequiredComponent | null\n\n private isUnMounted?: boolean\n\n private unSubscribe = () => null as unknown\n\n private getDependencies = () => getStore(DEPENDENCIES_KEY)\n\n componentDidMount() {\n this.setState({ componentExist: isComponentLoaded(name) })\n this.mountComponent()\n }\n\n componentDidCatch(e: Error) {\n onError({\n name: nameWidthModule,\n type: ERROR_TYPE.SCRIPT_ERROR,\n message: e.message,\n })\n this.setState({ errorMessage: e.message, errorType: ERROR_TYPE.SCRIPT_ERROR })\n\n const dependencies = this.getDependencies()\n window.requirejs.undef(name)\n window.requirejs.config({\n paths: {\n [name]: `${dependencies[name]}#`,\n },\n })\n this.unMountComponent()\n }\n\n componentWillUnmount() {\n this.ComponentNode = null\n this.unMountComponent()\n this.isUnMounted = true\n this.unSubscribe()\n }\n\n unMountComponent = () => {\n let mountedComponents = getMountedComponents()\n mountedComponents = mountedComponents.filter((item) => item !== nameWidthModule)\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n\n connector.deleteComponentActions(nameWidthModule)\n }\n\n mountComponent = () => {\n try {\n const { registry, urlFetched } = window.requirejs.s.contexts._\n Object.keys(registry).forEach((key) => {\n if (registry[key].error) {\n delete urlFetched[registry[key].map.url]\n delete registry[key]\n }\n })\n } catch (e) {\n // ignore\n }\n\n const loadStart = +new Date()\n\n window.requirejs([name], (C: RequiredComponent) => {\n if (this.isUnMounted) {\n return\n }\n\n const loadEnd = +new Date()\n\n middlewares?.onLoad?.({\n name: nameWidthModule,\n loadStart,\n loadEnd,\n duration: loadEnd - loadStart,\n beenLoaded: this.state.componentExist!,\n })\n\n if (!C) {\n const errorMessage = 'no content'\n onError({\n name: nameWidthModule,\n type: ERROR_TYPE.INVALID_COMPONENT,\n message: errorMessage,\n })\n this.setState({ errorMessage, errorType: ERROR_TYPE.INVALID_COMPONENT })\n return\n }\n\n const componentNode = module === symbolModule ? (C.default || C) : C[module]\n\n if (!componentNode) {\n const errorMessage = 'module not defined'\n onError({\n name: nameWidthModule,\n type: ERROR_TYPE.INVALID_COMPONENT,\n message: errorMessage,\n })\n this.setState({ errorMessage, errorType: ERROR_TYPE.INVALID_COMPONENT })\n return\n }\n\n if (!isReactComponent(componentNode)) {\n const errorMessage = 'not a valid React component'\n onError({\n name: nameWidthModule,\n type: ERROR_TYPE.INVALID_COMPONENT,\n message: errorMessage,\n })\n this.setState({ errorMessage, errorType: ERROR_TYPE.INVALID_COMPONENT })\n return\n }\n\n const mountedComponents = getMountedComponents()\n const actions: ComponentActions = {}\n\n if (!mountedComponents.includes(nameWidthModule)) {\n mountedComponents.push(nameWidthModule)\n }\n\n Object\n .getOwnPropertyNames(componentNode)\n .forEach((method) => {\n if (typeof componentNode[method] !== 'function') {\n return\n }\n if (method === '$onMessage') {\n this.unSubscribe = getOnMessage(\n nameWidthModule,\n componentNode[method] as OnMessage,\n )\n return\n }\n if (method === '$i18n') {\n const i18nConfig = (componentNode[method] as I18n)()\n connector.setI18nConfig(nameWidthModule, i18nConfig)\n return\n }\n\n actions[method] = componentNode[method]\n })\n\n connector.setComponentActions(nameWidthModule, actions)\n\n this.ComponentNode = componentNode\n this.setState({ componentReady: true })\n\n if (onMounted) {\n onMounted()\n }\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n }, (e: RequireError) => {\n const dependencies = this.getDependencies()\n window.requirejs.undef(name)\n window.requirejs.config({\n paths: {\n [name]: `${dependencies[name]}#`,\n },\n })\n\n if (this.isUnMounted) {\n return\n }\n\n const [requireModule] = e.requireModules\n\n const errorType = requireModule === name\n ? ERROR_TYPE.LOADING_ERROR\n : ERROR_TYPE.DEPENDENCIES_LOADING_ERROR\n const message = `load \\`${requireModule}\\` error: ${e.message}`\n\n onError({\n name: nameWidthModule,\n type: errorType,\n message,\n })\n this.setState({ errorMessage: message, errorType })\n })\n }\n\n onReload = () => {\n this.setState({\n componentReady: false,\n errorType: undefined,\n errorMessage: '',\n }, () => {\n this.mountComponent()\n })\n }\n\n $postMessage = getPostMessage(nameWidthModule)\n\n $dispatch = getDispatch(nameWidthModule)\n\n $t = getI18n(nameWidthModule)\n\n render() {\n const ErrorNode = connector.getErrorComponent()\n const LoaderNode = connector.getLoaderComponent()\n const { $silent, $componentProps } = this.props\n const {\n componentReady, errorMessage, errorType, componentExist,\n } = this.state\n const store = getUserStore()\n const ComponentNode = this.ComponentNode as RequiredComponent\n\n if (errorType) {\n return !$silent\n ? (\n <ErrorNode\n $type={ERROR_TYPE[errorType]}\n $message={errorMessage}\n $reload={errorType === ERROR_TYPE.INVALID_COMPONENT ? undefined : this.onReload}\n $store={store as Store}\n />\n )\n : null\n }\n\n if (!componentReady) {\n return !$silent && componentExist === false\n ? (<LoaderNode $store={store as Store} />)\n : null\n }\n\n return (\n <ComponentNode\n {...$componentProps}\n $dispatch={this.$dispatch}\n $store={store}\n $postMessage={this.$postMessage}\n $t={this.$t}\n />\n )\n }\n }\n\n (R as ComponentType<any>).displayName = nameWidthModule\n\n return connect(...storeKeys)(R)\n}\n","import { Intl } from '@variousjs/various'\nimport connector from '../connector'\nimport { onError } from '../helper'\nimport { getStore } from '../store'\n\nexport default function (componentName: string) {\n return function (key, params) {\n const i18nConfig = connector.getI18nConfig(componentName)\n\n if (!i18nConfig) {\n onError({\n name: componentName,\n type: 'i18n',\n message: 'config not exist',\n })\n return key\n }\n\n const { localeKey, resources } = i18nConfig\n const locale = getStore(localeKey) as string\n const resource = resources[locale]\n\n if (!resource) {\n onError({\n name: componentName,\n type: 'i18n',\n message: `locale \\`${locale}\\` not exist`,\n })\n return key\n }\n\n if (!resource[key]) {\n onError({\n name: componentName,\n type: 'i18n',\n message: `key \\`${key}\\` not exist`,\n })\n return key\n }\n\n const text = resource[key]\n\n if (!params || Object.prototype.toString.call(params) !== '[object Object]') {\n return text\n }\n\n const args = Object.keys(params)\n\n if (!args.length) {\n return text\n }\n\n return args.reduce((next, arg) => {\n const regex = new RegExp(`{\\\\s*${arg}\\\\s*}`, 'g')\n return next.replace(regex, params[arg].toString())\n }, text)\n } as Intl\n}\n","import React from 'react'\nimport { createComponent as cc } from '@variousjs/various'\nimport componentCreator from './core'\nimport connector from '../connector'\n\nconst createComponent: typeof cc = (name, storeKeys) => {\n const existComponent = connector.getComponent(name)\n if (existComponent) {\n return existComponent\n }\n\n const C = componentCreator(name, storeKeys as string[])\n const component = (props: Record<string, any>) => {\n const { $silent, ...rest } = props || {}\n const nextProps = { $componentProps: rest, $silent }\n return (<C {...nextProps} />)\n }\n component.displayName = 'various-creator'\n connector.setComponent(name, component)\n return component\n}\n\nexport default createComponent\n","import React from 'react'\nimport { createRoot, Root } from 'react-dom/client'\nimport { renderComponent as rc } from '@variousjs/various'\nimport componentCreator from './core'\nimport connector from '../connector'\n\nconst renderComponent: typeof rc = ({\n name,\n url,\n target,\n props,\n module,\n onMounted,\n}) => {\n const nameWidthSub = module ? `${name}.${module}` : name\n\n if (url) {\n // if define url, means replace component\n window.requirejs.undef(name)\n window.requirejs.config({\n paths: {\n [name]: `${url}#`,\n },\n })\n }\n\n const C = componentCreator(nameWidthSub, undefined, onMounted)\n\n let root: Root\n if (connector.getRenderRoot(nameWidthSub)) {\n root = connector.getRenderRoot(nameWidthSub)\n } else {\n root = createRoot(target as Element)\n connector.setRenderRoot(nameWidthSub, root)\n }\n\n const { $silent, ...rest } = props || {}\n const nextProps = { $componentProps: rest, $silent }\n\n root.render(<C {...nextProps} />)\n\n return () => setTimeout(() => {\n root.unmount()\n connector.deleteRenderRoot(nameWidthSub)\n })\n}\n\nexport default renderComponent\n","import React, { Component, ComponentType } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { App, Config } from '@variousjs/various'\nimport { createStore } from './store'\nimport {\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n ROOT,\n MESSAGE_KEY,\n ERROR_TYPE,\n ENV_KEY,\n CONFIG_KEY,\n} from '../config'\nimport connector from './connector'\nimport { onError } from './helper'\nimport { Container as ContainerNode } from './default-component'\nimport { ErrorState, Store } from '../types'\n\nexport { getUserStore as getStore } from './store'\nexport { default as createDispatch } from './component/dispatch'\nexport { getPostMessage as createPostMessage } from './component/message'\n\nexport { default as Nycticorax } from 'nycticorax'\n\nexport * from './component'\nexport { getConfig, getEnv } from './helper'\n\nexport default (config: Config & App<Store>) => {\n const {\n dependencies,\n env,\n root,\n store = {},\n actions = {},\n Loader: LoaderComponent,\n Error: ErrorComponent,\n Container: ContainerComponent = ContainerNode,\n middlewares,\n ...rest\n } = config\n\n if (middlewares) {\n connector.setMiddlewares(middlewares)\n }\n\n connector.setStoreActions(actions)\n\n if (LoaderComponent) {\n connector.setLoaderComponent(LoaderComponent)\n }\n if (ErrorComponent) {\n connector.setErrorComponent(ErrorComponent)\n }\n const ErrorNode = connector.getErrorComponent()\n\n createStore({\n ...store,\n [MOUNTED_COMPONENTS_KEY]: [],\n [ENV_KEY]: (env === 'production' || env === 'development') ? env : 'production',\n [CONFIG_KEY]: rest,\n [DEPENDENCIES_KEY]: dependencies,\n [MESSAGE_KEY]: null,\n })\n\n class R extends Component<{}, ErrorState> {\n state = {\n errorType: undefined,\n errorMessage: '',\n }\n\n componentDidCatch(e: Error) {\n onError({\n name: 'container',\n message: e.message,\n type: ERROR_TYPE.APP_ERROR,\n })\n this.setState({ errorType: ERROR_TYPE.APP_ERROR, errorMessage: e.message })\n }\n\n render() {\n const { errorType, errorMessage } = this.state\n\n if (errorType) {\n return (\n <ErrorNode\n $type={ERROR_TYPE[errorType]}\n $message={errorMessage}\n $store={store as Store}\n />\n )\n }\n\n return (\n <ContainerComponent />\n )\n }\n }\n\n (R as ComponentType).displayName = 'various-container'\n\n createRoot(document.querySelector(root || ROOT) as Element).render(<R />)\n}\n"],"names":["e","self","t","r","d","default","c","s","o","n","i","WeakMap","has","get","Array","isArray","set","Reflect","ownKeys","constructor","Z","this","listeners","reduce","state","forEach","push","filter","emits","trigger","clearTimeout","timer","setTimeout","getStore","emit","length","u","key","newValue","oldValue","onStateChange","onChange","exports","RegExp","source","flags","valueOf","Object","prototype","toString","keys","hasOwnProperty","call","defineProperty","value","enumerable","configurable","writable","__esModule","a","super","subscribe","Component","props","unsubscribe","setState","componentWillUnmount","render","createElement","getOwnPropertyNames","includes","useState","useLayoutEffect","module","__WEBPACK_EXTERNAL_MODULE__650__","__WEBPACK_EXTERNAL_MODULE__974__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","definition","obj","prop","Symbol","toStringTag","createStore","connect","dispatch","Nycticorax","getUserStore","globalStore","store","MOUNTED_COMPONENTS_KEY","MESSAGE_KEY","ENV_KEY","CONFIG_KEY","DEPENDENCIES_KEY","ERROR_TYPE","Loader","React","Error","$type","$message","$reload","type","onClick","Container","loaderComponent","errorComponent","storeActions","componentActions","components","renderRoots","i18nConfigs","middlewares","setMiddlewares","m","getMiddlewares","setI18nConfig","name","config","getI18nConfig","setRenderRoot","root","getRenderRoot","deleteRenderRoot","setComponent","component","getComponent","setComponentActions","actions","deleteComponentActions","getComponentActions","setStoreActions","getStoreActions","setLoaderComponent","getLoaderComponent","setErrorComponent","getErrorComponent","getEnv","getConsolePrefix","consoleWarn","text","window","console","warn","getConfig","onError","args","message","prefix","connector","errorType","errorMessage","error","consoleError","componentName","async","v","method","onDispatch","check","target","Promise","resolve","action","componentAction","getPostMessage","event","next","onMessage","timestamp","Date","_extends","assign","bind","arguments","apply","preloadComponents","names","reject","requirejs","isComponentLoaded","split","specified","contexts","_","defined","getMountedComponents","onComponentMounted","callback","nextName","every","unSubscribe","nameWidthModule","watchKeys","onMounted","storeKeys","symbolModule","R","componentExist","componentReady","getDependencies","componentDidMount","mountComponent","componentDidCatch","SCRIPT_ERROR","dependencies","undef","paths","unMountComponent","ComponentNode","isUnMounted","mountedComponents","item","registry","urlFetched","map","url","loadStart","C","loadEnd","onLoad","duration","beenLoaded","INVALID_COMPONENT","componentNode","isReactComponent","String","getOnMessage","i18nConfig","requireModule","requireModules","LOADING_ERROR","DEPENDENCIES_LOADING_ERROR","onReload","$postMessage","$dispatch","getDispatch","$t","params","localeKey","resources","locale","resource","arg","regex","replace","getI18n","ErrorNode","LoaderNode","$silent","$componentProps","$store","displayName","createComponent","existComponent","componentCreator","rest","nextProps","renderComponent","nameWidthSub","createRoot","unmount","env","LoaderComponent","ErrorComponent","ContainerComponent","ContainerNode","APP_ERROR","document","querySelector"],"sourceRoot":""}
|