@variousjs/various 4.1.1 → 4.1.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/index.d.ts +2 -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:()=>u});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 u{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 u=e[r],c=this.state[r];this.state[r]=i(e[r]),t.push({key:r,newValue:u,oldValue:c})}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:()=>c});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 u 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(u){class c 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(u,t)}}return Object.getOwnPropertyNames(u).forEach((e=>{const t=e;i.includes(e)||(c[t]=u[t])})),c}}}(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 c=u})(),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 V},createDispatch:function(){return L},createModule:function(){return Z},createPostMessage:function(){return k},default:function(){return F},getConfig:function(){return x},getEnv:function(){return N},getMountedComponents:function(){return O},getStore:function(){return p},isModuleLoaded:function(){return R},onComponentMounted:function(){return M},preloadPackages:function(){return S},renderComponent:function(){return K}});var e=r(650),t=r.n(e),n=r(974),o=r(380),i=r.n(o);const{createStore:u,getStore:c,connect:a,emit:l,subscribe:d,dispatch:m}=new(i());function p(){const e=c(),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"),w=()=>t().createElement("div",null,"Loading"),v=({$error:e,$reload:n})=>t().createElement(t().Fragment,null,t().createElement("div",null,`[${e.type}] ${e.message}`),n?t().createElement("button",{type:"button",onClick:n},"Reload"):null),C=()=>t().createElement("div",null,"App Container is not defined"),b=e=>`${e}?${+new Date}`,S=e=>new Promise(((t,n)=>{const o="string"==typeof e?[e]:e;window.requirejs(o,t,n)})),R=e=>{const{name:t}=e;return window.requirejs.specified(t)&&!!window.requirejs.s.contexts._.defined[t]},O=()=>c(h),$=(e,t)=>e.some((e=>e.name===t.name&&e.module===t.module)),M=(e,t)=>{const n=Array.isArray(e)?e:[e];if(n.every((e=>$(O(),e))))return t(),()=>null;const o=d({[h](e){const r=e;n.every((e=>$(r,e)))&&(o(),t())}});return o},j=(e,t)=>{const n=c(E);if(t&&window.requirejs.defined(e))return;let o=b(n[e]);if(t){o=`${t}#${e}`;try{const{registry:n}=window.requirejs.s.contexts._;n[e].error&&(o=b(t))}catch(e){}}window.requirejs.undef(e),window.requirejs.config({paths:{[e]:o}})},A=e=>{const{name:t,module:n}=e;return n?`${t}.${n}`:t},N=()=>c(g),D=e=>[`%c${e}`,"color:white;background:blue;padding:1px 2px"];function P(e,t){const n=A(e);"development"===N()&&window.console.warn(...D(n),t)}function x(){return c(y)}const I=e=>{const t=T.getMiddlewares(),{name:n,module:o,originalError:r}=e;t?.onError?.(e),function(e,t){const n=A(e);"development"===N()&&window.console.error(...D(n),t)}({name:n,module:o},r)};class _ extends Error{constructor(e){super(e.originalError.message),this.type=e.type,this.originalError=e.originalError,this.module=e.module,this.name=e.name}}var T=new class{constructor(){this.loaderComponent=w,this.errorComponent=v,this.storeActions={},this.componentActions={},this.components={},this.renderRoots={},this.i18nConfigs={},this.middlewares={}}setMiddlewares(e){this.middlewares=e}getMiddlewares(){return this.middlewares}setI18nConfig(e,t){const n=A(e);this.i18nConfigs[n]=t}getI18nConfig(e){const t=A(e);return this.i18nConfigs[t]}setRenderRoot(e,t){const n=A(e);this.renderRoots[n]=t}getRenderRoot(e){const t=A(e);return this.renderRoots[t]}deleteRenderRoot(e){const t=A(e);delete this.renderRoots[t]}setComponent(e,t){const n=A(e);this.components[n]=t}getComponent(e){const t=A(e);return this.components[t]}setComponentActions(e,t){const n=A(e);this.componentActions[n]=t}deleteComponentActions(e){const t=A(e);delete this.componentActions[t]}getComponentActions(e){const t=A(e);return this.componentActions[t]}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}},L=e=>async function(t){const n=T.getMiddlewares();let{name:o,module:r,action:s,value:i}=t;if(n?.onDispatch){const t=await n.onDispatch({target:{name:o,module:r},action:s,value:i,trigger:e});if(!1===t)return P(e,"[dispatch] blocked by middleware"),Promise.resolve();!0!==t&&(o=t.target.name,r=t.target.module,s=t.action,i=t.value)}if("app"===o){const t=T.getStoreActions()[s];if(!t){const t=`Action "${s}" is not present`,n=new _({...e,type:"DISPATCH",originalError:new Error(t)});throw I(n),n}return m(t,i,e)}const u=T.getComponentActions({name:o,module:r});if(!u){const t="Component is not ready",n=new _({...e,type:"DISPATCH",originalError:new Error(t)});throw I(n),n}const c=u[s];if(!c){const t=`Action "${s}" is not present`,n=new _({...e,type:"DISPATCH",originalError:new Error(t)});throw I(n),n}return Promise.resolve(c(i,e))};const k=e=>async(t,n)=>{const o=T.getMiddlewares();let r={trigger:e,event:t,value:n};if(o?.onMessage){const t=await o.onMessage(r);if(!1===t)return void P(e,"[message] blocked by middleware");!0!==t&&(r={...r,...t})}l({[f]:{timestamp:+new Date,event:r.event,trigger:e,value:r.value}})};var Z=e=>{const t=c(E),n=T.getMiddlewares(),{name:o,module:r,url:s}=e,i=+new Date;return s&&j(o,s),new Promise(((e,u)=>{if(!s&&!t[o]){const e=new _({name:o,module:r,type:"NOT_DEFINED",originalError:new Error(`Module "${o}" not defined`)});return I(e),void u(e)}window.requirejs([o],(t=>{const s=+new Date;if(n?.onLoad?.({name:o,module:r,loadStart:i,loadEnd:s,beenLoaded:R({name:o,module:r})}),!t){const e=new _({name:o,module:r,type:"INVALID_MODULE",originalError:new Error(`Module "${o}" not content`)});return j(o),I(e),void u(e)}const c="default"in t?t.default:t,a=r?t[r]:c;if(!a&&r){const e=new _({name:o,module:r,type:"SUBMODULE_NOT_DEFINED",originalError:new Error(`Submodule "${r}" not defined`)});return j(o),I(e),void u(e)}e(a)}),(e=>{const[n]=e.requireModules;j(o,s),j(n);let r="LOADING_ERROR";n!==o&&(r="SUBMODULE_LOADING_ERROR"),t[n]||(r="SUBMODULE_NOT_DEFINED"),e.message.includes("https://requirejs.org/docs/errors.html")||(r=n===o?"SCRIPT_ERROR":"SUBMODULE_SCRIPT_ERROR");const i=new _({name:o,module:n===o?void 0:n,type:r,originalError:e});I(i),u(i)}))}))};function U(){return U=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},U.apply(this,arguments)}var q=function(n){const{name:o,module:r,url:s,watchKeys:i,onMounted:u}=n,m=i||Object.keys(c());class g extends e.Component{state={componentExist:!1,componentReady:!1,isError:!1};unSubscribe=()=>null;componentDidMount(){this.setState({componentExist:!!T.getComponent({name:o,module:r})}),this.mountComponent()}componentDidCatch(e){const t=new _({name:o,module:r,type:"SCRIPT_ERROR",originalError:e});I(t),this.error=t,this.setState({isError:!0}),j(o),this.unMountComponent()}componentWillUnmount(){this.error=void 0,this.ComponentNode=null,this.unMountComponent(),this.isUnMounted=!0,this.unSubscribe()}unMountComponent=()=>{let e=O();e=e.filter((e=>e.name!==o||e.module!==r)),l({[h]:e},!0),T.deleteComponentActions({name:o,module:r})};mountComponent=async()=>{try{const t=await Z({name:o,module:r,url:s});if(this.isUnMounted)return;if(e=t,!(e.prototype?.isReactComponent||"function"==typeof e&&String(e).includes("createElement("))){const e=new _({name:o,module:r,originalError:new Error("Not a valid React component"),type:"INVALID_COMPONENT"});throw I(e),e}const n=O(),i={};$(n,{name:o,module:r})||n.push({name:o,module:r}),Object.getOwnPropertyNames(t).forEach((e=>{var n,s;if("function"==typeof t[e])if("$onMessage"!==e)if("$i18n"!==e)i[e]=t[e];else{const n=t[e]();T.setI18nConfig({name:o,module:r},n)}else this.unSubscribe=(n={name:o,module:r},s=t[e],d({[f](e){const{trigger:t,value:o,event:r}=e;n.name===t.name&&n.module===t.module||s({event:r,value:o,trigger:t})}}))})),T.setComponentActions({name:o,module:r},i),this.ComponentNode=t,this.setState({componentReady:!0}),u(),l({[h]:n},!0)}catch(e){const t=e;if(this.isUnMounted)return;this.error=t,this.setState({isError:!0})}var e};onReload=()=>{this.setState({isError:!1,componentReady:!1},(()=>{this.mountComponent()}))};$postMessage=k({name:o,module:r});$dispatch=L({name:o,module:r});$t=function(e){return function(t,n){const o=T.getI18nConfig(e);if(!o)return I(new _({...e,type:"I18N",originalError:new Error("config not exist")})),t;const{localeKey:r,resources:s}=o,i=c(r),u=s[i];if(!u)return I(new _({...e,type:"I18N",originalError:new Error(`locale resource \`${i}\` not exist`)})),t;if(!u[t])return I(new _({...e,type:"I18N",originalError:new Error(`locale key \`${t}\` not exist`)})),t;const a=u[t];if(!n||"[object Object]"!==Object.prototype.toString.call(n))return a;const l=Object.keys(n);return l.length?l.reduce(((e,t)=>{const o=new RegExp(`{\\s*${t}\\s*}`,"g");return e.replace(o,n[t].toString())}),a):a}}({name:o,module:r});render(){const e=T.getErrorComponent(),n=T.getLoaderComponent(),{$silent:s,$componentProps:i}=this.props,{componentReady:u,isError:c,componentExist:a}=this.state,l=p(),d=this.ComponentNode;return c?s?null:t().createElement(e,{$name:o,$module:r,$reload:["NOT_DEFINED"].includes(this.error.type)?void 0:this.onReload,$store:l,$error:this.error}):u?t().createElement(d,U({},i,{$dispatch:this.$dispatch,$store:l,$postMessage:this.$postMessage,$t:this.$t})):s||a?null:t().createElement(n,{$name:o,$module:r,$store:l})}}return g.displayName=A({name:o,module:r}),a(...m)(g)},V=(e,n)=>{const{name:o,module:r,url:s}=e,i=T.getComponent({name:o,module:r});if(i)return i;let u;const c=q({name:o,module:r,url:s,watchKeys:n,onMounted(){T.setComponent({name:o,module:r},u)}});return u=e=>{const{$silent:n,...o}=e||{},r={$componentProps:o,$silent:n};return t().createElement(c,r)},u.displayName="various-creator",u},K=({name:e,module:o,url:r,target:s,props:i,onMounted:u})=>{let c,a=T.getComponent({name:e,module:o});a||(a=q({name:e,module:o,url:r,onMounted(){T.setComponent({name:e,module:o},a),u?.()}})),T.getRenderRoot({name:e,module:o})?c=T.getRenderRoot({name:e,module:o}):(c=(0,n.createRoot)(s),T.setRenderRoot({name:e,module:o},c));const{$silent:l,...d}=i||{},m={$componentProps:d,$silent:l};return c.render(t().createElement(a,m)),()=>setTimeout((()=>{c.unmount(),T.deleteRenderRoot({name:e,module:o})}))},F=o=>{const{dependencies:r,env:s,root:i,store:c={},actions:a={},Loader:l,Error:d,Container:m=C,middlewares:p,...w}=o;p&&T.setMiddlewares(p),T.setStoreActions(a),l&&T.setLoaderComponent(l),d&&T.setErrorComponent(d);const v=T.getErrorComponent();u({...c,[h]:[],[g]:"production"===s||"development"===s?s:"production",[y]:w,[E]:r,[f]:null});class b extends e.Component{state={isError:!1};componentDidCatch(e){const t=new _({name:"app",type:"APP_ERROR",originalError:e});I(t),this.error=t,this.setState({isError:!0})}render(){const{isError:e}=this.state;return e?t().createElement(v,{$name:"app",$error:this.error,$store:c}):t().createElement(m,null)}}b.displayName="various-app",(0,n.createRoot)(document.querySelector(i||"#root")).render(t().createElement(b,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:()=>u});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 u{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 u=e[r],c=this.state[r];this.state[r]=i(e[r]),t.push({key:r,newValue:u,oldValue:c})}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:()=>c});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 u 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(u){class c 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(u,t)}}return Object.getOwnPropertyNames(u).forEach((e=>{const t=e;i.includes(e)||(c[t]=u[t])})),c}}}(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 c=u})(),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 V},createDispatch:function(){return L},createModule:function(){return Z},createPostMessage:function(){return k},default:function(){return F},getConfig:function(){return x},getEnv:function(){return A},getMountedComponents:function(){return O},getStore:function(){return p},isModuleLoaded:function(){return R},onComponentMounted:function(){return M},preloadPackages:function(){return S},renderComponent:function(){return K}});var e=r(650),t=r.n(e),n=r(974),o=r(380),i=r.n(o);const{createStore:u,getStore:c,connect:a,emit:l,subscribe:d,dispatch:m}=new(i());function p(){const e=c(),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"),w=()=>t().createElement("div",null,"Loading"),v=({$error:e,$reload:n})=>t().createElement(t().Fragment,null,t().createElement("div",null,`[${e.type}] ${e.message}`),n?t().createElement("button",{type:"button",onClick:n},"Reload"):null),C=()=>t().createElement("div",null,"App Container is not defined"),b=e=>`${e}?${+new Date}`,S=e=>new Promise(((t,n)=>{const o="string"==typeof e?[e]:e;window.requirejs(o,t,n)})),R=e=>{const{name:t}=e;return window.requirejs.specified(t)&&!!window.requirejs.s.contexts._.defined[t]},O=()=>c(h),$=(e,t)=>e.some((e=>e.name===t.name&&e.module===t.module)),M=(e,t)=>{const n=Array.isArray(e)?e:[e];if(n.every((e=>$(O(),e))))return t(),()=>null;const o=d({[h](e){const r=e;n.every((e=>$(r,e)))&&(o(),t())}});return o},N=(e,t)=>{const n=c(E);if(t&&window.requirejs.defined(e))return;let o=b(n[e]);if(t){o=`${t}#${e}`;try{const{registry:n}=window.requirejs.s.contexts._;n[e].error&&(o=b(t))}catch(e){}}window.requirejs.undef(e),window.requirejs.config({paths:{[e]:o}})},j=e=>{const{name:t,module:n}=e;return n?`${t}.${n}`:t},A=()=>c(g),D=e=>[`%c${e}`,"color:white;background:blue;padding:1px 2px"];function P(e,t){const n=j(e);"development"===A()&&window.console.warn(...D(n),t)}function x(){return c(y)}const I=e=>{const t=T.getMiddlewares(),{name:n,module:o,originalError:r}=e;t?.onError?.(e),function(e,t){const n=j(e);"development"===A()&&window.console.error(...D(n),t)}({name:n,module:o},r)};class _ extends Error{constructor(e){super(e.originalError.message),this.type=e.type,this.originalError=e.originalError,this.module=e.module,this.name=e.name}}var T=new class{constructor(){this.loaderComponent=w,this.errorComponent=v,this.storeActions={},this.componentActions={},this.components={},this.renderRoots={},this.i18nConfigs={},this.middlewares={}}setMiddlewares(e){this.middlewares=e}getMiddlewares(){return this.middlewares}setI18nConfig(e,t){const n=j(e);this.i18nConfigs[n]=t}getI18nConfig(e){const t=j(e);return this.i18nConfigs[t]}setRenderRoot(e,t){const n=j(e);this.renderRoots[n]=t}getRenderRoot(e){const t=j(e);return this.renderRoots[t]}deleteRenderRoot(e){const t=j(e);delete this.renderRoots[t]}setComponent(e,t){const n=j(e);this.components[n]=t}getComponent(e){const t=j(e);return this.components[t]}setComponentActions(e,t){const n=j(e);this.componentActions[n]=t}deleteComponentActions(e){const t=j(e);delete this.componentActions[t]}getComponentActions(e){const t=j(e);return this.componentActions[t]}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}},L=e=>async function(t){const n=T.getMiddlewares();let{name:o,module:r,action:s,value:i}=t;if(n?.onDispatch){const t=await n.onDispatch({target:{name:o,module:r},action:s,value:i,trigger:e});if(!1===t)return P(e,"[dispatch] blocked by middleware"),Promise.resolve();!0!==t&&(o=t.target.name,r=t.target.module,s=t.action,i=t.value)}if("app"===o){const t=T.getStoreActions()[s];if(!t){const t=`Action "${s}" is not present`,n=new _({...e,type:"DISPATCH",originalError:new Error(t)});throw I(n),n}return m(t,i,e)}const u=T.getComponentActions({name:o,module:r});if(!u){const t="Component is not ready",n=new _({...e,type:"DISPATCH",originalError:new Error(t)});throw I(n),n}const c=u[s];if(!c){const t=`Action "${s}" is not present`,n=new _({...e,type:"DISPATCH",originalError:new Error(t)});throw I(n),n}return Promise.resolve(c(i,e))};const k=e=>async(t,n)=>{const o=T.getMiddlewares();let r={trigger:e,event:t,value:n};if(o?.onMessage){const t=await o.onMessage(r);if(!1===t)return void P(e,"[message] blocked by middleware");!0!==t&&(r={...r,...t})}l({[f]:{timestamp:+new Date,event:r.event,trigger:e,value:r.value}})};var Z=e=>{const t=c(E),n=T.getMiddlewares(),{name:o,module:r,url:s}=e,i=+new Date;return s&&N(o,s),new Promise(((e,u)=>{if(!s&&!t[o]){const e=new _({name:o,module:r,type:"NOT_DEFINED",originalError:new Error(`Module "${o}" not defined`)});return I(e),void u(e)}window.requirejs([o],(t=>{const s=+new Date;if(n?.onLoad?.({name:o,module:r,loadStart:i,loadEnd:s,beenLoaded:R({name:o,module:r})}),!t){const e=new _({name:o,module:r,type:"INVALID_MODULE",originalError:new Error(`Module "${o}" not content`)});return N(o),I(e),void u(e)}const c="default"in t?t.default:t,a=r?t[r]:c;if(!a&&r){const e=new _({name:o,module:r,type:"SUBMODULE_NOT_DEFINED",originalError:new Error(`Submodule "${r}" not defined`)});return N(o),I(e),void u(e)}e(a)}),(e=>{const[n]=e.requireModules;N(o,s),N(n);let r="LOADING_ERROR";n!==o&&(r="SUBMODULE_LOADING_ERROR"),t[n]||(r="SUBMODULE_NOT_DEFINED"),e.message.includes("https://requirejs.org/docs/errors.html")||(r=n===o?"SCRIPT_ERROR":"SUBMODULE_SCRIPT_ERROR");const i=new _({name:o,module:n===o?void 0:n,type:r,originalError:e});I(i),u(i)}))}))};function U(){return U=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},U.apply(this,arguments)}var q=function(n){const{name:o,module:r,url:s,watchKeys:i,onMounted:u}=n,m=i||Object.keys(c());class g extends e.Component{state={componentExist:!1,componentReady:!1,isError:!1};unSubscribe=()=>null;componentDidMount(){this.setState({componentExist:!!T.getComponent({name:o,module:r})}),this.mountComponent()}componentDidCatch(e){const t=new _({name:o,module:r,type:"SCRIPT_ERROR",originalError:e});I(t),this.error=t,this.setState({isError:!0}),N(o),this.unMountComponent()}componentWillUnmount(){this.error=void 0,this.ComponentNode=null,this.unMountComponent(),this.isUnMounted=!0,this.unSubscribe()}unMountComponent=()=>{let e=O();e=e.filter((e=>e.name!==o||e.module!==r)),l({[h]:e},!0),T.deleteComponentActions({name:o,module:r})};mountComponent=async()=>{try{const t=await Z({name:o,module:r,url:s});if(this.isUnMounted)return;if(e=t,!(e.prototype?.isReactComponent||"function"==typeof e&&String(e).includes("createElement("))){const e=new _({name:o,module:r,originalError:new Error("Not a valid React component"),type:"INVALID_COMPONENT"});throw I(e),e}const n=O(),i={};$(n,{name:o,module:r})||n.push({name:o,module:r}),Object.getOwnPropertyNames(t).forEach((e=>{var n,s;if("function"==typeof t[e])if("$onMessage"!==e)if("$i18n"!==e)i[e]=t[e];else{const n=t[e]();T.setI18nConfig({name:o,module:r},n)}else this.unSubscribe=(n={name:o,module:r},s=t[e],d({[f](e){const{trigger:t,value:o,event:r}=e;n.name===t.name&&n.module===t.module||s({event:r,value:o,trigger:t})}}))})),T.setComponentActions({name:o,module:r},i),this.ComponentNode=t,this.setState({componentReady:!0}),u(),l({[h]:n},!0)}catch(e){const t=e;if(this.isUnMounted)return;this.error=t,this.setState({isError:!0})}var e};onReload=()=>{this.setState({isError:!1,componentReady:!1},(()=>{this.mountComponent()}))};$postMessage=k({name:o,module:r});$dispatch=L({name:o,module:r});$t=function(e){return function(t,n){const o=T.getI18nConfig(e);if(!o)return I(new _({...e,type:"I18N",originalError:new Error("config not exist")})),t;const{localeKey:r,resources:s}=o,i=c(r),u=s[i];if(!u)return I(new _({...e,type:"I18N",originalError:new Error(`locale resource \`${i}\` not exist`)})),t;if(!u[t])return I(new _({...e,type:"I18N",originalError:new Error(`locale key \`${t}\` not exist`)})),t;const a=u[t];if(!n||"[object Object]"!==Object.prototype.toString.call(n))return a;const l=Object.keys(n);return l.length?l.reduce(((e,t)=>{const o=new RegExp(`{\\s*${t}\\s*}`,"g");return e.replace(o,n[t].toString())}),a):a}}({name:o,module:r});render(){const e=T.getErrorComponent(),n=T.getLoaderComponent(),{$silent:s,$componentProps:i}=this.props,{componentReady:u,isError:c,componentExist:a}=this.state,l=p(),d=this.ComponentNode;return c?s?null:t().createElement(e,{$name:o,$module:r,$reload:["NOT_DEFINED"].includes(this.error.type)?void 0:this.onReload,$store:l,$error:this.error}):u?t().createElement(d,U({},i,{$dispatch:this.$dispatch,$store:l,$postMessage:this.$postMessage,$t:this.$t})):s||a?null:t().createElement(n,{$name:o,$module:r,$store:l})}}return g.displayName=j({name:o,module:r}),a(...m)(g)},V=(e,n)=>{const{name:o,module:r,url:s}=e,i=T.getComponent({name:o,module:r});if(i)return i;let u;const c=q({name:o,module:r,url:s,watchKeys:n,onMounted(){T.setComponent({name:o,module:r},u)}});return u=e=>{const{$silent:n,...o}=e||{},r={$componentProps:o,$silent:n};return t().createElement(c,r)},u.displayName="various-creator",u},K=({name:e,module:o,url:r,target:s,props:i,renderNode:u,onMounted:c})=>{let a,l=T.getComponent({name:e,module:o});l||(l=q({name:e,module:o,url:r,onMounted(){T.setComponent({name:e,module:o},l),c?.()}})),T.getRenderRoot({name:e,module:o})?a=T.getRenderRoot({name:e,module:o}):(a=(0,n.createRoot)(s),T.setRenderRoot({name:e,module:o},a));const{$silent:d,...m}=i||{},p={$componentProps:m,$silent:d},h=t().createElement(l,p);return a.render(u?u(h):h),()=>setTimeout((()=>{a.unmount(),T.deleteRenderRoot({name:e,module:o})}))},F=o=>{const{dependencies:r,env:s,root:i,store:c={},actions:a={},Loader:l,Error:d,Container:m=C,middlewares:p,...w}=o;p&&T.setMiddlewares(p),T.setStoreActions(a),l&&T.setLoaderComponent(l),d&&T.setErrorComponent(d);const v=T.getErrorComponent();u({...c,[h]:[],[g]:"production"===s||"development"===s?s:"production",[y]:w,[E]:r,[f]:null});class b extends e.Component{state={isError:!1};componentDidCatch(e){const t=new _({name:"app",type:"APP_ERROR",originalError:e});I(t),this.error=t,this.setState({isError:!0})}render(){const{isError:e}=this.state;return e?t().createElement(v,{$name:"app",$error:this.error,$store:c}):t().createElement(m,null)}}b.displayName="various-app",(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/helper.ts","webpack://@variousjs/various/./src/core/connector.ts","webpack://@variousjs/various/./src/core/component/dispatch.ts","webpack://@variousjs/various/./src/core/component/message.ts","webpack://@variousjs/various/./src/core/create-module.ts","webpack://@variousjs/various/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@variousjs/various/./src/core/component/index.tsx","webpack://@variousjs/various/./src/core/component/i18n.ts","webpack://@variousjs/various/./src/core/create-component.tsx","webpack://@variousjs/various/./src/core/render-component.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 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> = ({ $error, $reload }) => (\n <>\n <div>{`[${$error.type}] ${$error.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 {\n onComponentMounted as ocm,\n isModuleLoaded as im,\n preloadPackages as pp,\n VariousError as ve,\n ErrorType as et,\n ModuleDefined,\n} from '@variousjs/various'\nimport { getStore, subscribe } from './store'\nimport connector from './connector'\nimport {\n ENV_KEY,\n CONFIG_KEY,\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n} from '../config'\nimport { RequiredComponent } from '../types'\n\nconst getUrlHash = (url: string) => `${url}?${+new Date()}`\n\nexport const preloadPackages: typeof pp = (name) => new Promise<void>((resolve, reject) => {\n const names = typeof name === 'string' ? [name] : name\n window.requirejs(names, resolve, reject)\n})\n\nexport const isModuleLoaded: typeof im = (moduleDefined) => {\n const { name } = moduleDefined\n return window.requirejs.specified(name)\n && !!window.requirejs.s.contexts._.defined[name]\n}\n\nexport const getMountedComponents = () => getStore(MOUNTED_COMPONENTS_KEY)\n\nexport const hasModule = (modules: ModuleDefined[], module: ModuleDefined) => modules\n .some((c) => c.name === module.name && c.module === module.module)\n\nexport const onComponentMounted: typeof ocm = (module, callback) => {\n const modules = Array.isArray(module) ? module : [module]\n\n if (modules.every((m) => hasModule(getMountedComponents(), m))) {\n callback()\n return () => null\n }\n\n const unSubscribe = subscribe({\n [MOUNTED_COMPONENTS_KEY](value) {\n const mountedModules = value as ModuleDefined[]\n if (modules.every((n) => hasModule(mountedModules, n))) {\n unSubscribe()\n callback()\n }\n },\n })\n\n return unSubscribe\n}\n\nexport const resetModuleConfig = (name: string, url?: string) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n\n // ignore multiple custom module url\n if (url && window.requirejs.defined(name)) {\n return\n }\n\n let path = getUrlHash(dependencies[name])\n\n // custom module url, but module loaded error\n if (url) {\n path = `${url}#${name}`\n\n try {\n const { registry } = window.requirejs.s.contexts._\n /* istanbul ignore else */\n if (registry[name].error) {\n path = getUrlHash(url)\n }\n } catch (e) {\n // ignore\n }\n }\n\n window.requirejs.undef(name)\n window.requirejs.config({\n paths: { [name]: path },\n })\n}\nexport const getNameWithModule = (moduleDefined: ModuleDefined) => {\n const { name, module } = moduleDefined\n return module ? `${name}.${module}` : name\n}\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(moduleDefined: ModuleDefined, e: Error) {\n const nameWithModule = getNameWithModule(moduleDefined)\n if (getEnv() === 'development') {\n window.console.error(...getConsolePrefix(nameWithModule), e)\n }\n}\n\nexport function consoleWarn(moduleDefined: ModuleDefined, text: string) {\n const nameWithModule = getNameWithModule(moduleDefined)\n if (getEnv() === 'development') {\n window.console.warn(...getConsolePrefix(nameWithModule), text)\n }\n}\n\nexport function getConfig<C extends object = {}>() {\n return getStore(CONFIG_KEY) as C\n}\n\nexport const onError = (e: VariousError) => {\n const middlewares = connector.getMiddlewares()\n const { name, module, originalError } = e\n\n middlewares?.onError?.(e)\n consoleError({ name, module }, originalError)\n}\n\nexport const isReactComponent = (component: RequiredComponent) => (\n !!component.prototype?.isReactComponent) || (\n typeof component === 'function'\n && String(component).includes('createElement(')\n)\n\nexport class VariousError extends Error implements ve {\n type: et\n\n originalError: Error\n\n module?: string\n\n name: string\n\n constructor(data: {\n name: string,\n module?: string,\n type: et,\n originalError: Error,\n }) {\n super(data.originalError.message)\n this.type = data.type\n this.originalError = data.originalError\n this.module = data.module\n this.name = data.name\n }\n}\n","import { ComponentType } from 'react'\nimport { Root } from 'react-dom/client'\nimport {\n LoaderNode,\n ErrorNode,\n I18n,\n App,\n ModuleDefined,\n} from '@variousjs/various'\nimport { Loader, Error } from './default-component'\nimport { PublicActions, Store, Actions } from '../types'\nimport { getNameWithModule } from './helper'\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, PublicActions>\n\n private components: Record<string, ComponentType<any>>\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(moduleDefined: ModuleDefined, config: ReturnType<I18n>) {\n const name = getNameWithModule(moduleDefined)\n this.i18nConfigs[name] = config\n }\n\n getI18nConfig(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n return this.i18nConfigs[name]\n }\n\n setRenderRoot(moduleDefined: ModuleDefined, root: Root) {\n const name = getNameWithModule(moduleDefined)\n this.renderRoots[name] = root\n }\n\n getRenderRoot(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n return this.renderRoots[name]\n }\n\n deleteRenderRoot(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n delete this.renderRoots[name]\n }\n\n setComponent(moduleDefined: ModuleDefined, component: ComponentType) {\n const name = getNameWithModule(moduleDefined)\n this.components[name] = component\n }\n\n getComponent(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n return this.components[name]\n }\n\n setComponentActions(moduleDefined: ModuleDefined, actions: PublicActions) {\n const name = getNameWithModule(moduleDefined)\n this.componentActions[name] = actions\n }\n\n deleteComponentActions(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n delete this.componentActions[name]\n }\n\n getComponentActions(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\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 { createDispatch as cd } from '@variousjs/various'\nimport connector from '../connector'\nimport { dispatch } from '../store'\nimport { onError, consoleWarn, VariousError } from '../helper'\n\nconst createDispatch: typeof cd = (moduleDefined) => async function (params) {\n const middlewares = connector.getMiddlewares()\n\n let {\n name,\n module,\n action,\n value,\n } = params\n\n if (middlewares?.onDispatch) {\n const check = await middlewares.onDispatch({\n target: { name, module },\n action,\n value,\n trigger: moduleDefined,\n })\n if (check === false) {\n consoleWarn(moduleDefined, '[dispatch] blocked by middleware')\n return Promise.resolve()\n }\n if (check !== true) {\n name = check.target.name\n module = check.target.module\n action = check.action\n value = check.value\n }\n }\n\n if (name === 'app') {\n const storeActions = connector.getStoreActions()\n const storeAction = storeActions[action]\n if (!storeAction) {\n const errorMessage = `Action \"${action}\" is not present`\n const error = new VariousError({\n ...moduleDefined,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n return dispatch(storeAction, value, moduleDefined)\n }\n\n const componentActions = connector.getComponentActions({ name, module })\n\n if (!componentActions) {\n const errorMessage = 'Component is not ready'\n const error = new VariousError({\n ...moduleDefined,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n\n const componentAction = componentActions[action]\n\n if (!componentAction) {\n const errorMessage = `Action \"${action}\" is not present`\n const error = new VariousError({\n ...moduleDefined,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n\n return Promise.resolve(componentAction(value, moduleDefined))\n}\n\nexport default createDispatch\n","import { ModuleDefined, OnMessage, 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 = (moduleDefined) => async (event, value) => {\n const middlewares = connector.getMiddlewares()\n let next = { trigger: moduleDefined, event, value }\n\n if (middlewares?.onMessage) {\n const check = await middlewares.onMessage(next)\n\n if (check === false) {\n consoleWarn(moduleDefined, '[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 event: next.event,\n trigger: moduleDefined,\n value: next.value,\n },\n })\n}\n\nexport const getOnMessage = (moduleDefined: ModuleDefined, onMessage: OnMessage) => subscribe({\n [MESSAGE_KEY](v) {\n const { trigger, value, event } = v as Parameters<OnMessage>[0]\n if (moduleDefined.name !== trigger.name || moduleDefined.module !== trigger.module) {\n onMessage({ event, value, trigger })\n }\n },\n})\n","import { createModule as cm } from '@variousjs/various'\nimport { RequireError, RequiredComponent } from '../types'\nimport { DEPENDENCIES_KEY } from '../config'\nimport { getStore } from './store'\nimport connector from './connector'\nimport {\n isModuleLoaded,\n resetModuleConfig,\n VariousError,\n onError,\n} from './helper'\n\nconst createModule: typeof cm = (config) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n const middlewares = connector.getMiddlewares()\n const { name, module, url } = config\n const loadStart = +new Date()\n\n if (url) {\n resetModuleConfig(name, url)\n }\n\n return new Promise<any>((resolve, reject) => {\n if (!url && !dependencies[name]) {\n const error = new VariousError({\n name,\n module,\n type: 'NOT_DEFINED',\n originalError: new Error(`Module \"${name}\" not defined`),\n })\n\n onError(error)\n reject(error)\n return\n }\n\n window.requirejs([name], (C: RequiredComponent) => {\n const loadEnd = +new Date()\n\n middlewares?.onLoad?.({\n name,\n module,\n loadStart,\n loadEnd,\n beenLoaded: isModuleLoaded({ name, module }),\n })\n\n if (!C) {\n const error = new VariousError({\n name,\n module,\n type: 'INVALID_MODULE',\n originalError: new Error(`Module \"${name}\" not content`),\n })\n\n resetModuleConfig(name)\n onError(error)\n reject(error)\n return\n }\n\n const defaultModule = 'default' in C ? C.default : C\n const actualModule = !module ? defaultModule : C[module]\n\n if (!actualModule && module) {\n const error = new VariousError({\n name,\n module,\n type: 'SUBMODULE_NOT_DEFINED',\n originalError: new Error(`Submodule \"${module}\" not defined`),\n })\n\n resetModuleConfig(name)\n onError(error)\n reject(error)\n return\n }\n\n resolve(actualModule)\n }, (e: RequireError) => {\n const [requireModule] = e.requireModules\n\n resetModuleConfig(name, url)\n resetModuleConfig(requireModule)\n\n let errorType: VariousError['type'] = 'LOADING_ERROR'\n\n if (requireModule !== name) {\n errorType = 'SUBMODULE_LOADING_ERROR'\n }\n\n if (!dependencies[requireModule]) {\n errorType = 'SUBMODULE_NOT_DEFINED'\n }\n\n if (!e.message.includes('https://requirejs.org/docs/errors.html')) {\n errorType = requireModule === name ? 'SCRIPT_ERROR' : 'SUBMODULE_SCRIPT_ERROR'\n }\n\n const error = new VariousError({\n name,\n module: requireModule === name ? undefined : requireModule,\n type: errorType,\n originalError: e,\n })\n\n onError(error)\n reject(error)\n })\n })\n}\n\nexport default createModule\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 React, { Component, ComponentType } from 'react'\nimport { I18n, OnMessage, VariousError as ve } from '@variousjs/various'\nimport {\n isReactComponent,\n onError,\n getMountedComponents,\n resetModuleConfig,\n VariousError,\n hasModule,\n getNameWithModule,\n} from '../helper'\nimport {\n connect,\n getStore,\n emit,\n getUserStore,\n} from '../store'\nimport { MOUNTED_COMPONENTS_KEY } from '../../config'\nimport connector from '../connector'\nimport { getPostMessage, getOnMessage } from './message'\nimport getDispatch from './dispatch'\nimport getI18n from './i18n'\nimport createModule from '../create-module'\nimport {\n CreateComponentState,\n CreateComponentProps,\n RequiredComponent,\n PublicActions,\n Store,\n} from '../../types'\n\nfunction createReactComponent<P extends object>(config: {\n name: string,\n module?: string,\n url?: string,\n watchKeys?: string[],\n onMounted: () => void,\n}) {\n const {\n name,\n module,\n url,\n watchKeys,\n onMounted,\n } = config\n const storeKeys = (watchKeys || Object.keys(getStore()))\n\n class R extends Component<\n CreateComponentProps<P>,\n CreateComponentState\n > {\n state = {\n componentExist: false,\n componentReady: false,\n isError: false,\n }\n\n private error?: ve\n\n private ComponentNode: RequiredComponent | null\n\n private isUnMounted?: boolean\n\n private unSubscribe = () => null as unknown\n\n componentDidMount() {\n this.setState({ componentExist: !!connector.getComponent({ name, module }) })\n this.mountComponent()\n }\n\n componentDidCatch(e: Error) {\n const error = new VariousError({\n name,\n module,\n type: 'SCRIPT_ERROR',\n originalError: e,\n })\n\n onError(error)\n\n this.error = error\n this.setState({ isError: true })\n resetModuleConfig(name)\n this.unMountComponent()\n }\n\n componentWillUnmount() {\n this.error = undefined\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\n .filter((item) => item.name !== name || item.module !== module)\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n connector.deleteComponentActions({ name, module })\n }\n\n mountComponent = async () => {\n try {\n const componentNode = await createModule<RequiredComponent>({ name, module, url })\n\n if (this.isUnMounted) {\n return\n }\n\n if (!isReactComponent(componentNode)) {\n const error = new VariousError({\n name,\n module,\n originalError: new Error('Not a valid React component'),\n type: 'INVALID_COMPONENT',\n })\n\n onError(error)\n throw error\n }\n\n const mountedComponents = getMountedComponents()\n const actions: PublicActions = {}\n\n if (!hasModule(mountedComponents, { name, module })) {\n mountedComponents.push({ name, module })\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 { name, module },\n componentNode[method] as OnMessage,\n )\n return\n }\n if (method === '$i18n') {\n const i18nConfig = (componentNode[method] as I18n)()\n connector.setI18nConfig({ name, module }, i18nConfig)\n return\n }\n\n actions[method] = componentNode[method]\n })\n\n connector.setComponentActions({ name, module }, actions)\n\n this.ComponentNode = componentNode\n this.setState({ componentReady: true })\n\n onMounted()\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n } catch (e) {\n const error = e as VariousError\n\n if (this.isUnMounted) {\n return\n }\n\n this.error = error\n this.setState({ isError: true })\n }\n }\n\n onReload = () => {\n this.setState({\n isError: false,\n componentReady: false,\n }, () => {\n this.mountComponent()\n })\n }\n\n $postMessage = getPostMessage({ name, module })\n\n $dispatch = getDispatch({ name, module })\n\n $t = getI18n({ name, module })\n\n render() {\n const ErrorNode = connector.getErrorComponent()\n const LoaderNode = connector.getLoaderComponent()\n const { $silent, $componentProps } = this.props\n const {\n componentReady, isError, componentExist,\n } = this.state\n const store = getUserStore()\n const ComponentNode = this.ComponentNode as RequiredComponent\n\n if (isError) {\n return !$silent\n ? (\n <ErrorNode\n $name={name}\n $module={module}\n $reload={[\n 'NOT_DEFINED',\n ].includes(this.error!.type) ? undefined : this.onReload}\n $store={store as Store}\n $error={this.error!}\n />\n )\n : null\n }\n\n if (!componentReady) {\n if ($silent || componentExist) {\n return null\n }\n\n return (\n <LoaderNode\n $name={name}\n $module={module}\n $store={store as Store}\n />\n )\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 = getNameWithModule({ name, module })\n\n return connect(...storeKeys)(R)\n}\n\nexport default createReactComponent\n","import { Intl, ModuleDefined } from '@variousjs/various'\nimport connector from '../connector'\nimport { VariousError, onError } from '../helper'\nimport { getStore } from '../store'\n\nexport default function (moduleDefined: ModuleDefined) {\n return function (key, params) {\n const i18nConfig = connector.getI18nConfig(moduleDefined)\n\n if (!i18nConfig) {\n onError(new VariousError({\n ...moduleDefined,\n type: 'I18N',\n originalError: new Error('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(new VariousError({\n ...moduleDefined,\n type: 'I18N',\n originalError: new Error(`locale resource \\`${locale}\\` not exist`),\n }))\n return key\n }\n\n if (!resource[key]) {\n onError(new VariousError({\n ...moduleDefined,\n type: 'I18N',\n originalError: new Error(`locale 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, { ComponentType } from 'react'\nimport { createComponent as cc } from '@variousjs/various'\nimport createReactComponent from './component'\nimport connector from './connector'\n\nconst createComponent: typeof cc<any, any> = (config, storeKeys) => {\n const { name, module, url } = config\n\n const existComponent = connector.getComponent({ name, module })\n if (existComponent) {\n return existComponent\n }\n\n let component: ComponentType<any>\n\n const C = createReactComponent({\n name,\n module,\n url,\n watchKeys: storeKeys as string[],\n onMounted() {\n connector.setComponent({ name, module }, component)\n },\n })\n\n component = (props: any) => {\n const { $silent, ...rest } = props || {}\n const nextProps = { $componentProps: rest, $silent }\n return (<C {...nextProps} />)\n }\n\n component.displayName = 'various-creator'\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 './component'\nimport connector from './connector'\n\nconst renderComponent: typeof rc = ({\n name,\n module,\n url,\n target,\n props,\n onMounted,\n}) => {\n let C = connector.getComponent({ name, module })\n if (!C) {\n C = componentCreator({\n name,\n module,\n url,\n onMounted() {\n connector.setComponent({ name, module }, C)\n onMounted?.()\n },\n })\n }\n\n let root: Root\n if (connector.getRenderRoot({ name, module })) {\n root = connector.getRenderRoot({ name, module })\n } else {\n root = createRoot(target as Element)\n connector.setRenderRoot({ name, module }, 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({ name, module })\n })\n}\n\nexport default renderComponent\n","import React, { Component, ComponentType } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { App, Config, VariousError as ve } from '@variousjs/various'\nimport { createStore } from './store'\nimport {\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n ROOT,\n MESSAGE_KEY,\n ENV_KEY,\n CONFIG_KEY,\n} from '../config'\nimport connector from './connector'\nimport { onError, VariousError } from './helper'\nimport { Container as ContainerNode } from './default-component'\nimport { Store } from '../types'\n\nexport { default as Nycticorax } from 'nycticorax'\n\nexport { getUserStore as getStore } from './store'\nexport { default as createDispatch } from './component/dispatch'\nexport { getPostMessage as createPostMessage } from './component/message'\n\nexport {\n getConfig,\n getEnv,\n preloadPackages,\n isModuleLoaded,\n getMountedComponents,\n onComponentMounted,\n} from './helper'\n\nexport { default as createModule } from './create-module'\nexport { default as createComponent } from './create-component'\nexport { default as renderComponent } from './render-component'\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<{}, { isError: boolean }> {\n private error?: ve\n\n state = {\n isError: false,\n }\n\n componentDidCatch(e: Error) {\n const error = new VariousError({\n name: 'app',\n type: 'APP_ERROR',\n originalError: e,\n })\n onError(error)\n this.error = error\n this.setState({ isError: true })\n }\n\n render() {\n const { isError } = this.state\n\n if (isError) {\n return (\n <ErrorNode\n $name=\"app\"\n $error={this.error!}\n $store={store as Store}\n />\n )\n }\n\n return (\n <ContainerComponent />\n )\n }\n }\n\n (R as ComponentType).displayName = 'various-app'\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","Loader","React","Error","$error","$reload","type","message","onClick","Container","getUrlHash","url","Date","preloadPackages","name","Promise","resolve","reject","names","window","requirejs","isModuleLoaded","moduleDefined","specified","contexts","_","defined","getMountedComponents","hasModule","modules","some","onComponentMounted","callback","every","m","unSubscribe","mountedModules","resetModuleConfig","dependencies","path","registry","error","undef","config","paths","getNameWithModule","getEnv","getConsolePrefix","consoleWarn","text","nameWithModule","console","warn","getConfig","onError","middlewares","connector","getMiddlewares","originalError","consoleError","VariousError","data","loaderComponent","errorComponent","storeActions","componentActions","components","renderRoots","i18nConfigs","setMiddlewares","setI18nConfig","getI18nConfig","setRenderRoot","root","getRenderRoot","deleteRenderRoot","setComponent","component","getComponent","setComponentActions","actions","deleteComponentActions","getComponentActions","setStoreActions","getStoreActions","setLoaderComponent","getLoaderComponent","setErrorComponent","getErrorComponent","async","params","action","onDispatch","check","target","storeAction","errorMessage","componentAction","getPostMessage","event","next","onMessage","timestamp","loadStart","C","loadEnd","onLoad","beenLoaded","defaultModule","actualModule","requireModule","requireModules","errorType","_extends","assign","bind","arguments","apply","watchKeys","onMounted","storeKeys","R","componentExist","componentReady","isError","componentDidMount","mountComponent","componentDidCatch","unMountComponent","ComponentNode","isUnMounted","mountedComponents","item","componentNode","createModule","isReactComponent","String","method","getOnMessage","i18nConfig","v","onReload","$postMessage","$dispatch","getDispatch","$t","localeKey","resources","locale","resource","args","arg","regex","replace","getI18n","ErrorNode","LoaderNode","$silent","$componentProps","$name","$module","$store","displayName","createComponent","existComponent","createReactComponent","rest","nextProps","renderComponent","componentCreator","createRoot","unmount","env","LoaderComponent","ErrorComponent","ContainerComponent","ContainerNode","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/helper.ts","webpack://@variousjs/various/./src/core/connector.ts","webpack://@variousjs/various/./src/core/component/dispatch.ts","webpack://@variousjs/various/./src/core/component/message.ts","webpack://@variousjs/various/./src/core/create-module.ts","webpack://@variousjs/various/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@variousjs/various/./src/core/component/index.tsx","webpack://@variousjs/various/./src/core/component/i18n.ts","webpack://@variousjs/various/./src/core/create-component.tsx","webpack://@variousjs/various/./src/core/render-component.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 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> = ({ $error, $reload }) => (\n <>\n <div>{`[${$error.type}] ${$error.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 {\n onComponentMounted as ocm,\n isModuleLoaded as im,\n preloadPackages as pp,\n VariousError as ve,\n ErrorType as et,\n ModuleDefined,\n} from '@variousjs/various'\nimport { getStore, subscribe } from './store'\nimport connector from './connector'\nimport {\n ENV_KEY,\n CONFIG_KEY,\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n} from '../config'\nimport { RequiredComponent } from '../types'\n\nconst getUrlHash = (url: string) => `${url}?${+new Date()}`\n\nexport const preloadPackages: typeof pp = (name) => new Promise<void>((resolve, reject) => {\n const names = typeof name === 'string' ? [name] : name\n window.requirejs(names, resolve, reject)\n})\n\nexport const isModuleLoaded: typeof im = (moduleDefined) => {\n const { name } = moduleDefined\n return window.requirejs.specified(name)\n && !!window.requirejs.s.contexts._.defined[name]\n}\n\nexport const getMountedComponents = () => getStore(MOUNTED_COMPONENTS_KEY)\n\nexport const hasModule = (modules: ModuleDefined[], module: ModuleDefined) => modules\n .some((c) => c.name === module.name && c.module === module.module)\n\nexport const onComponentMounted: typeof ocm = (module, callback) => {\n const modules = Array.isArray(module) ? module : [module]\n\n if (modules.every((m) => hasModule(getMountedComponents(), m))) {\n callback()\n return () => null\n }\n\n const unSubscribe = subscribe({\n [MOUNTED_COMPONENTS_KEY](value) {\n const mountedModules = value as ModuleDefined[]\n if (modules.every((n) => hasModule(mountedModules, n))) {\n unSubscribe()\n callback()\n }\n },\n })\n\n return unSubscribe\n}\n\nexport const resetModuleConfig = (name: string, url?: string) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n\n // ignore multiple custom module url\n if (url && window.requirejs.defined(name)) {\n return\n }\n\n let path = getUrlHash(dependencies[name])\n\n // custom module url, but module loaded error\n if (url) {\n path = `${url}#${name}`\n\n try {\n const { registry } = window.requirejs.s.contexts._\n /* istanbul ignore else */\n if (registry[name].error) {\n path = getUrlHash(url)\n }\n } catch (e) {\n // ignore\n }\n }\n\n window.requirejs.undef(name)\n window.requirejs.config({\n paths: { [name]: path },\n })\n}\nexport const getNameWithModule = (moduleDefined: ModuleDefined) => {\n const { name, module } = moduleDefined\n return module ? `${name}.${module}` : name\n}\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(moduleDefined: ModuleDefined, e: Error) {\n const nameWithModule = getNameWithModule(moduleDefined)\n if (getEnv() === 'development') {\n window.console.error(...getConsolePrefix(nameWithModule), e)\n }\n}\n\nexport function consoleWarn(moduleDefined: ModuleDefined, text: string) {\n const nameWithModule = getNameWithModule(moduleDefined)\n if (getEnv() === 'development') {\n window.console.warn(...getConsolePrefix(nameWithModule), text)\n }\n}\n\nexport function getConfig<C extends object = {}>() {\n return getStore(CONFIG_KEY) as C\n}\n\nexport const onError = (e: VariousError) => {\n const middlewares = connector.getMiddlewares()\n const { name, module, originalError } = e\n\n middlewares?.onError?.(e)\n consoleError({ name, module }, originalError)\n}\n\nexport const isReactComponent = (component: RequiredComponent) => (\n !!component.prototype?.isReactComponent) || (\n typeof component === 'function'\n && String(component).includes('createElement(')\n)\n\nexport class VariousError extends Error implements ve {\n type: et\n\n originalError: Error\n\n module?: string\n\n name: string\n\n constructor(data: {\n name: string,\n module?: string,\n type: et,\n originalError: Error,\n }) {\n super(data.originalError.message)\n this.type = data.type\n this.originalError = data.originalError\n this.module = data.module\n this.name = data.name\n }\n}\n","import { ComponentType } from 'react'\nimport { Root } from 'react-dom/client'\nimport {\n LoaderNode,\n ErrorNode,\n I18n,\n App,\n ModuleDefined,\n} from '@variousjs/various'\nimport { Loader, Error } from './default-component'\nimport { PublicActions, Store, Actions } from '../types'\nimport { getNameWithModule } from './helper'\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, PublicActions>\n\n private components: Record<string, ComponentType<any>>\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(moduleDefined: ModuleDefined, config: ReturnType<I18n>) {\n const name = getNameWithModule(moduleDefined)\n this.i18nConfigs[name] = config\n }\n\n getI18nConfig(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n return this.i18nConfigs[name]\n }\n\n setRenderRoot(moduleDefined: ModuleDefined, root: Root) {\n const name = getNameWithModule(moduleDefined)\n this.renderRoots[name] = root\n }\n\n getRenderRoot(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n return this.renderRoots[name]\n }\n\n deleteRenderRoot(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n delete this.renderRoots[name]\n }\n\n setComponent(moduleDefined: ModuleDefined, component: ComponentType) {\n const name = getNameWithModule(moduleDefined)\n this.components[name] = component\n }\n\n getComponent(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n return this.components[name]\n }\n\n setComponentActions(moduleDefined: ModuleDefined, actions: PublicActions) {\n const name = getNameWithModule(moduleDefined)\n this.componentActions[name] = actions\n }\n\n deleteComponentActions(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n delete this.componentActions[name]\n }\n\n getComponentActions(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\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 { createDispatch as cd } from '@variousjs/various'\nimport connector from '../connector'\nimport { dispatch } from '../store'\nimport { onError, consoleWarn, VariousError } from '../helper'\n\nconst createDispatch: typeof cd = (moduleDefined) => async function (params) {\n const middlewares = connector.getMiddlewares()\n\n let {\n name,\n module,\n action,\n value,\n } = params\n\n if (middlewares?.onDispatch) {\n const check = await middlewares.onDispatch({\n target: { name, module },\n action,\n value,\n trigger: moduleDefined,\n })\n if (check === false) {\n consoleWarn(moduleDefined, '[dispatch] blocked by middleware')\n return Promise.resolve()\n }\n if (check !== true) {\n name = check.target.name\n module = check.target.module\n action = check.action\n value = check.value\n }\n }\n\n if (name === 'app') {\n const storeActions = connector.getStoreActions()\n const storeAction = storeActions[action]\n if (!storeAction) {\n const errorMessage = `Action \"${action}\" is not present`\n const error = new VariousError({\n ...moduleDefined,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n return dispatch(storeAction, value, moduleDefined)\n }\n\n const componentActions = connector.getComponentActions({ name, module })\n\n if (!componentActions) {\n const errorMessage = 'Component is not ready'\n const error = new VariousError({\n ...moduleDefined,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n\n const componentAction = componentActions[action]\n\n if (!componentAction) {\n const errorMessage = `Action \"${action}\" is not present`\n const error = new VariousError({\n ...moduleDefined,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n\n return Promise.resolve(componentAction(value, moduleDefined))\n}\n\nexport default createDispatch\n","import { ModuleDefined, OnMessage, 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 = (moduleDefined) => async (event, value) => {\n const middlewares = connector.getMiddlewares()\n let next = { trigger: moduleDefined, event, value }\n\n if (middlewares?.onMessage) {\n const check = await middlewares.onMessage(next)\n\n if (check === false) {\n consoleWarn(moduleDefined, '[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 event: next.event,\n trigger: moduleDefined,\n value: next.value,\n },\n })\n}\n\nexport const getOnMessage = (moduleDefined: ModuleDefined, onMessage: OnMessage) => subscribe({\n [MESSAGE_KEY](v) {\n const { trigger, value, event } = v as Parameters<OnMessage>[0]\n if (moduleDefined.name !== trigger.name || moduleDefined.module !== trigger.module) {\n onMessage({ event, value, trigger })\n }\n },\n})\n","import { createModule as cm } from '@variousjs/various'\nimport { RequireError, RequiredComponent } from '../types'\nimport { DEPENDENCIES_KEY } from '../config'\nimport { getStore } from './store'\nimport connector from './connector'\nimport {\n isModuleLoaded,\n resetModuleConfig,\n VariousError,\n onError,\n} from './helper'\n\nconst createModule: typeof cm = (config) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n const middlewares = connector.getMiddlewares()\n const { name, module, url } = config\n const loadStart = +new Date()\n\n if (url) {\n resetModuleConfig(name, url)\n }\n\n return new Promise<any>((resolve, reject) => {\n if (!url && !dependencies[name]) {\n const error = new VariousError({\n name,\n module,\n type: 'NOT_DEFINED',\n originalError: new Error(`Module \"${name}\" not defined`),\n })\n\n onError(error)\n reject(error)\n return\n }\n\n window.requirejs([name], (C: RequiredComponent) => {\n const loadEnd = +new Date()\n\n middlewares?.onLoad?.({\n name,\n module,\n loadStart,\n loadEnd,\n beenLoaded: isModuleLoaded({ name, module }),\n })\n\n if (!C) {\n const error = new VariousError({\n name,\n module,\n type: 'INVALID_MODULE',\n originalError: new Error(`Module \"${name}\" not content`),\n })\n\n resetModuleConfig(name)\n onError(error)\n reject(error)\n return\n }\n\n const defaultModule = 'default' in C ? C.default : C\n const actualModule = !module ? defaultModule : C[module]\n\n if (!actualModule && module) {\n const error = new VariousError({\n name,\n module,\n type: 'SUBMODULE_NOT_DEFINED',\n originalError: new Error(`Submodule \"${module}\" not defined`),\n })\n\n resetModuleConfig(name)\n onError(error)\n reject(error)\n return\n }\n\n resolve(actualModule)\n }, (e: RequireError) => {\n const [requireModule] = e.requireModules\n\n resetModuleConfig(name, url)\n resetModuleConfig(requireModule)\n\n let errorType: VariousError['type'] = 'LOADING_ERROR'\n\n if (requireModule !== name) {\n errorType = 'SUBMODULE_LOADING_ERROR'\n }\n\n if (!dependencies[requireModule]) {\n errorType = 'SUBMODULE_NOT_DEFINED'\n }\n\n if (!e.message.includes('https://requirejs.org/docs/errors.html')) {\n errorType = requireModule === name ? 'SCRIPT_ERROR' : 'SUBMODULE_SCRIPT_ERROR'\n }\n\n const error = new VariousError({\n name,\n module: requireModule === name ? undefined : requireModule,\n type: errorType,\n originalError: e,\n })\n\n onError(error)\n reject(error)\n })\n })\n}\n\nexport default createModule\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 React, { Component, ComponentType } from 'react'\nimport { I18n, OnMessage, VariousError as ve } from '@variousjs/various'\nimport {\n isReactComponent,\n onError,\n getMountedComponents,\n resetModuleConfig,\n VariousError,\n hasModule,\n getNameWithModule,\n} from '../helper'\nimport {\n connect,\n getStore,\n emit,\n getUserStore,\n} from '../store'\nimport { MOUNTED_COMPONENTS_KEY } from '../../config'\nimport connector from '../connector'\nimport { getPostMessage, getOnMessage } from './message'\nimport getDispatch from './dispatch'\nimport getI18n from './i18n'\nimport createModule from '../create-module'\nimport {\n CreateComponentState,\n CreateComponentProps,\n RequiredComponent,\n PublicActions,\n Store,\n} from '../../types'\n\nfunction createReactComponent<P extends object>(config: {\n name: string,\n module?: string,\n url?: string,\n watchKeys?: string[],\n onMounted: () => void,\n}) {\n const {\n name,\n module,\n url,\n watchKeys,\n onMounted,\n } = config\n const storeKeys = (watchKeys || Object.keys(getStore()))\n\n class R extends Component<\n CreateComponentProps<P>,\n CreateComponentState\n > {\n state = {\n componentExist: false,\n componentReady: false,\n isError: false,\n }\n\n private error?: ve\n\n private ComponentNode: RequiredComponent | null\n\n private isUnMounted?: boolean\n\n private unSubscribe = () => null as unknown\n\n componentDidMount() {\n this.setState({ componentExist: !!connector.getComponent({ name, module }) })\n this.mountComponent()\n }\n\n componentDidCatch(e: Error) {\n const error = new VariousError({\n name,\n module,\n type: 'SCRIPT_ERROR',\n originalError: e,\n })\n\n onError(error)\n\n this.error = error\n this.setState({ isError: true })\n resetModuleConfig(name)\n this.unMountComponent()\n }\n\n componentWillUnmount() {\n this.error = undefined\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\n .filter((item) => item.name !== name || item.module !== module)\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n connector.deleteComponentActions({ name, module })\n }\n\n mountComponent = async () => {\n try {\n const componentNode = await createModule<RequiredComponent>({ name, module, url })\n\n if (this.isUnMounted) {\n return\n }\n\n if (!isReactComponent(componentNode)) {\n const error = new VariousError({\n name,\n module,\n originalError: new Error('Not a valid React component'),\n type: 'INVALID_COMPONENT',\n })\n\n onError(error)\n throw error\n }\n\n const mountedComponents = getMountedComponents()\n const actions: PublicActions = {}\n\n if (!hasModule(mountedComponents, { name, module })) {\n mountedComponents.push({ name, module })\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 { name, module },\n componentNode[method] as OnMessage,\n )\n return\n }\n if (method === '$i18n') {\n const i18nConfig = (componentNode[method] as I18n)()\n connector.setI18nConfig({ name, module }, i18nConfig)\n return\n }\n\n actions[method] = componentNode[method]\n })\n\n connector.setComponentActions({ name, module }, actions)\n\n this.ComponentNode = componentNode\n this.setState({ componentReady: true })\n\n onMounted()\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n } catch (e) {\n const error = e as VariousError\n\n if (this.isUnMounted) {\n return\n }\n\n this.error = error\n this.setState({ isError: true })\n }\n }\n\n onReload = () => {\n this.setState({\n isError: false,\n componentReady: false,\n }, () => {\n this.mountComponent()\n })\n }\n\n $postMessage = getPostMessage({ name, module })\n\n $dispatch = getDispatch({ name, module })\n\n $t = getI18n({ name, module })\n\n render() {\n const ErrorNode = connector.getErrorComponent()\n const LoaderNode = connector.getLoaderComponent()\n const { $silent, $componentProps } = this.props\n const {\n componentReady, isError, componentExist,\n } = this.state\n const store = getUserStore()\n const ComponentNode = this.ComponentNode as RequiredComponent\n\n if (isError) {\n return !$silent\n ? (\n <ErrorNode\n $name={name}\n $module={module}\n $reload={[\n 'NOT_DEFINED',\n ].includes(this.error!.type) ? undefined : this.onReload}\n $store={store as Store}\n $error={this.error!}\n />\n )\n : null\n }\n\n if (!componentReady) {\n if ($silent || componentExist) {\n return null\n }\n\n return (\n <LoaderNode\n $name={name}\n $module={module}\n $store={store as Store}\n />\n )\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 = getNameWithModule({ name, module })\n\n return connect(...storeKeys)(R)\n}\n\nexport default createReactComponent\n","import { Intl, ModuleDefined } from '@variousjs/various'\nimport connector from '../connector'\nimport { VariousError, onError } from '../helper'\nimport { getStore } from '../store'\n\nexport default function (moduleDefined: ModuleDefined) {\n return function (key, params) {\n const i18nConfig = connector.getI18nConfig(moduleDefined)\n\n if (!i18nConfig) {\n onError(new VariousError({\n ...moduleDefined,\n type: 'I18N',\n originalError: new Error('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(new VariousError({\n ...moduleDefined,\n type: 'I18N',\n originalError: new Error(`locale resource \\`${locale}\\` not exist`),\n }))\n return key\n }\n\n if (!resource[key]) {\n onError(new VariousError({\n ...moduleDefined,\n type: 'I18N',\n originalError: new Error(`locale 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, { ComponentType } from 'react'\nimport { createComponent as cc } from '@variousjs/various'\nimport createReactComponent from './component'\nimport connector from './connector'\n\nconst createComponent: typeof cc<any, any> = (config, storeKeys) => {\n const { name, module, url } = config\n\n const existComponent = connector.getComponent({ name, module })\n if (existComponent) {\n return existComponent\n }\n\n let component: ComponentType<any>\n\n const C = createReactComponent({\n name,\n module,\n url,\n watchKeys: storeKeys as string[],\n onMounted() {\n connector.setComponent({ name, module }, component)\n },\n })\n\n component = (props: any) => {\n const { $silent, ...rest } = props || {}\n const nextProps = { $componentProps: rest, $silent }\n return (<C {...nextProps} />)\n }\n\n component.displayName = 'various-creator'\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 './component'\nimport connector from './connector'\n\nconst renderComponent: typeof rc = ({\n name,\n module,\n url,\n target,\n props,\n renderNode,\n onMounted,\n}) => {\n let C = connector.getComponent({ name, module })\n if (!C) {\n C = componentCreator({\n name,\n module,\n url,\n onMounted() {\n connector.setComponent({ name, module }, C)\n onMounted?.()\n },\n })\n }\n\n let root: Root\n if (connector.getRenderRoot({ name, module })) {\n root = connector.getRenderRoot({ name, module })\n } else {\n root = createRoot(target as Element)\n connector.setRenderRoot({ name, module }, root)\n }\n\n const { $silent, ...rest } = props || {}\n const nextProps = { $componentProps: rest, $silent }\n const node = <C {...nextProps} />\n\n root.render(renderNode ? renderNode(node) : node)\n\n return () => setTimeout(() => {\n root.unmount()\n connector.deleteRenderRoot({ name, module })\n })\n}\n\nexport default renderComponent\n","import React, { Component, ComponentType } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { App, Config, VariousError as ve } from '@variousjs/various'\nimport { createStore } from './store'\nimport {\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n ROOT,\n MESSAGE_KEY,\n ENV_KEY,\n CONFIG_KEY,\n} from '../config'\nimport connector from './connector'\nimport { onError, VariousError } from './helper'\nimport { Container as ContainerNode } from './default-component'\nimport { Store } from '../types'\n\nexport { default as Nycticorax } from 'nycticorax'\n\nexport { getUserStore as getStore } from './store'\nexport { default as createDispatch } from './component/dispatch'\nexport { getPostMessage as createPostMessage } from './component/message'\n\nexport {\n getConfig,\n getEnv,\n preloadPackages,\n isModuleLoaded,\n getMountedComponents,\n onComponentMounted,\n} from './helper'\n\nexport { default as createModule } from './create-module'\nexport { default as createComponent } from './create-component'\nexport { default as renderComponent } from './render-component'\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<{}, { isError: boolean }> {\n private error?: ve\n\n state = {\n isError: false,\n }\n\n componentDidCatch(e: Error) {\n const error = new VariousError({\n name: 'app',\n type: 'APP_ERROR',\n originalError: e,\n })\n onError(error)\n this.error = error\n this.setState({ isError: true })\n }\n\n render() {\n const { isError } = this.state\n\n if (isError) {\n return (\n <ErrorNode\n $name=\"app\"\n $error={this.error!}\n $store={store as Store}\n />\n )\n }\n\n return (\n <ContainerComponent />\n )\n }\n }\n\n (R as ComponentType).displayName = 'various-app'\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","Loader","React","Error","$error","$reload","type","message","onClick","Container","getUrlHash","url","Date","preloadPackages","name","Promise","resolve","reject","names","window","requirejs","isModuleLoaded","moduleDefined","specified","contexts","_","defined","getMountedComponents","hasModule","modules","some","onComponentMounted","callback","every","m","unSubscribe","mountedModules","resetModuleConfig","dependencies","path","registry","error","undef","config","paths","getNameWithModule","getEnv","getConsolePrefix","consoleWarn","text","nameWithModule","console","warn","getConfig","onError","middlewares","connector","getMiddlewares","originalError","consoleError","VariousError","data","loaderComponent","errorComponent","storeActions","componentActions","components","renderRoots","i18nConfigs","setMiddlewares","setI18nConfig","getI18nConfig","setRenderRoot","root","getRenderRoot","deleteRenderRoot","setComponent","component","getComponent","setComponentActions","actions","deleteComponentActions","getComponentActions","setStoreActions","getStoreActions","setLoaderComponent","getLoaderComponent","setErrorComponent","getErrorComponent","async","params","action","onDispatch","check","target","storeAction","errorMessage","componentAction","getPostMessage","event","next","onMessage","timestamp","loadStart","C","loadEnd","onLoad","beenLoaded","defaultModule","actualModule","requireModule","requireModules","errorType","_extends","assign","bind","arguments","apply","watchKeys","onMounted","storeKeys","R","componentExist","componentReady","isError","componentDidMount","mountComponent","componentDidCatch","unMountComponent","ComponentNode","isUnMounted","mountedComponents","item","componentNode","createModule","isReactComponent","String","method","getOnMessage","i18nConfig","v","onReload","$postMessage","$dispatch","getDispatch","$t","localeKey","resources","locale","resource","args","arg","regex","replace","getI18n","ErrorNode","LoaderNode","$silent","$componentProps","$name","$module","$store","displayName","createComponent","existComponent","createReactComponent","rest","nextProps","renderComponent","renderNode","componentCreator","createRoot","node","unmount","env","LoaderComponent","ErrorComponent","ContainerComponent","ContainerNode","document","querySelector"],"sourceRoot":""}
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
declare module '@variousjs/various' {
|
|
2
|
-
import { ComponentType, FC } from 'react'
|
|
2
|
+
import { ComponentType, FC, ReactNode } from 'react'
|
|
3
3
|
|
|
4
4
|
export { default as Nycticorax, Dispatch } from 'nycticorax'
|
|
5
5
|
|
|
@@ -165,6 +165,7 @@ declare module '@variousjs/various' {
|
|
|
165
165
|
url?: string,
|
|
166
166
|
props?: P & ComponentDefaultProps,
|
|
167
167
|
target: Element | null,
|
|
168
|
+
renderNode?: (children: ReactNode) => ReactNode,
|
|
168
169
|
onMounted?: () => void,
|
|
169
170
|
}): () => void
|
|
170
171
|
|