@variousjs/various 5.1.3 → 5.1.4
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.dev.js +12 -2
- package/dist/index.dev.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/standalone.js +16 -8
- package/dist/standalone.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["react"],function(e){return function(){var t={700:function(e,t,n){var r;self,r=e=>(()=>{"use strict";var t={294:(e,t,n)=>{n.d(t,{default:()=>a});var r=n(942),o=n(63),s=n.n(o);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 r=Reflect.ownKeys(e);for(const o of r)n[o]=i(e[o],t);return n}class a{constructor(){var e;(0,r.Z)(this,"state",void 0),(0,r.Z)(this,"listeners",void 0),(0,r.Z)(this,"emits",void 0),(0,r.Z)(this,"timer",void 0),(0,r.Z)(this,"onStateChange",void 0),(0,r.Z)(this,"getStore",void 0),(0,r.Z)(this,"createStore",e=>{this.listeners=Reflect.ownKeys(e).reduce((t,n)=>{const r=n;return this.state[r]=e[r],{...t,[n]:[]}},{})}),(0,r.Z)(this,"subscribe",e=>{const t={};return Reflect.ownKeys(e).forEach(n=>{const r=n;this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push(e[r]),t[r]=e[r]}),()=>{Reflect.ownKeys(t).forEach(e=>{const n=e;this.listeners[n]=this.listeners[n].filter(e=>e!==t[n])})}}),(0,r.Z)(this,"emit",(e,t)=>{this.emits={...this.emits,...e},t?this.trigger():(clearTimeout(this.timer),this.timer=setTimeout(this.trigger))}),(0,r.Z)(this,"dispatch",(e,...t)=>e({getStore:this.getStore,emit:e=>this.emit(e,!0)},...t)),(0,r.Z)(this,"trigger",()=>{const e=this.emits,t=[],n=Reflect.ownKeys(e);for(let r=0;r<n.length;r+=1){const o=n[r];if(s()(this.state[o],e[o]))continue;const a=e[o],u=this.state[o];this.state[o]=i(e[o]),t.push({key:o,newValue:a,oldValue:u})}const r={};t.forEach(e=>{r[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(r),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 r,o,s;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(o=r;0!=o--;)if(!e(t[o],n[o]))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((r=(s=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(o=r;0!=o--;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;0!=o--;){var i=s[o];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 r(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:()=>r})}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,r),s.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(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=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var o={};return(()=>{r.d(o,{default:()=>u});var e=r(942),t=r(294),n=r(250),s=r.n(n);const i=["name","prototype","length","propTypes","defaultProps","getDerivedStateFromProps","contextTypes","displayName"];class a extends t.default{constructor(...t){super(...t),(0,e.Z)(this,"connect",function(t){const{getStore:r,subscribe:o}=t;return function(...t){return function(a){class u extends n.Component{constructor(n){super(n),(0,e.Z)(this,"unsubscribe",void 0),(0,e.Z)(this,"state",{props:r()}),this.unsubscribe=o(t.reduce((e,t)=>({...e,[t]:()=>{this.setState({props:r()})}}),{}))}componentWillUnmount(){this.unsubscribe()}render(){const{props:e}=this.state,t={...e,...this.props};return s().createElement(a,t)}}return Object.getOwnPropertyNames(a).forEach(e=>{const t=e;i.includes(e)||(u[t]=a[t])}),u}}}(this)),(0,e.Z)(this,"useStore",function(e){const{getStore:t,subscribe:r}=e;return function(...e){const[o,s]=(0,n.useState)(t());return(0,n.useLayoutEffect)(()=>r(e.reduce((e,n)=>({...e,[n]:()=>{s(e=>({...e,[n]:t()[n]}))}}),{}))),o}}(this))}}const u=a})(),o.default})(),e.exports=r(n(959))},959:function(t){"use strict";t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var s=n[e]={exports:{}};return t[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 o={};return function(){"use strict";r.r(o),r.d(o,{Nycticorax:function(){return s()},createComponent:function(){return ee},createDispatch:function(){return z},createLogger:function(){return b},createModule:function(){return J},createPostMessage:function(){return C},defineDependencies:function(){return I},getApp:function(){return re},getConfig:function(){return D},getMountedComponents:function(){return j},getStore:function(){return p},isModuleLoaded:function(){return k},onComponentMounted:function(){return P},preloadModules:function(){return M},removeLoadedModules:function(){return N},renderComponent:function(){return te},version:function(){return ne}});var e=r(959),t=r.n(e),n=r(700),s=r.n(n);const{createStore:i,getStore:a,connect:u,emit:c,subscribe:l,dispatch:d,useStore:m}=new(s());function p(){const e=a(),t=Object.keys(e),n={};return t.forEach(t=>{n[t]=e[t]}),n}const f=Symbol("MOUNTED_COMPONENTS"),g=Symbol("MESSAGE"),h=Symbol("CONFIG"),y=Symbol("DEPENDENCIES"),v=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated","setup","data","render"],w=["react","react-dom","@variousjs/various","app"],E=e=>{const t=B.getMiddlewares(),n=t?.onLog?.(e);if(!1===n)return;const r={info:"blue",warn:"orange",error:"red"}[e.level],o=[`%c ${x(e)} `,`background:${r};border:1px solid ${r};padding:1px;border-radius:2px 0 0 2px;color: #fff;`];e.type&&(o[0]=`${o[0]}%c ${e.type} %c`,o.push(`border:1px solid ${r};padding:1px;border-radius:0 2px 2px 0;color:${r};`,"background:transparent")),"info"!==e.level&&(o[0]=` ${o[0]}`),window.console[e.level](...o,e.message)};var b=e=>({info(t,n){E({...e,level:"info",type:n,message:t})},warn(t,n){E({...e,level:"warn",type:n,message:t})},error(t,n){const r=B.getMiddlewares(),o=t instanceof _?t:new _({...e,type:n||"unknow",originalError:t instanceof Error?t:new Error(t)});r?.onError?.(o),E({...e,level:"error",type:n,message:t})}});const C=e=>async(t,n)=>{const r=B.getMiddlewares(),o=b(e);let s={trigger:e,event:t,value:n};if(r?.onMessage){const e=await r.onMessage(s);if(!1===e)return void o.warn("blocked by middleware","POST_MESSAGE");!0!==e&&(s={...s,...e})}c({[g]:{timestamp:+new Date,event:s.event,trigger:e,value:s.value}})};function $(e,t,n){if(!e)return;const r=e();var o;null!=(o=r)&&"function"==typeof o.then?(t?B.setI18nConfig(t,{loading:!0,lngStoreKey:"",resources:{}}):B.setGlobalI18nConfig({loading:!0,lngStoreKey:"",resources:{}}),r.then(e=>{if(t)return B.setI18nConfig(t,{...e,loading:!1}),void n?.();const r=a(e.lngStoreKey);c({[e.lngStoreKey]:void 0},!0),c({[e.lngStoreKey]:r},!0),B.setGlobalI18nConfig({...e,loading:!1})}).catch(e=>{T(new _({name:t?.name||"app",module:t?.module,type:"I18N",originalError:e}))})):t?B.setI18nConfig(t,r):B.setGlobalI18nConfig(r)}function S(e,t){const n=(t,n,r)=>{const o=B.getI18nConfig(e)||B.getGlobalI18nConfig();let s=r;if(void 0===s&&(s="string"==typeof n?n:t),!o)return T(new _({...e,type:"I18N",originalError:new Error("config not exist")})),s;if(o.loading)return s;const{lngStoreKey:i,resources:u}=o,c=a(i);if(void 0===i||void 0===c)return T(new _({...e,type:"I18N",originalError:new Error("locale key not defined")})),s;const l=u?.[c];if(!l)return T(new _({...e,type:"I18N",originalError:new Error(`locale resource \`${c}\` not exist`)})),s;if(!l[t])return T(new _({...e,type:"I18N",originalError:new Error(`locale key \`${t}\` not exist`)})),s;const d=l[t];if(!n||"string"==typeof n||"[object Object]"!==Object.prototype.toString.call(n))return d;const m=Object.keys(n);return m.length?m.reduce((e,t)=>{const r=new RegExp(`{\\s*${t}\\s*}`,"g");return e.replace(r,n[t].toString())},d):d};return n.update=(n,r)=>{const o={..."app"===r?B.getGlobalI18nConfig():B.getI18nConfig(e),...n};"app"===r?B.setGlobalI18nConfig(o):B.setI18nConfig(e,o),t()},n}const O=e=>`${e}?${+new Date}`,R=(e,t)=>e.some(e=>e.name===t.name&&e.module===t.module),M=e=>new Promise((t,n)=>{window.requirejs(e,t,n)}),N=e=>{e.forEach(e=>{w.includes(e)||window.requirejs.undef(e)})},I=e=>{const t=a(y),n={};Object.keys(e).forEach(t=>{w.includes(t)||(n[t]=`${e[t]}#${t}`,window.requirejs.undef(t))}),window.requirejs.config({paths:n}),c({[y]:{...t,...n}},!0)},k=e=>window.requirejs.defined(e),j=()=>a(f),P=(e,t)=>{const n=Array.isArray(e)?e:[e];n.every(e=>R(j(),e))&&t();const r=l({[f](e){const o=e;n.every(e=>R(o,e))&&(r(),t())}});return r},A=(e,t)=>{const n=a(y);if(t&&window.requirejs.defined(e))return;let r=O(n[e]);if(t){r=`${t}#${e}`;try{const{registry:n}=window.requirejs.s.contexts._;n?.[e].error&&(r=O(t))}catch(e){}}window.requirejs.undef(e),window.requirejs.config({paths:{[e]:r}})},x=e=>{const{name:t,module:n}=e;return n?`${t}.${n}`:t};function D(){return a(h)}const T=e=>{const{name:t,module:n,type:r}=e;b({name:t,module:n}).error(e,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}}function U(e){const{componentNode:t,name:n,module:r,type:o,i18nUpdate:s}=e,i={};let a,u;return Object.getOwnPropertyNames(t).forEach(e=>{"function"==typeof t[e]&&("$onMessage"!==e?"$i18n"!==e?"vue3"===o&&v.includes(e)||(i[e]=t[e]):u=t[e]:a=t[e])}),u&&$(u,{name:n,module:r},s),B.setComponentActions({name:n,module:r},i),a?(c={name:n,module:r},d=a,l({[g](e){const{trigger:t,value:n,event:r}=e;c.name===t.name&&c.module===t.module||d({event:r,value:n,trigger:t})}})):()=>null;var c,d}function F(e){const t=j();R(t,e)||t.push(e),c({[f]:t},!0)}function L(e){const{name:t,module:n}=e;let r=j();r=r.filter(e=>e.name!==t||e.module!==n),c({[f]:r},!0),B.deleteComponentActions({name:t,module:n})}function Z(e){const{name:t,module:n,url:r}=e,o=a(y);return{name:t,module:n,url:r||o[t]}}function q(e,t){const{name:n,module:r}=e;return`${t} ${[n,r].filter(Boolean).join("-")}`}const K=e=>{const n=q(e.$self,"various-component-fallback");return t().createElement("div",{className:n},"Loading")},G=({$error:e,$reload:n,$self:r})=>{const o=q(r,"various-component-error_fallback");return t().createElement("div",{className:o},t().createElement("h3",null,e.type),t().createElement("p",null,e.message),t().createElement("button",{type:"button",onClick:n},"Reload"))},V=()=>t().createElement("div",null,"App Container is not defined");var B=new class{constructor(){this.fallbackComponent=K,this.errorFallbackComponent=G,this.storeActions={},this.componentActions={},this.i18nConfigs={},this.middlewares={}}setMiddlewares(e){this.middlewares=e}getMiddlewares(){return this.middlewares}setI18nConfig(e,t){const n=x(e);this.i18nConfigs[n]={...this.i18nConfigs[n],...t}}getI18nConfig(e){const t=x(e);return this.i18nConfigs[t]}setGlobalI18nConfig(e){this.globalI18nConfig={...this.globalI18nConfig,...e}}getGlobalI18nConfig(){return this.globalI18nConfig}setComponentActions(e,t){const n=x(e);this.componentActions[n]=t}deleteComponentActions(e){const t=x(e);delete this.componentActions[t]}getComponentActions(e){const t=x(e);return this.componentActions[t]}setStoreActions(e){this.storeActions=e}getStoreActions(){return this.storeActions}setFallbackComponent(e){this.fallbackComponent=e}getFallbackComponent(){return this.fallbackComponent}setErrorFallbackComponent(e){this.errorFallbackComponent=e}getErrorFallbackComponent(){return this.errorFallbackComponent}};class H extends e.Component{static displayName="various-error-boundary";state={hasError:!1};componentDidCatch(e){const{name:t,module:n}=this.props,r=e instanceof _?e:new _({name:t,module:n,type:"app"===t?"APP_ERROR":"SCRIPT_ERROR",originalError:e});this.setState({hasError:!0}),this.error=r,T(r),A(this.props.name),L({name:t,module:n})}$self=Z(this.props);reload=()=>{this.error=void 0,this.setState({hasError:!1})};render(){const e=B.getErrorFallbackComponent(),n=p();return this.state.hasError?t().createElement(e,{$self:this.$self,$reload:this.reload,$store:n,$error:this.error}):this.props.children}}var W=H,z=e=>async function(t){const n=B.getMiddlewares(),r=b(e);let{name:o,module:s,action:i,value:a}=t;if(n?.onDispatch){const t=await n.onDispatch({target:{name:o,module:s},action:i,value:a,trigger:e});if(!1===t)return r.warn("blocked by middleware","DISPATCH"),Promise.resolve();!0!==t&&(o=t.target.name,s=t.target.module,i=t.action,a=t.value)}if("app"===o){const t=B.getStoreActions()[i];if(!t){const t=`action "${i}" is not present`,n=new _({...e,type:"DISPATCH",originalError:new Error(t)});throw T(n),n}return d(t,a,e)}const u=B.getComponentActions({name:o,module:s});if(!u){const t="component is not ready",n=new _({...e,type:"DISPATCH",originalError:new Error(t)});throw T(n),n}const c=u[i];if(!c){const t=`action "${i}" is not present`,n=new _({...e,type:"DISPATCH",originalError:new Error(t)});throw T(n),n}return Promise.resolve(c(a,e))},J=(e,t=!0)=>{const n=a(y),r=B.getMiddlewares(),{name:o,module:s,url:i}=e,u=+new Date,c=e=>{t&&T(e)};return i&&A(o,i),new Promise((e,t)=>{if(!i&&!n[o]&&!(e=>window.requirejs.specified(e))(o)){const e=new _({name:o,module:s,type:"NOT_DEFINED",originalError:new Error(`module "${o}" not defined`)});return c(e),void t(e)}window.requirejs([o],n=>{const i=+new Date;if(r?.onLoad?.({name:o,module:s,loadStart:u,loadEnd:i,beenLoaded:k(o)}),!n){const e=new _({name:o,module:s,type:"INVALID_MODULE",originalError:new Error(`module "${o}" invalid`)});return A(o),c(e),void t(e)}const a="default"in n?n.default:n,l=s?n[s]:a;if(void 0===l&&s){const e=new _({name:o,module:s,type:"SUBMODULE_NOT_DEFINED",originalError:new Error(`submodule "${s}" not defined`)});return A(o),c(e),void t(e)}e(l)},e=>{const[n]=e.requireModules;A(o,i),A(n);let r="LOADING_ERROR";n!==o&&(r="SUBMODULE_LOADING_ERROR"),e.message.includes("https://requirejs.org/docs/errors.html")||(r=n===o?"SCRIPT_ERROR":"SUBMODULE_SCRIPT_ERROR");const s=new _({name:o,module:n===o?void 0:n,type:r,originalError:e});c(s),t(s)})})};function Q(){return Q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(null,arguments)}var X=function(n){const{name:r,module:o,url:s,watchKeys:i,onMounted:c}=n,l=i||Object.keys(a());class d extends e.Component{static displayName="various-react-component";state={componentReady:!1,isError:!1};unSubscribeMessage=()=>null;componentDidMount(){this.isUnMounted=!1,this.mountComponent()}componentWillUnmount(){this.error=void 0,this.ComponentNode=null,this.isUnMounted=!0,this.unSubscribeMessage(),L({name:r,module:o})}mountComponent=async()=>{try{const n=await J({name:r,module:o,url:s},!1);if(this.isUnMounted)return;await(e=n,t={name:r,module:o},new Promise((n,r)=>{e.$$typeof||e.prototype?.isReactComponent||"function"==typeof e?n():r(new _({...t,originalError:new Error("not a valid React component"),type:"INVALID_COMPONENT"}))})),n.displayName=x({name:r,module:o}),F({name:r,module:o}),this.unSubscribeMessage=U({componentNode:n,name:r,module:o,i18nUpdate:()=>this.forceUpdate()}),this.ComponentNode=n,this.setState({componentReady:!0}),c?.()}catch(e){if(this.isUnMounted)return;this.error=e,this.setState({componentReady:!0,isError:!0})}var e,t};$postMessage=C({name:r,module:o});$dispatch=z({name:r,module:o});$t=S({name:r,module:o},()=>this.forceUpdate());$logger=b({name:r,module:o});$self=Z({name:r,module:o,url:s});render(){const e=B.getFallbackComponent(),{$silent:n,$componentProps:o,$ref:s}=this.props,{componentReady:i,isError:a}=this.state,u=p(),c=this.ComponentNode;if(a)throw this.error;return i?t().createElement(c,Q({},o,{$self:this.$self,$dispatch:this.$dispatch,$store:u,$postMessage:this.$postMessage,$t:this.$t,$logger:this.$logger,ref:s})):n||k(r)?null:t().createElement(e,{$self:this.$self,$store:u})}}const m=u(...l)(d);return m.displayName="various-connector",m},Y=function(n){const{name:r,module:o,url:s,watchKeys:i,onMounted:u}=n,c=i||Object.keys(a()),l=n=>{const i=m(...c),a=(0,e.useRef)(),l=(0,e.useRef)(),d=(0,e.useRef)(!1),p=(0,e.useRef)(),f=(0,e.useRef)(!1),g=(0,e.useRef)(),h=(0,e.useRef)(Z({name:r,module:o,url:s})),y=(0,e.useRef)(null),v=(0,e.useRef)(),w=(0,e.useRef)(),E=(0,e.useRef)(),$=(0,e.useRef)(),O=(0,e.useRef)(),[R,M]=(0,e.useState)(!1),[N,I]=(0,e.useState)(!1),j=B.getFallbackComponent(),{$silent:P,$componentProps:A}=n,x=(0,e.useCallback)(()=>{const e=b({name:r,module:o}),t=z({name:r,module:o}),n=C({name:r,module:o}),s=S({name:r,module:o},()=>{O.current?.()});v.current=a.current.ref({...A}),w.current=a.current.ref({...i});const u=a.current.createApp({setup(){const e=a.current.ref(0);return O.current=()=>{e.value+=1},{key:e}},errorCaptured(e){const t=e;p.current=t.message?.includes("https://react")?new _({originalError:new Error("not a valid Vue component"),name:r,module:o,type:"INVALID_COMPONENT"}):t,I(!0)},render(){return a.current.h(g.current,{...v.current.value,various:{$dispatch:t,$logger:e,$postMessage:n,$t:s,$store:w.current.value,$self:h.current},key:this.key})}});l.current||(l.current=u.mount(y.current)),d.current=!0,E.current=()=>u.unmount()},[A,i]),D=(0,e.useCallback)(async()=>{try{const e=await J({name:"vue"});a.current=e;const t=await J({name:r,module:o,url:s},!1);if(f.current)return;await function(e,t){const n=new RegExp("^3\\.");return new Promise((r,o)=>{window.requirejs(["vue"],s=>{n.test(s.version)||o(new Error("Vue 3+ required, detected an incompatible version")),"function"!=typeof e?.render&&"function"!=typeof e?.setup?o(new _({...t,originalError:new Error("not a valid Vue component"),type:"INVALID_COMPONENT"})):r()})})}(t,{name:r,module:o}),F({name:r,module:o}),$.current=U({componentNode:t,name:r,module:o,type:"vue3",i18nUpdate(){O.current?.()}}),g.current=t,setTimeout(x),M(!0),u?.()}catch(e){if(f.current)return;p.current=e,M(!0),I(!0)}},[x]);if((0,e.useEffect)(()=>(f.current=!1,()=>{p.current=void 0,g.current=void 0,f.current=!0,L({name:r,module:o}),E.current?.(),$.current?.(),d.current=!1}),[]),(0,e.useEffect)(()=>{d.current||D()},[D]),(0,e.useEffect)(()=>{v.current&&(v.current.value={...A})},[A]),(0,e.useEffect)(()=>{w.current&&(w.current.value={...i})},[i]),N)throw p.current;return t().createElement(t().Fragment,null,R||P||k(r)?null:t().createElement(j,{$self:h.current,$store:i}),t().createElement("div",{className:q({name:r,module:o},"various-vue-component"),ref:y}))};l.displayName=x({name:r,module:o});const d=e=>t().createElement(l,e);return d.displayName="various-vue-component",d},ee=(e,n)=>{const{name:r,module:o,url:s,type:i="react"}=e,a=("vue3"===i?Y:X)({name:r,module:o,url:s,watchKeys:n}),u=e=>{const{$silent:n,$ref:i,...u}=e||{},c={$componentProps:u,$silent:n,$ref:i};return t().createElement(W,{name:r,module:o,url:s},t().createElement(a,c))};return u.displayName="various-creator",u},te=async({name:e,module:n,url:r,target:o,props:s,type:i="react",renderNode:a,onMounted:u})=>{try{const c=await J({name:"react-dom"}),l=("vue3"===i?Y:X)({name:e,module:n,url:r,onMounted:u}),d=c.createRoot(o),{$silent:m,$ref:p,...f}=s||{},g={$componentProps:f,$silent:m,$ref:p},h=t().createElement(W,{name:e,module:n,url:r},t().createElement(l,g));return d.render(a?a(h):h),()=>new Promise(e=>{setTimeout(()=>{d.unmount(),e()})})}catch(t){const r=new _({name:e,module:n,type:"SCRIPT_ERROR",originalError:t});return T(r),()=>Promise.resolve()}};const ne="5.1.3",re=n=>{const{dependencies:r,store:o={},actions:s={},Fallback:a,ErrorFallback:u,Root:c=V,middlewares:l,i18n:d,...m}=n;return l&&B.setMiddlewares(l),B.setStoreActions(s),a&&B.setFallbackComponent(a),u&&B.setErrorFallbackComponent(u),i({...o,[f]:[],[h]:m,[y]:r,[g]:null}),c.displayName="various-app-root",class extends e.Component{static displayName="various-app";componentDidMount(){$(d)}render(){return t().createElement(W,{name:"app",url:r.app},t().createElement(c,null))}}}}(),o}()});
|
|
1
|
+
define(["react"],function(e){return function(){var t={700:function(e,t,n){var r;self,r=e=>(()=>{"use strict";var t={294:(e,t,n)=>{n.d(t,{default:()=>a});var r=n(942),o=n(63),s=n.n(o);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 r=Reflect.ownKeys(e);for(const o of r)n[o]=i(e[o],t);return n}class a{constructor(){var e;(0,r.Z)(this,"state",void 0),(0,r.Z)(this,"listeners",void 0),(0,r.Z)(this,"emits",void 0),(0,r.Z)(this,"timer",void 0),(0,r.Z)(this,"onStateChange",void 0),(0,r.Z)(this,"getStore",void 0),(0,r.Z)(this,"createStore",e=>{this.listeners=Reflect.ownKeys(e).reduce((t,n)=>{const r=n;return this.state[r]=e[r],{...t,[n]:[]}},{})}),(0,r.Z)(this,"subscribe",e=>{const t={};return Reflect.ownKeys(e).forEach(n=>{const r=n;this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push(e[r]),t[r]=e[r]}),()=>{Reflect.ownKeys(t).forEach(e=>{const n=e;this.listeners[n]=this.listeners[n].filter(e=>e!==t[n])})}}),(0,r.Z)(this,"emit",(e,t)=>{this.emits={...this.emits,...e},t?this.trigger():(clearTimeout(this.timer),this.timer=setTimeout(this.trigger))}),(0,r.Z)(this,"dispatch",(e,...t)=>e({getStore:this.getStore,emit:e=>this.emit(e,!0)},...t)),(0,r.Z)(this,"trigger",()=>{const e=this.emits,t=[],n=Reflect.ownKeys(e);for(let r=0;r<n.length;r+=1){const o=n[r];if(s()(this.state[o],e[o]))continue;const a=e[o],u=this.state[o];this.state[o]=i(e[o]),t.push({key:o,newValue:a,oldValue:u})}const r={};t.forEach(e=>{r[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(r),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 r,o,s;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(o=r;0!=o--;)if(!e(t[o],n[o]))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((r=(s=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(o=r;0!=o--;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;0!=o--;){var i=s[o];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 r(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:()=>r})}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,r),s.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(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=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var o={};return(()=>{r.d(o,{default:()=>u});var e=r(942),t=r(294),n=r(250),s=r.n(n);const i=["name","prototype","length","propTypes","defaultProps","getDerivedStateFromProps","contextTypes","displayName"];class a extends t.default{constructor(...t){super(...t),(0,e.Z)(this,"connect",function(t){const{getStore:r,subscribe:o}=t;return function(...t){return function(a){class u extends n.Component{constructor(n){super(n),(0,e.Z)(this,"unsubscribe",void 0),(0,e.Z)(this,"state",{props:r()}),this.unsubscribe=o(t.reduce((e,t)=>({...e,[t]:()=>{this.setState({props:r()})}}),{}))}componentWillUnmount(){this.unsubscribe()}render(){const{props:e}=this.state,t={...e,...this.props};return s().createElement(a,t)}}return Object.getOwnPropertyNames(a).forEach(e=>{const t=e;i.includes(e)||(u[t]=a[t])}),u}}}(this)),(0,e.Z)(this,"useStore",function(e){const{getStore:t,subscribe:r}=e;return function(...e){const[o,s]=(0,n.useState)(t());return(0,n.useLayoutEffect)(()=>r(e.reduce((e,n)=>({...e,[n]:()=>{s(e=>({...e,[n]:t()[n]}))}}),{}))),o}}(this))}}const u=a})(),o.default})(),e.exports=r(n(959))},959:function(t){"use strict";t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var s=n[e]={exports:{}};return t[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 o={};return function(){"use strict";r.r(o),r.d(o,{Nycticorax:function(){return s()},createComponent:function(){return ee},createDispatch:function(){return Y},createLogger:function(){return b},createModule:function(){return z},createPostMessage:function(){return C},defineDependencies:function(){return I},getApp:function(){return re},getConfig:function(){return D},getMountedComponents:function(){return j},getStore:function(){return p},isModuleLoaded:function(){return k},onComponentMounted:function(){return A},preloadModules:function(){return M},removeLoadedModules:function(){return N},renderComponent:function(){return te},version:function(){return ne}});var e=r(959),t=r.n(e),n=r(700),s=r.n(n);const{createStore:i,getStore:a,connect:u,emit:c,subscribe:l,dispatch:d,useStore:m}=new(s());function p(){const e=a(),t=Object.keys(e),n={};return t.forEach(t=>{n[t]=e[t]}),n}const f=Symbol("MOUNTED_COMPONENTS"),g=Symbol("MESSAGE"),h=Symbol("CONFIG"),y=Symbol("DEPENDENCIES"),v=(Symbol("STANDALONE_CONFIG_READY"),["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated","setup","data","render"]),w=["react","react-dom","@variousjs/various","app"],E=e=>{const t=B.getMiddlewares(),n=t?.onLog?.(e);if(!1===n)return;const r={info:"blue",warn:"orange",error:"red"}[e.level],o=[`%c ${x(e)} `,`background:${r};border:1px solid ${r};padding:1px;border-radius:2px 0 0 2px;color: #fff;`];e.type&&(o[0]=`${o[0]}%c ${e.type} %c`,o.push(`border:1px solid ${r};padding:1px;border-radius:0 2px 2px 0;color:${r};`,"background:transparent")),"info"!==e.level&&(o[0]=` ${o[0]}`),window.console[e.level](...o,e.message)};var b=e=>({info(t,n){E({...e,level:"info",type:n,message:t})},warn(t,n){E({...e,level:"warn",type:n,message:t})},error(t,n){const r=B.getMiddlewares(),o=t instanceof T?t:new T({...e,type:n||"unknow",originalError:t instanceof Error?t:new Error(t)});r?.onError?.(o),E({...e,level:"error",type:n,message:t})}});const C=e=>async(t,n)=>{const r=B.getMiddlewares(),o=b(e);let s={trigger:e,event:t,value:n};if(r?.onMessage){const e=await r.onMessage(s);if(!1===e)return void o.warn("blocked by middleware","POST_MESSAGE");!0!==e&&(s={...s,...e})}c({[g]:{timestamp:+new Date,event:s.event,trigger:e,value:s.value}})};function $(e,t,n){if(!e)return;const r=e();var o;null!=(o=r)&&"function"==typeof o.then?(t?B.setI18nConfig(t,{loading:!0,lngStoreKey:"",resources:{}}):B.setGlobalI18nConfig({loading:!0,lngStoreKey:"",resources:{}}),r.then(e=>{if(t)return B.setI18nConfig(t,{...e,loading:!1}),void n?.();const r=a(e.lngStoreKey);c({[e.lngStoreKey]:void 0},!0),c({[e.lngStoreKey]:r},!0),B.setGlobalI18nConfig({...e,loading:!1})}).catch(e=>{_(new T({name:t?.name||"app",module:t?.module,type:"I18N",originalError:e}))})):t?B.setI18nConfig(t,r):B.setGlobalI18nConfig(r)}function S(e,t){const n=(t,n,r)=>{const o=B.getI18nConfig(e)||B.getGlobalI18nConfig();let s=r;if(void 0===s&&(s="string"==typeof n?n:t),!o)return _(new T({...e,type:"I18N",originalError:new Error("config not exist")})),s;if(o.loading)return s;const{lngStoreKey:i,resources:u}=o,c=a(i);if(void 0===i||void 0===c)return _(new T({...e,type:"I18N",originalError:new Error("locale key not defined")})),s;const l=u?.[c];if(!l)return _(new T({...e,type:"I18N",originalError:new Error(`locale resource \`${c}\` not exist`)})),s;if(!l[t])return _(new T({...e,type:"I18N",originalError:new Error(`locale key \`${t}\` not exist`)})),s;const d=l[t];if(!n||"string"==typeof n||"[object Object]"!==Object.prototype.toString.call(n))return d;const m=Object.keys(n);return m.length?m.reduce((e,t)=>{const r=new RegExp(`{\\s*${t}\\s*}`,"g");return e.replace(r,n[t].toString())},d):d};return n.update=(n,r)=>{const o={..."app"===r?B.getGlobalI18nConfig():B.getI18nConfig(e),...n};"app"===r?B.setGlobalI18nConfig(o):B.setI18nConfig(e,o),t()},n}const O=e=>`${e}?${+new Date}`,R=(e,t)=>e.some(e=>e.name===t.name&&e.module===t.module),M=e=>new Promise((t,n)=>{window.requirejs(e,t,n)}),N=e=>{e.forEach(e=>{w.includes(e)||window.requirejs.undef(e)})},I=e=>{const t=a(y),n={};Object.keys(e).forEach(t=>{w.includes(t)||(n[t]=`${e[t]}#${t}`,window.requirejs.undef(t))}),window.requirejs.config({paths:n}),c({[y]:{...t,...n}},!0)},k=e=>window.requirejs.defined(e),j=()=>a(f),A=(e,t)=>{const n=Array.isArray(e)?e:[e];n.every(e=>R(j(),e))&&t();const r=l({[f](e){const o=e;n.every(e=>R(o,e))&&(r(),t())}});return r},P=(e,t)=>{const n=a(y);if(t&&k(e))return;if(!n[e]&&t)return void window.requirejs.config({paths:{[e]:`${t}#${e}`}});let r=O(n[e]);if(t){r=`${t}#${e}`;try{const{registry:n}=window.requirejs.s.contexts._;n?.[e].error&&(r=O(t))}catch(e){}}window.requirejs.undef(e),window.requirejs.config({paths:{[e]:r}})},x=e=>{const{name:t,module:n}=e;return n?`${t}.${n}`:t};function D(){return a(h)}const _=e=>{const{name:t,module:n,type:r}=e;b({name:t,module:n}).error(e,r)};class T extends Error{constructor(e){super(e.originalError.message),this.type=e.type,this.originalError=e.originalError,this.module=e.module,this.name=e.name}}function U(e){const{componentNode:t,name:n,module:r,type:o,i18nUpdate:s}=e,i={};let a,u;return Object.getOwnPropertyNames(t).forEach(e=>{"function"==typeof t[e]&&("$onMessage"!==e?"$i18n"!==e?"vue3"===o&&v.includes(e)||(i[e]=t[e]):u=t[e]:a=t[e])}),u&&$(u,{name:n,module:r},s),B.setComponentActions({name:n,module:r},i),a?(c={name:n,module:r},d=a,l({[g](e){const{trigger:t,value:n,event:r}=e;c.name===t.name&&c.module===t.module||d({event:r,value:n,trigger:t})}})):()=>null;var c,d}function F(e){const t=j();R(t,e)||t.push(e),c({[f]:t},!0)}function L(e){const{name:t,module:n}=e;let r=j();r=r.filter(e=>e.name!==t||e.module!==n),c({[f]:r},!0),B.deleteComponentActions({name:t,module:n})}function Z(e){const{name:t,module:n,url:r}=e,o=a(y);return{name:t,module:n,url:r||o[t]}}function q(e,t){const{name:n,module:r}=e;return`${t} ${[n,r].filter(Boolean).join("-")}`}const G=e=>{const n=q(e.$self,"various-component-fallback");return t().createElement("div",{className:n},"Loading")},K=({$error:e,$reload:n,$self:r})=>{const o=q(r,"various-component-error_fallback");return t().createElement("div",{className:o},t().createElement("h3",null,e.type),t().createElement("p",null,e.message),t().createElement("button",{type:"button",onClick:n},"Reload"))},V=()=>t().createElement("div",null,"App Container is not defined");var B=new class{constructor(){this.fallbackComponent=G,this.errorFallbackComponent=K,this.storeActions={},this.componentActions={},this.i18nConfigs={},this.middlewares={}}setMiddlewares(e){this.middlewares=e}getMiddlewares(){return this.middlewares}setI18nConfig(e,t){const n=x(e);this.i18nConfigs[n]={...this.i18nConfigs[n],...t}}getI18nConfig(e){const t=x(e);return this.i18nConfigs[t]}setGlobalI18nConfig(e){this.globalI18nConfig={...this.globalI18nConfig,...e}}getGlobalI18nConfig(){return this.globalI18nConfig}setComponentActions(e,t){const n=x(e);this.componentActions[n]=t}deleteComponentActions(e){const t=x(e);delete this.componentActions[t]}getComponentActions(e){const t=x(e);return this.componentActions[t]}setStoreActions(e){this.storeActions=e}getStoreActions(){return this.storeActions}setFallbackComponent(e){this.fallbackComponent=e}getFallbackComponent(){return this.fallbackComponent}setErrorFallbackComponent(e){this.errorFallbackComponent=e}getErrorFallbackComponent(){return this.errorFallbackComponent}};class H extends e.Component{static displayName="various-error-boundary";state={hasError:!1};componentDidCatch(e){const{name:t,module:n}=this.props,r=e instanceof T?e:new T({name:t,module:n,type:"app"===t?"APP_ERROR":"SCRIPT_ERROR",originalError:e});this.setState({hasError:!0}),this.error=r,_(r),P(this.props.name),L({name:t,module:n})}$self=Z(this.props);reload=()=>{this.error=void 0,this.setState({hasError:!1})};render(){const e=B.getErrorFallbackComponent(),n=p();return this.state.hasError?t().createElement(e,{$self:this.$self,$reload:this.reload,$store:n,$error:this.error}):this.props.children}}var W=H,Y=e=>async function(t){const n=B.getMiddlewares(),r=b(e);let{name:o,module:s,action:i,value:a}=t;if(n?.onDispatch){const t=await n.onDispatch({target:{name:o,module:s},action:i,value:a,trigger:e});if(!1===t)return r.warn("blocked by middleware","DISPATCH"),Promise.resolve();!0!==t&&(o=t.target.name,s=t.target.module,i=t.action,a=t.value)}if("app"===o){const t=B.getStoreActions()[i];if(!t){const t=`action "${i}" is not present`,n=new T({...e,type:"DISPATCH",originalError:new Error(t)});throw _(n),n}return d(t,a,e)}const u=B.getComponentActions({name:o,module:s});if(!u){const t="component is not ready",n=new T({...e,type:"DISPATCH",originalError:new Error(t)});throw _(n),n}const c=u[i];if(!c){const t=`action "${i}" is not present`,n=new T({...e,type:"DISPATCH",originalError:new Error(t)});throw _(n),n}return Promise.resolve(c(a,e))},z=(e,t=!0)=>{const n=a(y),r=B.getMiddlewares(),{name:o,module:s,url:i}=e,u=+new Date,c=e=>{t&&_(e)};return i&&P(o,i),new Promise((e,t)=>{if(!i&&!n[o]&&!(e=>window.requirejs.specified(e))(o)){const e=new T({name:o,module:s,type:"NOT_DEFINED",originalError:new Error(`module "${o}" not defined`)});return c(e),void t(e)}window.requirejs([o],n=>{const i=+new Date;if(r?.onLoad?.({name:o,module:s,loadStart:u,loadEnd:i,beenLoaded:k(o)}),!n){const e=new T({name:o,module:s,type:"INVALID_MODULE",originalError:new Error(`module "${o}" invalid`)});return P(o),c(e),void t(e)}const a="default"in n?n.default:n,l=s?n[s]:a;if(void 0===l&&s){const e=new T({name:o,module:s,type:"SUBMODULE_NOT_DEFINED",originalError:new Error(`submodule "${s}" not defined`)});return P(o),c(e),void t(e)}e(l)},e=>{const[n]=e.requireModules;P(o,i),P(n);let r="LOADING_ERROR";n!==o&&(r="SUBMODULE_LOADING_ERROR"),e.message.includes("https://requirejs.org/docs/errors.html")||(r=n===o?"SCRIPT_ERROR":"SUBMODULE_SCRIPT_ERROR");const s=new T({name:o,module:n===o?void 0:n,type:r,originalError:e});c(s),t(s)})})};function J(){return J=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},J.apply(null,arguments)}var Q=function(n){const{name:r,module:o,url:s,watchKeys:i,onMounted:c}=n,l=i||Object.keys(a());class d extends e.Component{static displayName="various-react-component";state={componentReady:!1,isError:!1};unSubscribeMessage=()=>null;componentDidMount(){this.isUnMounted=!1,this.mountComponent()}componentWillUnmount(){this.error=void 0,this.ComponentNode=null,this.isUnMounted=!0,this.unSubscribeMessage(),L({name:r,module:o})}mountComponent=async()=>{try{const n=await z({name:r,module:o,url:s},!1);if(this.isUnMounted)return;await(e=n,t={name:r,module:o},new Promise((n,r)=>{e.$$typeof||e.prototype?.isReactComponent||"function"==typeof e?n():r(new T({...t,originalError:new Error("not a valid React component"),type:"INVALID_COMPONENT"}))})),n.displayName=x({name:r,module:o}),F({name:r,module:o}),this.unSubscribeMessage=U({componentNode:n,name:r,module:o,i18nUpdate:()=>this.forceUpdate()}),this.ComponentNode=n,this.setState({componentReady:!0}),c?.()}catch(e){if(this.isUnMounted)return;this.error=e,this.setState({componentReady:!0,isError:!0})}var e,t};$postMessage=C({name:r,module:o});$dispatch=Y({name:r,module:o});$t=S({name:r,module:o},()=>this.forceUpdate());$logger=b({name:r,module:o});$self=Z({name:r,module:o,url:s});render(){const e=B.getFallbackComponent(),{$silent:n,$componentProps:o,$ref:s}=this.props,{componentReady:i,isError:a}=this.state,u=p(),c=this.ComponentNode;if(a)throw this.error;return i?t().createElement(c,J({},o,{$self:this.$self,$dispatch:this.$dispatch,$store:u,$postMessage:this.$postMessage,$t:this.$t,$logger:this.$logger,ref:s})):n||k(r)?null:t().createElement(e,{$self:this.$self,$store:u})}}const m=u(...l)(d);return m.displayName="various-connector",m},X=function(n){const{name:r,module:o,url:s,watchKeys:i,onMounted:u}=n,c=i||Object.keys(a()),l=n=>{const i=m(...c),a=(0,e.useRef)(),l=(0,e.useRef)(),d=(0,e.useRef)(!1),p=(0,e.useRef)(),f=(0,e.useRef)(!1),g=(0,e.useRef)(),h=(0,e.useRef)(Z({name:r,module:o,url:s})),y=(0,e.useRef)(null),v=(0,e.useRef)(),w=(0,e.useRef)(),E=(0,e.useRef)(),$=(0,e.useRef)(),O=(0,e.useRef)(),[R,M]=(0,e.useState)(!1),[N,I]=(0,e.useState)(!1),j=B.getFallbackComponent(),{$silent:A,$componentProps:P}=n,x=(0,e.useCallback)(()=>{const e=b({name:r,module:o}),t=Y({name:r,module:o}),n=C({name:r,module:o}),s=S({name:r,module:o},()=>{O.current?.()});v.current=a.current.ref({...P}),w.current=a.current.ref({...i});const u=a.current.createApp({setup(){const e=a.current.ref(0);return O.current=()=>{e.value+=1},{key:e}},errorCaptured(e){const t=e;p.current=t.message?.includes("https://react")?new T({originalError:new Error("not a valid Vue component"),name:r,module:o,type:"INVALID_COMPONENT"}):t,I(!0)},render(){return a.current.h(g.current,{...v.current.value,various:{$dispatch:t,$logger:e,$postMessage:n,$t:s,$store:w.current.value,$self:h.current},key:this.key})}});l.current||(l.current=u.mount(y.current)),d.current=!0,E.current=()=>u.unmount()},[P,i]),D=(0,e.useCallback)(async()=>{try{const e=await z({name:"vue"});a.current=e;const t=await z({name:r,module:o,url:s},!1);if(f.current)return;await function(e,t){const n=new RegExp("^3\\.");return new Promise((r,o)=>{window.requirejs(["vue"],s=>{n.test(s.version)||o(new Error("Vue 3+ required, detected an incompatible version")),"function"!=typeof e?.render&&"function"!=typeof e?.setup?o(new T({...t,originalError:new Error("not a valid Vue component"),type:"INVALID_COMPONENT"})):r()})})}(t,{name:r,module:o}),F({name:r,module:o}),$.current=U({componentNode:t,name:r,module:o,type:"vue3",i18nUpdate(){O.current?.()}}),g.current=t,setTimeout(x),M(!0),u?.()}catch(e){if(f.current)return;p.current=e,M(!0),I(!0)}},[x]);if((0,e.useEffect)(()=>(f.current=!1,()=>{p.current=void 0,g.current=void 0,f.current=!0,L({name:r,module:o}),E.current?.(),$.current?.(),d.current=!1}),[]),(0,e.useEffect)(()=>{d.current||D()},[D]),(0,e.useEffect)(()=>{v.current&&(v.current.value={...P})},[P]),(0,e.useEffect)(()=>{w.current&&(w.current.value={...i})},[i]),N)throw p.current;return t().createElement(t().Fragment,null,R||A||k(r)?null:t().createElement(j,{$self:h.current,$store:i}),t().createElement("div",{className:q({name:r,module:o},"various-vue-component"),ref:y}))};l.displayName=x({name:r,module:o});const d=e=>t().createElement(l,e);return d.displayName="various-vue-component",d},ee=(e,n)=>{const{name:r,module:o,url:s,type:i="react"}=e,a=("vue3"===i?X:Q)({name:r,module:o,url:s,watchKeys:n}),u=e=>{const{$silent:n,$ref:i,...u}=e||{},c={$componentProps:u,$silent:n,$ref:i};return t().createElement(W,{name:r,module:o,url:s},t().createElement(a,c))};return u.displayName="various-creator",u},te=async({name:e,module:n,url:r,target:o,props:s,type:i="react",renderNode:a,onMounted:u})=>{try{const c=await z({name:"react-dom"}),l=("vue3"===i?X:Q)({name:e,module:n,url:r,onMounted:u}),d=c.createRoot(o),{$silent:m,$ref:p,...f}=s||{},g={$componentProps:f,$silent:m,$ref:p},h=t().createElement(W,{name:e,module:n,url:r},t().createElement(l,g));return d.render(a?a(h):h),()=>new Promise(e=>{setTimeout(()=>{d.unmount(),e()})})}catch(t){const r=new T({name:e,module:n,type:"SCRIPT_ERROR",originalError:t});return _(r),()=>Promise.resolve()}};const ne="5.1.4",re=n=>{const{dependencies:r,store:o={},actions:s={},Fallback:a,ErrorFallback:u,Root:c=V,middlewares:l,i18n:d,...m}=n;return l&&B.setMiddlewares(l),B.setStoreActions(s),a&&B.setFallbackComponent(a),u&&B.setErrorFallbackComponent(u),i({...o,[f]:[],[h]:m,[y]:r,[g]:null}),c.displayName="various-app-root",class extends e.Component{static displayName="various-app";componentDidMount(){$(d)}render(){return t().createElement(W,{name:"app",url:r.app},t().createElement(c,null))}}}}(),o}()});
|
|
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/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/core/config.ts","webpack://@variousjs/various/./src/core/logger.ts","webpack://@variousjs/various/./src/core/message.ts","webpack://@variousjs/various/./src/core/i18n.ts","webpack://@variousjs/various/./src/core/helper.ts","webpack://@variousjs/various/./src/core/default-component.tsx","webpack://@variousjs/various/./src/core/connector.ts","webpack://@variousjs/various/./src/core/error-boundary.tsx","webpack://@variousjs/various/./src/core/dispatch.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/react-component.tsx","webpack://@variousjs/various/./src/core/vue-component.tsx","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__959__;","// 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 useStore,\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 MOUNTED_COMPONENTS_KEY = Symbol('MOUNTED_COMPONENTS')\n\nexport const MESSAGE_KEY = Symbol('MESSAGE')\n\nexport const CONFIG_KEY = Symbol('CONFIG')\n\nexport const DEPENDENCIES_KEY = Symbol('DEPENDENCIES')\n\nexport const VUE_FUNCTION_OPTIONS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeUnmount',\n 'unmounted',\n 'errorCaptured',\n 'renderTracked',\n 'renderTriggered',\n 'activated',\n 'deactivated',\n 'setup',\n 'data',\n 'render',\n]\n\nexport const VUE_VERSION = 3\n\nexport const BASE_DEPENDENCIES = [\n 'react',\n 'react-dom',\n '@variousjs/various',\n 'app',\n]\n","import { createLogger as cl, LogEvent } from '@variousjs/various'\nimport connector from './connector'\nimport { getNameWithModule, VariousError } from './helper'\n\ntype LogArgs = Parameters<LogEvent>[0]\ntype LogLevel = LogArgs['level']\n\nconst logger = (args: LogArgs) => {\n const middlewares = connector.getMiddlewares()\n const canLog = middlewares?.onLog?.(args)\n\n if (canLog === false) {\n return\n }\n\n const colorMap: Record<LogLevel, string> = {\n info: 'blue',\n warn: 'orange',\n error: 'red',\n }\n const color = colorMap[args.level]\n\n const params = [\n `%c ${getNameWithModule(args)} `,\n `background:${color};border:1px solid ${color};padding:1px;border-radius:2px 0 0 2px;color: #fff;`,\n ]\n\n if (args.type) {\n params[0] = `${params[0]}%c ${args.type} %c`\n params.push(\n `border:1px solid ${color};padding:1px;border-radius:0 2px 2px 0;color:${color};`,\n 'background:transparent',\n )\n }\n\n if (args.level !== 'info') {\n params[0] = ` ${params[0]}`\n }\n\n window.console[args.level](...params, args.message)\n}\n\nconst createLogger: typeof cl = (moduleDefined) => ({\n info(message, type) {\n logger({\n ...moduleDefined, level: 'info', type, message,\n })\n },\n warn(message, type) {\n logger({\n ...moduleDefined, level: 'warn', type, message,\n })\n },\n error(message, type) {\n const middlewares = connector.getMiddlewares()\n const error = message instanceof VariousError\n ? message\n : new VariousError({\n ...moduleDefined,\n type: type || 'unknow',\n originalError: message instanceof Error ? message : new Error(message),\n })\n\n middlewares?.onError?.(error)\n\n logger({\n ...moduleDefined, level: 'error', type, message,\n })\n },\n})\n\nexport default createLogger\n","import { ModuleDefined, OnMessage, createPostMessage as cpm } from '@variousjs/various'\nimport connector from './connector'\nimport createLogger from './logger'\nimport { emit, subscribe } from './store'\nimport { MESSAGE_KEY } from './config'\n\nexport const createPostMessage: typeof cpm = (moduleDefined) => async (event, value) => {\n const middlewares = connector.getMiddlewares()\n const logger = createLogger(moduleDefined)\n\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 logger.warn('blocked by middleware', 'POST_MESSAGE')\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 createOnMessage = (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 {\n Intl,\n ModuleDefined,\n I18n,\n I18nConfig,\n} from '@variousjs/various'\nimport connector from './connector'\nimport { VariousError, onError, isPromiseLike } from './helper'\nimport { getStore, emit } from './store'\n\nexport function createI18nConfig(\n method?: I18n,\n moduleDefined?: ModuleDefined,\n callback?: () => void,\n) {\n if (!method) {\n return\n }\n\n const i18nConfig = method()\n\n if (!isPromiseLike(i18nConfig)) {\n if (moduleDefined) {\n connector.setI18nConfig(moduleDefined, i18nConfig)\n } else {\n connector.setGlobalI18nConfig(i18nConfig)\n }\n return\n }\n\n if (moduleDefined) {\n connector.setI18nConfig(moduleDefined, {\n loading: true,\n lngStoreKey: '',\n resources: {},\n })\n } else {\n connector.setGlobalI18nConfig({\n loading: true,\n lngStoreKey: '',\n resources: {},\n })\n }\n\n i18nConfig\n .then((res) => {\n if (moduleDefined) {\n connector.setI18nConfig(moduleDefined, { ...res, loading: false })\n callback?.()\n return\n }\n\n const locale = getStore(res.lngStoreKey)\n\n emit({ [res.lngStoreKey]: undefined }, true)\n emit({ [res.lngStoreKey]: locale }, true)\n connector.setGlobalI18nConfig({ ...res, loading: false })\n })\n .catch((e: Error) => {\n onError(new VariousError({\n name: moduleDefined?.name || 'app',\n module: moduleDefined?.module,\n type: 'I18N',\n originalError: e,\n }))\n })\n}\n\nexport function createI18n(\n moduleDefined: ModuleDefined,\n updater: () => void,\n) {\n const ctx: Intl = (key, params, defaultString) => {\n const i18nConfig = connector.getI18nConfig(moduleDefined) || connector.getGlobalI18nConfig()\n\n let defaultText = defaultString\n if (defaultText === undefined) {\n defaultText = typeof params === 'string' ? params : key\n }\n\n if (!i18nConfig) {\n onError(new VariousError({\n ...moduleDefined,\n type: 'I18N',\n originalError: new Error('config not exist'),\n }))\n return defaultText\n }\n\n if (i18nConfig.loading) {\n return defaultText\n }\n\n const { lngStoreKey, resources } = i18nConfig\n const locale: string | undefined = getStore(lngStoreKey)\n\n if (lngStoreKey === undefined || locale === undefined) {\n onError(new VariousError({\n ...moduleDefined,\n type: 'I18N',\n originalError: new Error('locale key not defined'),\n }))\n return defaultText\n }\n\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 defaultText\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 defaultText\n }\n\n const text = resource[key]\n\n if (!params || typeof params === 'string' || 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 }\n\n ctx.update = (config, type) => {\n const i18nConfig = type === 'app'\n ? connector.getGlobalI18nConfig()\n : connector.getI18nConfig(moduleDefined)\n const next = { ...i18nConfig, ...config } as I18nConfig\n\n if (type === 'app') {\n connector.setGlobalI18nConfig(next)\n } else {\n connector.setI18nConfig(moduleDefined, next)\n }\n\n updater()\n }\n\n return ctx\n}\n","import {\n onComponentMounted as ocm,\n isModuleLoaded as im,\n preloadModules as pp,\n removeLoadedModules as rm,\n defineDependencies as dd,\n VariousError as ve,\n ErrorType as et,\n ModuleDefined,\n OnMessage,\n I18n,\n VariousComponentType,\n} from '@variousjs/various'\nimport { getStore, subscribe, emit } from './store'\nimport createLogger from './logger'\nimport {\n CONFIG_KEY,\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n VUE_VERSION,\n VUE_FUNCTION_OPTIONS,\n BASE_DEPENDENCIES,\n} from './config'\nimport { PublicActions, RequiredComponent } from '../types'\nimport connector from './connector'\nimport { createOnMessage } from './message'\nimport { createI18nConfig } from './i18n'\n\nconst getUrlHash = (url: string) => `${url}?${+new Date()}`\n\nconst hasModule = (modules: ModuleDefined[], module: ModuleDefined) => modules\n .some((c) => c.name === module.name && c.module === module.module)\n\nexport const preloadModules: typeof pp = (names) => new Promise<void>((resolve, reject) => {\n window.requirejs(names, resolve, reject)\n})\n\nexport const removeLoadedModules: typeof rm = (names) => {\n names.forEach((name) => {\n if (!BASE_DEPENDENCIES.includes(name)) {\n window.requirejs.undef(name)\n }\n })\n}\n\nexport const defineDependencies: typeof dd = (deps) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n const next = {} as Record<string, string>\n\n Object.keys(deps).forEach((name) => {\n if (!BASE_DEPENDENCIES.includes(name)) {\n next[name] = `${deps[name]}#${name}`\n window.requirejs.undef(name)\n }\n })\n\n window.requirejs.config({ paths: next })\n emit({ [DEPENDENCIES_KEY]: { ...dependencies, ...next } }, true)\n}\n\nexport const isModuleLoaded: typeof im = (name) => window.requirejs.defined(name)\n\nexport const isModuleSpecified = (name: string) => window.requirejs.specified(name)\n\nexport const getMountedComponents = () => getStore(MOUNTED_COMPONENTS_KEY)\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 }\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 resetDependencyConfig = (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 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 function getConfig<C extends object = {}>() {\n return getStore(CONFIG_KEY) as C\n}\n\nexport const onError = (e: VariousError) => {\n const { name, module, type } = e\n const logger = createLogger({ name, module })\n logger.error(e, type)\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\nexport function checkReactComponent(component: RequiredComponent, moduleDefined: ModuleDefined) {\n return new Promise<void>((reslove, reject) => {\n if (component.$$typeof || component.prototype?.isReactComponent || typeof component === 'function') {\n reslove()\n return\n }\n\n reject(new VariousError({\n ...moduleDefined,\n originalError: new Error('not a valid React component'),\n type: 'INVALID_COMPONENT',\n }))\n })\n}\n\nexport function isPromiseLike<T>(value: T | PromiseLike<T>): value is PromiseLike<T> {\n return value != null && typeof (value as any).then === 'function'\n}\n\nexport function checkVueComponent(component: RequiredComponent, moduleDefined: ModuleDefined) {\n const versionRegex = new RegExp(`^${VUE_VERSION}\\\\.`)\n\n return new Promise<void>((resolve, reject) => {\n window.requirejs(['vue'], (Vue: { version: string }) => {\n if (!versionRegex.test(Vue.version)) {\n reject(new Error(`Vue ${VUE_VERSION}+ required, detected an incompatible version`))\n }\n\n if (typeof component?.render === 'function' || typeof component?.setup === 'function') {\n resolve()\n return\n }\n\n reject(new VariousError({\n ...moduleDefined,\n originalError: new Error('not a valid Vue component'),\n type: 'INVALID_COMPONENT',\n }))\n })\n })\n}\n\nexport function parseComponentActions(params: ModuleDefined & {\n componentNode: RequiredComponent,\n type?: VariousComponentType,\n i18nUpdate: () => void,\n}) {\n const {\n componentNode,\n name,\n module,\n type,\n i18nUpdate,\n } = params\n\n const actions: PublicActions = {}\n let onMessageAction: OnMessage | undefined\n let i18nAction: I18n | undefined\n\n Object\n .getOwnPropertyNames(componentNode)\n .forEach((method) => {\n if (typeof componentNode[method] !== 'function') {\n return\n }\n if (method === '$onMessage') {\n onMessageAction = componentNode[method]\n return\n }\n if (method === '$i18n') {\n i18nAction = componentNode[method]\n return\n }\n if (type === 'vue3' && VUE_FUNCTION_OPTIONS.includes(method)) {\n return\n }\n\n actions[method] = componentNode[method]\n })\n\n if (i18nAction) {\n createI18nConfig(i18nAction, { name, module }, i18nUpdate)\n }\n\n connector.setComponentActions({ name, module }, actions)\n\n if (onMessageAction) {\n return createOnMessage({ name, module }, onMessageAction)\n }\n\n return () => null\n}\n\nexport function updateMountedComponent(moduleDefined: ModuleDefined) {\n const mountedComponents = getMountedComponents()\n\n if (!hasModule(mountedComponents, moduleDefined)) {\n mountedComponents.push(moduleDefined)\n }\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n}\n\nexport function updateUnMountComponent(moduleDefined: ModuleDefined) {\n const { name, module } = moduleDefined\n let mountedComponents = getMountedComponents()\n\n mountedComponents = mountedComponents\n .filter((item) => item.name !== name || item.module !== module)\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n connector.deleteComponentActions({ name, module })\n}\n\nexport function getSelfInfo(params: ModuleDefined & { url?: string }) {\n const { name, module, url } = params\n const dependencies = getStore(DEPENDENCIES_KEY)\n\n return {\n name,\n module,\n url: url || dependencies[name],\n }\n}\n\nexport function getClassNameWithModule(self: ModuleDefined, prefix: string) {\n const { name, module } = self\n return `${prefix} ${[name, module].filter(Boolean).join('-')}`\n}\n","import React, { ComponentType } from 'react'\nimport { FallbackNode, ErrorFallbackNode } from '@variousjs/various'\nimport { getClassNameWithModule } from './helper'\nimport { Store } from '../types'\n\nexport const Fallback: FallbackNode<Store> = (props) => {\n const className = getClassNameWithModule(props.$self, 'various-component-fallback')\n return (\n <div className={className}>Loading</div>\n )\n}\n\nexport const ErrorFallback: ErrorFallbackNode<Store> = ({ $error, $reload, $self }) => {\n const className = getClassNameWithModule($self, 'various-component-error_fallback')\n return (\n <div className={className}>\n <h3>{$error.type}</h3>\n <p>{$error.message}</p>\n <button type=\"button\" onClick={$reload}>\n Reload\n </button>\n </div>\n )\n}\n\nexport const Root: ComponentType = () => (\n <div>App Container is not defined</div>\n)\n","import {\n FallbackNode,\n ErrorFallbackNode,\n App,\n ModuleDefined,\n} from '@variousjs/various'\nimport { Fallback, ErrorFallback } from './default-component'\nimport {\n PublicActions,\n Store,\n ConnectorI18nConfig,\n Actions,\n} from '../types'\nimport { getNameWithModule } from './helper'\n\nclass Connector {\n private fallbackComponent: FallbackNode<Store>\n\n private errorFallbackComponent: ErrorFallbackNode<Store>\n\n private storeActions: Actions<Store>\n\n private componentActions: Record<string, PublicActions>\n\n private i18nConfigs: Record<string, ConnectorI18nConfig | undefined>\n\n private globalI18nConfig: ConnectorI18nConfig | undefined\n\n private middlewares: App['middlewares']\n\n constructor() {\n this.fallbackComponent = Fallback\n this.errorFallbackComponent = ErrorFallback\n this.storeActions = {}\n this.componentActions = {}\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: ConnectorI18nConfig) {\n const name = getNameWithModule(moduleDefined)\n this.i18nConfigs[name] = { ...this.i18nConfigs[name], ...config }\n }\n\n getI18nConfig(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n return this.i18nConfigs[name]\n }\n\n setGlobalI18nConfig(config: ConnectorI18nConfig) {\n this.globalI18nConfig = { ...this.globalI18nConfig, ...config }\n }\n\n getGlobalI18nConfig() {\n return this.globalI18nConfig\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 setFallbackComponent(fallbackComponent: FallbackNode<Store>) {\n this.fallbackComponent = fallbackComponent\n }\n\n getFallbackComponent() {\n return this.fallbackComponent\n }\n\n setErrorFallbackComponent(errorFallbackComponent: ErrorFallbackNode<Store>) {\n this.errorFallbackComponent = errorFallbackComponent\n }\n\n getErrorFallbackComponent() {\n return this.errorFallbackComponent\n }\n}\n\nexport default new Connector()\n","import React, { Component } from 'react'\nimport { VariousError as ve } from '@variousjs/various'\nimport {\n onError,\n VariousError,\n resetDependencyConfig,\n updateUnMountComponent,\n getSelfInfo,\n} from './helper'\nimport connector from './connector'\nimport { ErrorBoundaryProps, Store } from '../types'\nimport { getUserStore } from './store'\n\nclass ErrorBoundary extends Component<ErrorBoundaryProps> {\n static displayName = 'various-error-boundary'\n\n state = {\n hasError: false,\n }\n\n private error?: ve\n\n componentDidCatch(e: Error | VariousError) {\n const { name, module } = this.props\n const error = e instanceof VariousError\n ? e\n : new VariousError({\n name,\n module,\n type: name === 'app' ? 'APP_ERROR' : 'SCRIPT_ERROR',\n originalError: e,\n })\n\n this.setState({ hasError: true })\n this.error = error\n onError(error)\n resetDependencyConfig(this.props.name)\n updateUnMountComponent({ name, module })\n }\n\n $self = getSelfInfo(this.props)\n\n reload = () => {\n this.error = undefined\n this.setState({ hasError: false })\n }\n\n render() {\n const ErrorFallbackNode = connector.getErrorFallbackComponent()\n const store = getUserStore()\n\n if (this.state.hasError) {\n return (\n <ErrorFallbackNode\n $self={this.$self}\n $reload={this.reload}\n $store={store as Store}\n $error={this.error!}\n />\n )\n }\n\n return this.props.children\n }\n}\n\nexport default ErrorBoundary\n","import { createDispatch as cd } from '@variousjs/various'\nimport connector from './connector'\nimport { dispatch } from './store'\nimport { onError, VariousError } from './helper'\nimport createLogger from './logger'\n\nconst createDispatch: typeof cd = (moduleDefined) => async function (params) {\n const middlewares = connector.getMiddlewares()\n const logger = createLogger(moduleDefined)\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 logger.warn('blocked by middleware', 'DISPATCH')\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 { createModule as cm, ObjectRecord } from '@variousjs/various'\nimport { RequireError } from '../types'\nimport { DEPENDENCIES_KEY } from './config'\nimport { getStore } from './store'\nimport connector from './connector'\nimport {\n isModuleLoaded,\n resetDependencyConfig,\n VariousError,\n onError,\n isModuleSpecified,\n} from './helper'\n\nconst createModule: typeof cm = (config, logError = true) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n const middlewares = connector.getMiddlewares()\n const { name, module, url } = config\n const loadStart = +new Date()\n\n const logOnError = (e: VariousError) => {\n if (logError) {\n onError(e)\n }\n }\n\n if (url) {\n resetDependencyConfig(name, url)\n }\n\n return new Promise<any>((resolve, reject) => {\n if (!url && !dependencies[name] && !isModuleSpecified(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 logOnError(error)\n reject(error)\n return\n }\n\n window.requirejs([name], (C?: ObjectRecord) => {\n const loadEnd = +new Date()\n\n middlewares?.onLoad?.({\n name,\n module,\n loadStart,\n loadEnd,\n beenLoaded: isModuleLoaded(name),\n })\n\n if (!C) {\n const error = new VariousError({\n name,\n module,\n type: 'INVALID_MODULE',\n originalError: new Error(`module \"${name}\" invalid`),\n })\n\n resetDependencyConfig(name)\n logOnError(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 === undefined && 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 resetDependencyConfig(name)\n logOnError(error)\n reject(error)\n return\n }\n\n resolve(actualModule)\n }, (e: RequireError) => {\n const [requireModule] = e.requireModules\n\n resetDependencyConfig(name, url)\n resetDependencyConfig(requireModule)\n\n let errorType: VariousError['type'] = 'LOADING_ERROR'\n\n if (requireModule !== name) {\n errorType = 'SUBMODULE_LOADING_ERROR'\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 logOnError(error)\n reject(error)\n })\n })\n}\n\nexport default createModule\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import React, { Component } from 'react'\nimport {\n ComponentDefaultProps,\n VariousError as ve,\n ModuleDefined,\n} from '@variousjs/various'\nimport {\n checkReactComponent,\n getNameWithModule,\n updateUnMountComponent,\n updateMountedComponent,\n parseComponentActions,\n isModuleLoaded,\n getSelfInfo,\n} from './helper'\nimport { connect, getStore, getUserStore } from './store'\nimport connector from './connector'\nimport { createPostMessage } from './message'\nimport createDispatch from './dispatch'\nimport createLogger from './logger'\nimport { createI18n } from './i18n'\nimport createModule from './create-module'\nimport {\n CreateComponentState,\n CreateComponentProps,\n RequiredComponent,\n Store,\n} from '../types'\n\nfunction reactComponent<P extends object>(config: ModuleDefined & {\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> & ComponentDefaultProps,\n CreateComponentState\n > {\n static displayName = 'various-react-component'\n\n state = {\n componentReady: false,\n isError: false,\n }\n\n private error?: ve | Error\n\n private ComponentNode: RequiredComponent | null\n\n private isUnMounted?: boolean\n\n private unSubscribeMessage = () => null as unknown\n\n componentDidMount() {\n this.isUnMounted = false // fix StrictMode\n this.mountComponent()\n }\n\n componentWillUnmount() {\n this.error = undefined\n this.ComponentNode = null\n this.isUnMounted = true\n this.unSubscribeMessage()\n updateUnMountComponent({ name, module })\n }\n\n mountComponent = async () => {\n try {\n const componentNode = await createModule<RequiredComponent>({ name, module, url }, false)\n\n if (this.isUnMounted) {\n return\n }\n\n await checkReactComponent(componentNode, { name, module })\n\n componentNode.displayName = getNameWithModule({ name, module })\n\n updateMountedComponent({ name, module })\n\n this.unSubscribeMessage = parseComponentActions({\n componentNode,\n name,\n module,\n i18nUpdate: () => this.forceUpdate(),\n })\n\n this.ComponentNode = componentNode\n this.setState({ componentReady: true })\n\n onMounted?.()\n } catch (e) {\n if (this.isUnMounted) {\n return\n }\n\n this.error = e as Error\n this.setState({ componentReady: true, isError: true })\n }\n }\n\n $postMessage = createPostMessage({ name, module })\n\n $dispatch = createDispatch({ name, module })\n\n $t = createI18n({ name, module }, () => this.forceUpdate())\n\n $logger = createLogger({ name, module })\n\n $self = getSelfInfo({ name, module, url })\n\n render() {\n const Fallback = connector.getFallbackComponent()\n const { $silent, $componentProps, $ref } = this.props\n const { componentReady, isError } = this.state\n const store = getUserStore()\n const ComponentNode = this.ComponentNode as RequiredComponent\n\n if (isError) {\n throw this.error\n }\n\n if (!componentReady) {\n if ($silent || isModuleLoaded(name)) {\n return null\n }\n\n return (\n <Fallback\n $self={this.$self}\n $store={store as Store}\n />\n )\n }\n\n return (\n <ComponentNode\n {...$componentProps}\n $self={this.$self}\n $dispatch={this.$dispatch}\n $store={store}\n $postMessage={this.$postMessage}\n $t={this.$t}\n $logger={this.$logger}\n ref={$ref}\n />\n )\n }\n }\n\n const Connected = connect(...storeKeys)(R)\n Connected.displayName = 'various-connector'\n\n return Connected\n}\n\nexport default reactComponent\n","import React, {\n FC,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport Vue, { ComponentPublicInstance } from 'vue'\nimport {\n ComponentDefaultProps,\n ModuleDefined,\n VariousError as ve,\n ObjectRecord,\n} from '@variousjs/various'\nimport connector from './connector'\nimport createModule from './create-module'\nimport { getStore, useStore } from './store'\nimport {\n getNameWithModule,\n updateUnMountComponent,\n updateMountedComponent,\n checkVueComponent,\n parseComponentActions,\n isModuleLoaded,\n VariousError,\n getSelfInfo,\n getClassNameWithModule,\n} from './helper'\nimport createDispatch from './dispatch'\nimport createLogger from './logger'\nimport { createPostMessage } from './message'\nimport { CreateComponentProps, RequiredComponent } from '../types'\nimport { createI18n } from './i18n'\n\nfunction vueComponent<P extends object>(config: ModuleDefined & {\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 const V: FC<CreateComponentProps<P> & ComponentDefaultProps> = (props) => {\n const store = useStore(...storeKeys)\n\n const vueRef = useRef<typeof Vue>()\n const vmRef = useRef<ComponentPublicInstance>()\n const isVueMounted = useRef(false)\n const errorRef = useRef<Error | ve>()\n const isUnMountedRef = useRef(false)\n const ComponentNodeRef = useRef<RequiredComponent>()\n const selfRef = useRef(getSelfInfo({ name, module, url }))\n\n const containerDivRef = useRef<HTMLDivElement | null>(null)\n const propsReactiveRef = useRef<{ value: ObjectRecord }>()\n const storeReactiveRef = useRef<{ value: ObjectRecord }>()\n const unMountVue = useRef<() => void>()\n const unSubscribeMessageRef = useRef<() => void>()\n const updateVueComponentRef = useRef<() => void>()\n\n const [componentReady, setComponentReady] = useState(false)\n const [isError, setIsError] = useState(false)\n\n const Fallback = connector.getFallbackComponent()\n const { $silent, $componentProps } = props\n\n const mountVue = useCallback(() => {\n const $logger = createLogger({ name, module })\n const $dispatch = createDispatch({ name, module })\n const $postMessage = createPostMessage({ name, module })\n const $t = createI18n({ name, module }, () => {\n updateVueComponentRef.current?.()\n })\n\n propsReactiveRef.current = vueRef.current!.ref<ObjectRecord>({ ...$componentProps })\n storeReactiveRef.current = vueRef.current!.ref<ObjectRecord>({ ...store })\n\n const vueApp = vueRef.current!.createApp({\n setup() {\n const renderKey = vueRef.current!.ref(0)\n updateVueComponentRef.current = () => {\n renderKey.value += 1\n }\n return {\n key: renderKey,\n }\n },\n\n errorCaptured(e) {\n const error = e as Error\n errorRef.current = error.message?.includes('https://react')\n ? new VariousError({\n originalError: new Error('not a valid Vue component'),\n name,\n module,\n type: 'INVALID_COMPONENT',\n })\n : error\n setIsError(true)\n },\n\n render() {\n return vueRef.current!.h(ComponentNodeRef.current as any, {\n ...propsReactiveRef.current!.value,\n various: {\n $dispatch,\n $logger,\n $postMessage,\n $t,\n $store: storeReactiveRef.current!.value,\n $self: selfRef.current,\n },\n // eslint-disable-next-line react/no-this-in-sfc\n key: this.key,\n })\n },\n })\n\n // fix StrictMode\n if (!vmRef.current) {\n vmRef.current = vueApp.mount(containerDivRef.current!)\n }\n\n isVueMounted.current = true\n unMountVue.current = () => vueApp.unmount()\n }, [$componentProps, store])\n\n const mountComponent = useCallback(async () => {\n try {\n const vue = await createModule<typeof Vue>({ name: 'vue' })\n vueRef.current = vue\n\n const componentNode = await createModule<RequiredComponent>({ name, module, url }, false)\n\n if (isUnMountedRef.current) {\n return\n }\n\n await checkVueComponent(componentNode, { name, module })\n\n updateMountedComponent({ name, module })\n\n unSubscribeMessageRef.current = parseComponentActions({\n componentNode,\n name,\n module,\n type: 'vue3',\n i18nUpdate() {\n updateVueComponentRef.current?.()\n },\n })\n\n ComponentNodeRef.current = componentNode\n\n setTimeout(mountVue)\n setComponentReady(true)\n\n onMounted?.()\n } catch (e) {\n if (isUnMountedRef.current) {\n return\n }\n\n errorRef.current = e as Error\n setComponentReady(true)\n setIsError(true)\n }\n }, [mountVue])\n\n useEffect(() => {\n // fix StrictMode\n isUnMountedRef.current = false\n\n return () => {\n errorRef.current = undefined\n ComponentNodeRef.current = undefined\n isUnMountedRef.current = true\n updateUnMountComponent({ name, module })\n unMountVue.current?.()\n unSubscribeMessageRef.current?.()\n isVueMounted.current = false\n }\n }, [])\n\n useEffect(() => {\n if (isVueMounted.current) {\n return\n }\n mountComponent()\n }, [mountComponent])\n\n useEffect(() => {\n if (propsReactiveRef.current) {\n propsReactiveRef.current.value = { ...$componentProps }\n }\n }, [$componentProps])\n\n useEffect(() => {\n if (storeReactiveRef.current) {\n storeReactiveRef.current.value = { ...store }\n }\n }, [store])\n\n if (isError) {\n throw errorRef.current\n }\n\n return (\n <>\n {\n !componentReady && !$silent && !isModuleLoaded(name)\n ? (\n <Fallback\n $self={selfRef.current}\n $store={store}\n />\n )\n : null\n }\n <div\n className={getClassNameWithModule({ name, module }, 'various-vue-component')}\n ref={containerDivRef}\n />\n </>\n )\n }\n\n V.displayName = getNameWithModule({ name, module })\n\n const VueComponent: FC<\n CreateComponentProps<P> & ComponentDefaultProps\n > = (props) => (<V {...props} />)\n\n VueComponent.displayName = 'various-vue-component'\n\n return VueComponent\n}\n\nexport default vueComponent\n","import React from 'react'\nimport { createComponent as cc, ComponentDefaultProps } from '@variousjs/various'\nimport createReactComponent from './react-component'\nimport createVueComponent from './vue-component'\nimport ErrorBoundary from './error-boundary'\nimport { CreateComponentProps } from '../types'\n\nconst createComponent: typeof cc<any, any> = (config, storeKeys) => {\n const {\n name,\n module,\n url,\n type = 'react',\n } = config\n\n const C = (type === 'vue3' ? createVueComponent : createReactComponent)({\n name,\n module,\n url,\n watchKeys: storeKeys as string[],\n })\n\n const component = (props: ComponentDefaultProps) => {\n const { $silent, $ref, ...rest } = props || {}\n const nextProps = {\n $componentProps: rest, $silent, $ref,\n } as ComponentDefaultProps & CreateComponentProps<any>\n return (\n <ErrorBoundary name={name} module={module} url={url}>\n <C {...nextProps} />\n </ErrorBoundary>\n )\n }\n\n component.displayName = 'various-creator'\n return component\n}\n\nexport default createComponent\n","import React from 'react'\nimport reactDom from 'react-dom/client'\nimport { renderComponent as rc } from '@variousjs/various'\nimport createReactComponent from './react-component'\nimport createVueComponent from './vue-component'\nimport { onError, VariousError } from './helper'\nimport ErrorBoundary from './error-boundary'\nimport createModule from './create-module'\n\nconst renderComponent: typeof rc = async ({\n name,\n module,\n url,\n target,\n props,\n type = 'react',\n renderNode,\n onMounted,\n}) => {\n try {\n const ReactDOM = await createModule<typeof reactDom>({ name: 'react-dom' })\n\n const C = (type === 'vue3' ? createVueComponent : createReactComponent)({\n name,\n module,\n url,\n onMounted,\n })\n\n const root = ReactDOM.createRoot(target as Element)\n const { $silent, $ref, ...rest } = props || {}\n const nextProps: any = { $componentProps: rest, $silent, $ref }\n const node = (\n <ErrorBoundary name={name} module={module} url={url}>\n <C {...nextProps} />\n </ErrorBoundary>\n )\n\n root.render(renderNode ? renderNode(node) : node)\n\n return () => new Promise<void>((resolve) => {\n setTimeout(() => {\n root.unmount()\n resolve()\n })\n })\n } catch (e) {\n const error = new VariousError({\n name,\n module,\n type: 'SCRIPT_ERROR',\n originalError: e as Error,\n })\n onError(error)\n return () => Promise.resolve()\n }\n}\n\nexport default renderComponent\n","import React, { Component } from 'react'\nimport { App, Config } from '@variousjs/various'\nimport { createStore } from './store'\nimport {\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n MESSAGE_KEY,\n CONFIG_KEY,\n} from './config'\nimport connector from './connector'\nimport { createI18nConfig } from './i18n'\nimport { Root as RootComponent } from './default-component'\nimport ErrorBoundary from './error-boundary'\nimport { Store } from '../types'\n\nexport { default as Nycticorax } from 'nycticorax'\n\nexport { getUserStore as getStore } from './store'\nexport { default as createDispatch } from './dispatch'\nexport { createPostMessage } from './message'\nexport { default as createLogger } from './logger'\n\nexport {\n getConfig,\n preloadModules,\n isModuleLoaded,\n getMountedComponents,\n onComponentMounted,\n defineDependencies,\n removeLoadedModules,\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\n// eslint-disable-next-line no-undef\nexport const version = VERSION\n\nexport const getApp = (config: Config & App<Store>) => {\n const {\n dependencies,\n store = {},\n actions = {},\n Fallback,\n ErrorFallback,\n Root = RootComponent,\n middlewares,\n i18n,\n ...rest\n } = config\n\n if (middlewares) {\n connector.setMiddlewares(middlewares)\n }\n\n connector.setStoreActions(actions)\n\n if (Fallback) {\n connector.setFallbackComponent(Fallback)\n }\n if (ErrorFallback) {\n connector.setErrorFallbackComponent(ErrorFallback)\n }\n\n createStore({\n ...store,\n [MOUNTED_COMPONENTS_KEY]: [],\n [CONFIG_KEY]: rest,\n [DEPENDENCIES_KEY]: dependencies,\n [MESSAGE_KEY]: null,\n })\n\n Root.displayName = 'various-app-root'\n\n return class extends Component {\n static displayName = 'various-app'\n\n componentDidMount() {\n createI18nConfig(i18n)\n }\n\n render() {\n return (\n <ErrorBoundary name=\"app\" url={dependencies.app}>\n <Root />\n </ErrorBoundary>\n )\n }\n }\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__959__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","definition","obj","prop","Symbol","toStringTag","createStore","connect","dispatch","useStore","Nycticorax","getUserStore","globalStore","store","MOUNTED_COMPONENTS_KEY","MESSAGE_KEY","CONFIG_KEY","DEPENDENCIES_KEY","VUE_FUNCTION_OPTIONS","BASE_DEPENDENCIES","logger","args","middlewares","connector","getMiddlewares","canLog","onLog","color","info","warn","error","level","params","getNameWithModule","type","window","console","message","moduleDefined","VariousError","originalError","Error","onError","createPostMessage","async","event","createLogger","next","onMessage","check","timestamp","Date","createI18nConfig","method","callback","i18nConfig","then","setI18nConfig","loading","lngStoreKey","resources","setGlobalI18nConfig","res","locale","catch","name","createI18n","updater","ctx","defaultString","getI18nConfig","getGlobalI18nConfig","defaultText","resource","text","arg","regex","replace","update","config","getUrlHash","url","hasModule","modules","some","preloadModules","names","Promise","resolve","reject","requirejs","removeLoadedModules","undef","defineDependencies","deps","dependencies","paths","isModuleLoaded","defined","getMountedComponents","onComponentMounted","every","m","unSubscribe","mountedModules","resetDependencyConfig","path","registry","contexts","_","getConfig","data","parseComponentActions","componentNode","i18nUpdate","actions","onMessageAction","i18nAction","setComponentActions","v","createOnMessage","updateMountedComponent","mountedComponents","updateUnMountComponent","item","deleteComponentActions","getSelfInfo","getClassNameWithModule","prefix","Boolean","join","Fallback","className","$self","React","ErrorFallback","$error","$reload","onClick","Root","fallbackComponent","errorFallbackComponent","storeActions","componentActions","i18nConfigs","setMiddlewares","globalI18nConfig","getComponentActions","setStoreActions","getStoreActions","setFallbackComponent","getFallbackComponent","setErrorFallbackComponent","getErrorFallbackComponent","ErrorBoundary","static","hasError","componentDidCatch","reload","ErrorFallbackNode","$store","children","action","onDispatch","target","storeAction","errorMessage","componentAction","createModule","logError","loadStart","logOnError","specified","isModuleSpecified","C","loadEnd","onLoad","beenLoaded","defaultModule","actualModule","requireModule","requireModules","errorType","_extends","assign","bind","arguments","apply","watchKeys","onMounted","storeKeys","R","componentReady","isError","unSubscribeMessage","componentDidMount","isUnMounted","mountComponent","ComponentNode","component","reslove","$$typeof","isReactComponent","displayName","forceUpdate","$postMessage","$dispatch","createDispatch","$t","$logger","$silent","$componentProps","$ref","ref","Connected","V","vueRef","useRef","vmRef","isVueMounted","errorRef","isUnMountedRef","ComponentNodeRef","selfRef","containerDivRef","propsReactiveRef","storeReactiveRef","unMountVue","unSubscribeMessageRef","updateVueComponentRef","setComponentReady","setIsError","mountVue","useCallback","current","vueApp","createApp","setup","renderKey","errorCaptured","h","various","mount","unmount","vue","versionRegex","Vue","test","version","checkVueComponent","useEffect","VueComponent","createComponent","createVueComponent","createReactComponent","rest","nextProps","renderNode","ReactDOM","root","createRoot","node","VERSION","getApp","RootComponent","i18n","app"],"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/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/core/config.ts","webpack://@variousjs/various/./src/core/logger.ts","webpack://@variousjs/various/./src/core/message.ts","webpack://@variousjs/various/./src/core/i18n.ts","webpack://@variousjs/various/./src/core/helper.ts","webpack://@variousjs/various/./src/core/default-component.tsx","webpack://@variousjs/various/./src/core/connector.ts","webpack://@variousjs/various/./src/core/error-boundary.tsx","webpack://@variousjs/various/./src/core/dispatch.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/react-component.tsx","webpack://@variousjs/various/./src/core/vue-component.tsx","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__959__;","// 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 useStore,\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 MOUNTED_COMPONENTS_KEY = Symbol('MOUNTED_COMPONENTS')\n\nexport const MESSAGE_KEY = Symbol('MESSAGE')\n\nexport const CONFIG_KEY = Symbol('CONFIG')\n\nexport const DEPENDENCIES_KEY = Symbol('DEPENDENCIES')\n\nexport const STANDALONE_CONFIG_READY = Symbol('STANDALONE_CONFIG_READY')\n\nexport const VUE_FUNCTION_OPTIONS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeUnmount',\n 'unmounted',\n 'errorCaptured',\n 'renderTracked',\n 'renderTriggered',\n 'activated',\n 'deactivated',\n 'setup',\n 'data',\n 'render',\n]\n\nexport const VUE_VERSION = 3\n\nexport const BASE_DEPENDENCIES = [\n 'react',\n 'react-dom',\n '@variousjs/various',\n 'app',\n]\n","import { createLogger as cl, LogEvent } from '@variousjs/various'\nimport connector from './connector'\nimport { getNameWithModule, VariousError } from './helper'\n\ntype LogArgs = Parameters<LogEvent>[0]\ntype LogLevel = LogArgs['level']\n\nconst logger = (args: LogArgs) => {\n const middlewares = connector.getMiddlewares()\n const canLog = middlewares?.onLog?.(args)\n\n if (canLog === false) {\n return\n }\n\n const colorMap: Record<LogLevel, string> = {\n info: 'blue',\n warn: 'orange',\n error: 'red',\n }\n const color = colorMap[args.level]\n\n const params = [\n `%c ${getNameWithModule(args)} `,\n `background:${color};border:1px solid ${color};padding:1px;border-radius:2px 0 0 2px;color: #fff;`,\n ]\n\n if (args.type) {\n params[0] = `${params[0]}%c ${args.type} %c`\n params.push(\n `border:1px solid ${color};padding:1px;border-radius:0 2px 2px 0;color:${color};`,\n 'background:transparent',\n )\n }\n\n if (args.level !== 'info') {\n params[0] = ` ${params[0]}`\n }\n\n window.console[args.level](...params, args.message)\n}\n\nconst createLogger: typeof cl = (moduleDefined) => ({\n info(message, type) {\n logger({\n ...moduleDefined, level: 'info', type, message,\n })\n },\n warn(message, type) {\n logger({\n ...moduleDefined, level: 'warn', type, message,\n })\n },\n error(message, type) {\n const middlewares = connector.getMiddlewares()\n const error = message instanceof VariousError\n ? message\n : new VariousError({\n ...moduleDefined,\n type: type || 'unknow',\n originalError: message instanceof Error ? message : new Error(message),\n })\n\n middlewares?.onError?.(error)\n\n logger({\n ...moduleDefined, level: 'error', type, message,\n })\n },\n})\n\nexport default createLogger\n","import { ModuleDefined, OnMessage, createPostMessage as cpm } from '@variousjs/various'\nimport connector from './connector'\nimport createLogger from './logger'\nimport { emit, subscribe } from './store'\nimport { MESSAGE_KEY } from './config'\n\nexport const createPostMessage: typeof cpm = (moduleDefined) => async (event, value) => {\n const middlewares = connector.getMiddlewares()\n const logger = createLogger(moduleDefined)\n\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 logger.warn('blocked by middleware', 'POST_MESSAGE')\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 createOnMessage = (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 {\n Intl,\n ModuleDefined,\n I18n,\n I18nConfig,\n} from '@variousjs/various'\nimport connector from './connector'\nimport { VariousError, onError, isPromiseLike } from './helper'\nimport { getStore, emit } from './store'\n\nexport function createI18nConfig(\n method?: I18n,\n moduleDefined?: ModuleDefined,\n callback?: () => void,\n) {\n if (!method) {\n return\n }\n\n const i18nConfig = method()\n\n if (!isPromiseLike(i18nConfig)) {\n if (moduleDefined) {\n connector.setI18nConfig(moduleDefined, i18nConfig)\n } else {\n connector.setGlobalI18nConfig(i18nConfig)\n }\n return\n }\n\n if (moduleDefined) {\n connector.setI18nConfig(moduleDefined, {\n loading: true,\n lngStoreKey: '',\n resources: {},\n })\n } else {\n connector.setGlobalI18nConfig({\n loading: true,\n lngStoreKey: '',\n resources: {},\n })\n }\n\n i18nConfig\n .then((res) => {\n if (moduleDefined) {\n connector.setI18nConfig(moduleDefined, { ...res, loading: false })\n callback?.()\n return\n }\n\n const locale = getStore(res.lngStoreKey)\n\n emit({ [res.lngStoreKey]: undefined }, true)\n emit({ [res.lngStoreKey]: locale }, true)\n connector.setGlobalI18nConfig({ ...res, loading: false })\n })\n .catch((e: Error) => {\n onError(new VariousError({\n name: moduleDefined?.name || 'app',\n module: moduleDefined?.module,\n type: 'I18N',\n originalError: e,\n }))\n })\n}\n\nexport function createI18n(\n moduleDefined: ModuleDefined,\n updater: () => void,\n) {\n const ctx: Intl = (key, params, defaultString) => {\n const i18nConfig = connector.getI18nConfig(moduleDefined) || connector.getGlobalI18nConfig()\n\n let defaultText = defaultString\n if (defaultText === undefined) {\n defaultText = typeof params === 'string' ? params : key\n }\n\n if (!i18nConfig) {\n onError(new VariousError({\n ...moduleDefined,\n type: 'I18N',\n originalError: new Error('config not exist'),\n }))\n return defaultText\n }\n\n if (i18nConfig.loading) {\n return defaultText\n }\n\n const { lngStoreKey, resources } = i18nConfig\n const locale: string | undefined = getStore(lngStoreKey)\n\n if (lngStoreKey === undefined || locale === undefined) {\n onError(new VariousError({\n ...moduleDefined,\n type: 'I18N',\n originalError: new Error('locale key not defined'),\n }))\n return defaultText\n }\n\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 defaultText\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 defaultText\n }\n\n const text = resource[key]\n\n if (!params || typeof params === 'string' || 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 }\n\n ctx.update = (config, type) => {\n const i18nConfig = type === 'app'\n ? connector.getGlobalI18nConfig()\n : connector.getI18nConfig(moduleDefined)\n const next = { ...i18nConfig, ...config } as I18nConfig\n\n if (type === 'app') {\n connector.setGlobalI18nConfig(next)\n } else {\n connector.setI18nConfig(moduleDefined, next)\n }\n\n updater()\n }\n\n return ctx\n}\n","import {\n onComponentMounted as ocm,\n isModuleLoaded as im,\n preloadModules as pp,\n removeLoadedModules as rm,\n defineDependencies as dd,\n VariousError as ve,\n ErrorType as et,\n ModuleDefined,\n OnMessage,\n I18n,\n VariousComponentType,\n} from '@variousjs/various'\nimport { getStore, subscribe, emit } from './store'\nimport createLogger from './logger'\nimport {\n CONFIG_KEY,\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n VUE_VERSION,\n VUE_FUNCTION_OPTIONS,\n BASE_DEPENDENCIES,\n} from './config'\nimport { PublicActions, RequiredComponent } from '../types'\nimport connector from './connector'\nimport { createOnMessage } from './message'\nimport { createI18nConfig } from './i18n'\n\nconst getUrlHash = (url: string) => `${url}?${+new Date()}`\n\nconst hasModule = (modules: ModuleDefined[], module: ModuleDefined) => modules\n .some((c) => c.name === module.name && c.module === module.module)\n\nexport const preloadModules: typeof pp = (names) => new Promise<void>((resolve, reject) => {\n window.requirejs(names, resolve, reject)\n})\n\nexport const removeLoadedModules: typeof rm = (names) => {\n names.forEach((name) => {\n if (!BASE_DEPENDENCIES.includes(name)) {\n window.requirejs.undef(name)\n }\n })\n}\n\nexport const defineDependencies: typeof dd = (deps) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n const next = {} as Record<string, string>\n\n Object.keys(deps).forEach((name) => {\n if (!BASE_DEPENDENCIES.includes(name)) {\n next[name] = `${deps[name]}#${name}`\n window.requirejs.undef(name)\n }\n })\n\n window.requirejs.config({ paths: next })\n emit({ [DEPENDENCIES_KEY]: { ...dependencies, ...next } }, true)\n}\n\nexport const isModuleLoaded: typeof im = (name) => window.requirejs.defined(name)\n\nexport const isModuleSpecified = (name: string) => window.requirejs.specified(name)\n\nexport const getMountedComponents = () => getStore(MOUNTED_COMPONENTS_KEY)\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 }\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 resetDependencyConfig = (name: string, url?: string) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n\n // ignore multiple custom module url\n if (url && isModuleLoaded(name)) {\n return\n }\n\n if (!dependencies[name] && url) {\n window.requirejs.config({\n paths: { [name]: `${url}#${name}` },\n })\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 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 function getConfig<C extends object = {}>() {\n return getStore(CONFIG_KEY) as C\n}\n\nexport const onError = (e: VariousError) => {\n const { name, module, type } = e\n const logger = createLogger({ name, module })\n logger.error(e, type)\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\nexport function checkReactComponent(component: RequiredComponent, moduleDefined: ModuleDefined) {\n return new Promise<void>((reslove, reject) => {\n if (component.$$typeof || component.prototype?.isReactComponent || typeof component === 'function') {\n reslove()\n return\n }\n\n reject(new VariousError({\n ...moduleDefined,\n originalError: new Error('not a valid React component'),\n type: 'INVALID_COMPONENT',\n }))\n })\n}\n\nexport function isPromiseLike<T>(value: T | PromiseLike<T>): value is PromiseLike<T> {\n return value != null && typeof (value as any).then === 'function'\n}\n\nexport function checkVueComponent(component: RequiredComponent, moduleDefined: ModuleDefined) {\n const versionRegex = new RegExp(`^${VUE_VERSION}\\\\.`)\n\n return new Promise<void>((resolve, reject) => {\n window.requirejs(['vue'], (Vue: { version: string }) => {\n if (!versionRegex.test(Vue.version)) {\n reject(new Error(`Vue ${VUE_VERSION}+ required, detected an incompatible version`))\n }\n\n if (typeof component?.render === 'function' || typeof component?.setup === 'function') {\n resolve()\n return\n }\n\n reject(new VariousError({\n ...moduleDefined,\n originalError: new Error('not a valid Vue component'),\n type: 'INVALID_COMPONENT',\n }))\n })\n })\n}\n\nexport function parseComponentActions(params: ModuleDefined & {\n componentNode: RequiredComponent,\n type?: VariousComponentType,\n i18nUpdate: () => void,\n}) {\n const {\n componentNode,\n name,\n module,\n type,\n i18nUpdate,\n } = params\n\n const actions: PublicActions = {}\n let onMessageAction: OnMessage | undefined\n let i18nAction: I18n | undefined\n\n Object\n .getOwnPropertyNames(componentNode)\n .forEach((method) => {\n if (typeof componentNode[method] !== 'function') {\n return\n }\n if (method === '$onMessage') {\n onMessageAction = componentNode[method]\n return\n }\n if (method === '$i18n') {\n i18nAction = componentNode[method]\n return\n }\n if (type === 'vue3' && VUE_FUNCTION_OPTIONS.includes(method)) {\n return\n }\n\n actions[method] = componentNode[method]\n })\n\n if (i18nAction) {\n createI18nConfig(i18nAction, { name, module }, i18nUpdate)\n }\n\n connector.setComponentActions({ name, module }, actions)\n\n if (onMessageAction) {\n return createOnMessage({ name, module }, onMessageAction)\n }\n\n return () => null\n}\n\nexport function updateMountedComponent(moduleDefined: ModuleDefined) {\n const mountedComponents = getMountedComponents()\n\n if (!hasModule(mountedComponents, moduleDefined)) {\n mountedComponents.push(moduleDefined)\n }\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n}\n\nexport function updateUnMountComponent(moduleDefined: ModuleDefined) {\n const { name, module } = moduleDefined\n let mountedComponents = getMountedComponents()\n\n mountedComponents = mountedComponents\n .filter((item) => item.name !== name || item.module !== module)\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n connector.deleteComponentActions({ name, module })\n}\n\nexport function getSelfInfo(params: ModuleDefined & { url?: string }) {\n const { name, module, url } = params\n const dependencies = getStore(DEPENDENCIES_KEY)\n\n return {\n name,\n module,\n url: url || dependencies[name],\n }\n}\n\nexport function getClassNameWithModule(self: ModuleDefined, prefix: string) {\n const { name, module } = self\n return `${prefix} ${[name, module].filter(Boolean).join('-')}`\n}\n","import React, { ComponentType } from 'react'\nimport { FallbackNode, ErrorFallbackNode } from '@variousjs/various'\nimport { getClassNameWithModule } from './helper'\nimport { Store } from '../types'\n\nexport const Fallback: FallbackNode<Store> = (props) => {\n const className = getClassNameWithModule(props.$self, 'various-component-fallback')\n return (\n <div className={className}>Loading</div>\n )\n}\n\nexport const ErrorFallback: ErrorFallbackNode<Store> = ({ $error, $reload, $self }) => {\n const className = getClassNameWithModule($self, 'various-component-error_fallback')\n return (\n <div className={className}>\n <h3>{$error.type}</h3>\n <p>{$error.message}</p>\n <button type=\"button\" onClick={$reload}>\n Reload\n </button>\n </div>\n )\n}\n\nexport const Root: ComponentType = () => (\n <div>App Container is not defined</div>\n)\n","import {\n FallbackNode,\n ErrorFallbackNode,\n App,\n ModuleDefined,\n} from '@variousjs/various'\nimport { Fallback, ErrorFallback } from './default-component'\nimport {\n PublicActions,\n Store,\n ConnectorI18nConfig,\n Actions,\n} from '../types'\nimport { getNameWithModule } from './helper'\n\nclass Connector {\n private fallbackComponent: FallbackNode<Store>\n\n private errorFallbackComponent: ErrorFallbackNode<Store>\n\n private storeActions: Actions<Store>\n\n private componentActions: Record<string, PublicActions>\n\n private i18nConfigs: Record<string, ConnectorI18nConfig | undefined>\n\n private globalI18nConfig: ConnectorI18nConfig | undefined\n\n private middlewares: App['middlewares']\n\n constructor() {\n this.fallbackComponent = Fallback\n this.errorFallbackComponent = ErrorFallback\n this.storeActions = {}\n this.componentActions = {}\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: ConnectorI18nConfig) {\n const name = getNameWithModule(moduleDefined)\n this.i18nConfigs[name] = { ...this.i18nConfigs[name], ...config }\n }\n\n getI18nConfig(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n return this.i18nConfigs[name]\n }\n\n setGlobalI18nConfig(config: ConnectorI18nConfig) {\n this.globalI18nConfig = { ...this.globalI18nConfig, ...config }\n }\n\n getGlobalI18nConfig() {\n return this.globalI18nConfig\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 setFallbackComponent(fallbackComponent: FallbackNode<Store>) {\n this.fallbackComponent = fallbackComponent\n }\n\n getFallbackComponent() {\n return this.fallbackComponent\n }\n\n setErrorFallbackComponent(errorFallbackComponent: ErrorFallbackNode<Store>) {\n this.errorFallbackComponent = errorFallbackComponent\n }\n\n getErrorFallbackComponent() {\n return this.errorFallbackComponent\n }\n}\n\nexport default new Connector()\n","import React, { Component } from 'react'\nimport { VariousError as ve } from '@variousjs/various'\nimport {\n onError,\n VariousError,\n resetDependencyConfig,\n updateUnMountComponent,\n getSelfInfo,\n} from './helper'\nimport connector from './connector'\nimport { ErrorBoundaryProps, Store } from '../types'\nimport { getUserStore } from './store'\n\nclass ErrorBoundary extends Component<ErrorBoundaryProps> {\n static displayName = 'various-error-boundary'\n\n state = {\n hasError: false,\n }\n\n private error?: ve\n\n componentDidCatch(e: Error | VariousError) {\n const { name, module } = this.props\n const error = e instanceof VariousError\n ? e\n : new VariousError({\n name,\n module,\n type: name === 'app' ? 'APP_ERROR' : 'SCRIPT_ERROR',\n originalError: e,\n })\n\n this.setState({ hasError: true })\n this.error = error\n onError(error)\n resetDependencyConfig(this.props.name)\n updateUnMountComponent({ name, module })\n }\n\n $self = getSelfInfo(this.props)\n\n reload = () => {\n this.error = undefined\n this.setState({ hasError: false })\n }\n\n render() {\n const ErrorFallbackNode = connector.getErrorFallbackComponent()\n const store = getUserStore()\n\n if (this.state.hasError) {\n return (\n <ErrorFallbackNode\n $self={this.$self}\n $reload={this.reload}\n $store={store as Store}\n $error={this.error!}\n />\n )\n }\n\n return this.props.children\n }\n}\n\nexport default ErrorBoundary\n","import { createDispatch as cd } from '@variousjs/various'\nimport connector from './connector'\nimport { dispatch } from './store'\nimport { onError, VariousError } from './helper'\nimport createLogger from './logger'\n\nconst createDispatch: typeof cd = (moduleDefined) => async function (params) {\n const middlewares = connector.getMiddlewares()\n const logger = createLogger(moduleDefined)\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 logger.warn('blocked by middleware', 'DISPATCH')\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 { createModule as cm, ObjectRecord } from '@variousjs/various'\nimport { RequireError } from '../types'\nimport { DEPENDENCIES_KEY } from './config'\nimport { getStore } from './store'\nimport connector from './connector'\nimport {\n isModuleLoaded,\n resetDependencyConfig,\n VariousError,\n onError,\n isModuleSpecified,\n} from './helper'\n\nconst createModule: typeof cm = (config, logError = true) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n const middlewares = connector.getMiddlewares()\n const { name, module, url } = config\n const loadStart = +new Date()\n\n const logOnError = (e: VariousError) => {\n if (logError) {\n onError(e)\n }\n }\n\n if (url) {\n resetDependencyConfig(name, url)\n }\n\n return new Promise<any>((resolve, reject) => {\n if (!url && !dependencies[name] && !isModuleSpecified(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 logOnError(error)\n reject(error)\n return\n }\n\n window.requirejs([name], (C?: ObjectRecord) => {\n const loadEnd = +new Date()\n\n middlewares?.onLoad?.({\n name,\n module,\n loadStart,\n loadEnd,\n beenLoaded: isModuleLoaded(name),\n })\n\n if (!C) {\n const error = new VariousError({\n name,\n module,\n type: 'INVALID_MODULE',\n originalError: new Error(`module \"${name}\" invalid`),\n })\n\n resetDependencyConfig(name)\n logOnError(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 === undefined && 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 resetDependencyConfig(name)\n logOnError(error)\n reject(error)\n return\n }\n\n resolve(actualModule)\n }, (e: RequireError) => {\n const [requireModule] = e.requireModules\n\n resetDependencyConfig(name, url)\n resetDependencyConfig(requireModule)\n\n let errorType: VariousError['type'] = 'LOADING_ERROR'\n\n if (requireModule !== name) {\n errorType = 'SUBMODULE_LOADING_ERROR'\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 logOnError(error)\n reject(error)\n })\n })\n}\n\nexport default createModule\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import React, { Component } from 'react'\nimport {\n ComponentDefaultProps,\n VariousError as ve,\n ModuleDefined,\n} from '@variousjs/various'\nimport {\n checkReactComponent,\n getNameWithModule,\n updateUnMountComponent,\n updateMountedComponent,\n parseComponentActions,\n isModuleLoaded,\n getSelfInfo,\n} from './helper'\nimport { connect, getStore, getUserStore } from './store'\nimport connector from './connector'\nimport { createPostMessage } from './message'\nimport createDispatch from './dispatch'\nimport createLogger from './logger'\nimport { createI18n } from './i18n'\nimport createModule from './create-module'\nimport {\n CreateComponentState,\n CreateComponentProps,\n RequiredComponent,\n Store,\n} from '../types'\n\nfunction reactComponent<P extends object>(config: ModuleDefined & {\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> & ComponentDefaultProps,\n CreateComponentState\n > {\n static displayName = 'various-react-component'\n\n state = {\n componentReady: false,\n isError: false,\n }\n\n private error?: ve | Error\n\n private ComponentNode: RequiredComponent | null\n\n private isUnMounted?: boolean\n\n private unSubscribeMessage = () => null as unknown\n\n componentDidMount() {\n this.isUnMounted = false // fix StrictMode\n this.mountComponent()\n }\n\n componentWillUnmount() {\n this.error = undefined\n this.ComponentNode = null\n this.isUnMounted = true\n this.unSubscribeMessage()\n updateUnMountComponent({ name, module })\n }\n\n mountComponent = async () => {\n try {\n const componentNode = await createModule<RequiredComponent>({ name, module, url }, false)\n\n if (this.isUnMounted) {\n return\n }\n\n await checkReactComponent(componentNode, { name, module })\n\n componentNode.displayName = getNameWithModule({ name, module })\n\n updateMountedComponent({ name, module })\n\n this.unSubscribeMessage = parseComponentActions({\n componentNode,\n name,\n module,\n i18nUpdate: () => this.forceUpdate(),\n })\n\n this.ComponentNode = componentNode\n this.setState({ componentReady: true })\n\n onMounted?.()\n } catch (e) {\n if (this.isUnMounted) {\n return\n }\n\n this.error = e as Error\n this.setState({ componentReady: true, isError: true })\n }\n }\n\n $postMessage = createPostMessage({ name, module })\n\n $dispatch = createDispatch({ name, module })\n\n $t = createI18n({ name, module }, () => this.forceUpdate())\n\n $logger = createLogger({ name, module })\n\n $self = getSelfInfo({ name, module, url })\n\n render() {\n const Fallback = connector.getFallbackComponent()\n const { $silent, $componentProps, $ref } = this.props\n const { componentReady, isError } = this.state\n const store = getUserStore()\n const ComponentNode = this.ComponentNode as RequiredComponent\n\n if (isError) {\n throw this.error\n }\n\n if (!componentReady) {\n if ($silent || isModuleLoaded(name)) {\n return null\n }\n\n return (\n <Fallback\n $self={this.$self}\n $store={store as Store}\n />\n )\n }\n\n return (\n <ComponentNode\n {...$componentProps}\n $self={this.$self}\n $dispatch={this.$dispatch}\n $store={store}\n $postMessage={this.$postMessage}\n $t={this.$t}\n $logger={this.$logger}\n ref={$ref}\n />\n )\n }\n }\n\n const Connected = connect(...storeKeys)(R)\n Connected.displayName = 'various-connector'\n\n return Connected\n}\n\nexport default reactComponent\n","import React, {\n FC,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport Vue, { ComponentPublicInstance } from 'vue'\nimport {\n ComponentDefaultProps,\n ModuleDefined,\n VariousError as ve,\n ObjectRecord,\n} from '@variousjs/various'\nimport connector from './connector'\nimport createModule from './create-module'\nimport { getStore, useStore } from './store'\nimport {\n getNameWithModule,\n updateUnMountComponent,\n updateMountedComponent,\n checkVueComponent,\n parseComponentActions,\n isModuleLoaded,\n VariousError,\n getSelfInfo,\n getClassNameWithModule,\n} from './helper'\nimport createDispatch from './dispatch'\nimport createLogger from './logger'\nimport { createPostMessage } from './message'\nimport { CreateComponentProps, RequiredComponent } from '../types'\nimport { createI18n } from './i18n'\n\nfunction vueComponent<P extends object>(config: ModuleDefined & {\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 const V: FC<CreateComponentProps<P> & ComponentDefaultProps> = (props) => {\n const store = useStore(...storeKeys)\n\n const vueRef = useRef<typeof Vue>()\n const vmRef = useRef<ComponentPublicInstance>()\n const isVueMounted = useRef(false)\n const errorRef = useRef<Error | ve>()\n const isUnMountedRef = useRef(false)\n const ComponentNodeRef = useRef<RequiredComponent>()\n const selfRef = useRef(getSelfInfo({ name, module, url }))\n\n const containerDivRef = useRef<HTMLDivElement | null>(null)\n const propsReactiveRef = useRef<{ value: ObjectRecord }>()\n const storeReactiveRef = useRef<{ value: ObjectRecord }>()\n const unMountVue = useRef<() => void>()\n const unSubscribeMessageRef = useRef<() => void>()\n const updateVueComponentRef = useRef<() => void>()\n\n const [componentReady, setComponentReady] = useState(false)\n const [isError, setIsError] = useState(false)\n\n const Fallback = connector.getFallbackComponent()\n const { $silent, $componentProps } = props\n\n const mountVue = useCallback(() => {\n const $logger = createLogger({ name, module })\n const $dispatch = createDispatch({ name, module })\n const $postMessage = createPostMessage({ name, module })\n const $t = createI18n({ name, module }, () => {\n updateVueComponentRef.current?.()\n })\n\n propsReactiveRef.current = vueRef.current!.ref<ObjectRecord>({ ...$componentProps })\n storeReactiveRef.current = vueRef.current!.ref<ObjectRecord>({ ...store })\n\n const vueApp = vueRef.current!.createApp({\n setup() {\n const renderKey = vueRef.current!.ref(0)\n updateVueComponentRef.current = () => {\n renderKey.value += 1\n }\n return {\n key: renderKey,\n }\n },\n\n errorCaptured(e) {\n const error = e as Error\n errorRef.current = error.message?.includes('https://react')\n ? new VariousError({\n originalError: new Error('not a valid Vue component'),\n name,\n module,\n type: 'INVALID_COMPONENT',\n })\n : error\n setIsError(true)\n },\n\n render() {\n return vueRef.current!.h(ComponentNodeRef.current as any, {\n ...propsReactiveRef.current!.value,\n various: {\n $dispatch,\n $logger,\n $postMessage,\n $t,\n $store: storeReactiveRef.current!.value,\n $self: selfRef.current,\n },\n // eslint-disable-next-line react/no-this-in-sfc\n key: this.key,\n })\n },\n })\n\n // fix StrictMode\n if (!vmRef.current) {\n vmRef.current = vueApp.mount(containerDivRef.current!)\n }\n\n isVueMounted.current = true\n unMountVue.current = () => vueApp.unmount()\n }, [$componentProps, store])\n\n const mountComponent = useCallback(async () => {\n try {\n const vue = await createModule<typeof Vue>({ name: 'vue' })\n vueRef.current = vue\n\n const componentNode = await createModule<RequiredComponent>({ name, module, url }, false)\n\n if (isUnMountedRef.current) {\n return\n }\n\n await checkVueComponent(componentNode, { name, module })\n\n updateMountedComponent({ name, module })\n\n unSubscribeMessageRef.current = parseComponentActions({\n componentNode,\n name,\n module,\n type: 'vue3',\n i18nUpdate() {\n updateVueComponentRef.current?.()\n },\n })\n\n ComponentNodeRef.current = componentNode\n\n setTimeout(mountVue)\n setComponentReady(true)\n\n onMounted?.()\n } catch (e) {\n if (isUnMountedRef.current) {\n return\n }\n\n errorRef.current = e as Error\n setComponentReady(true)\n setIsError(true)\n }\n }, [mountVue])\n\n useEffect(() => {\n // fix StrictMode\n isUnMountedRef.current = false\n\n return () => {\n errorRef.current = undefined\n ComponentNodeRef.current = undefined\n isUnMountedRef.current = true\n updateUnMountComponent({ name, module })\n unMountVue.current?.()\n unSubscribeMessageRef.current?.()\n isVueMounted.current = false\n }\n }, [])\n\n useEffect(() => {\n if (isVueMounted.current) {\n return\n }\n mountComponent()\n }, [mountComponent])\n\n useEffect(() => {\n if (propsReactiveRef.current) {\n propsReactiveRef.current.value = { ...$componentProps }\n }\n }, [$componentProps])\n\n useEffect(() => {\n if (storeReactiveRef.current) {\n storeReactiveRef.current.value = { ...store }\n }\n }, [store])\n\n if (isError) {\n throw errorRef.current\n }\n\n return (\n <>\n {\n !componentReady && !$silent && !isModuleLoaded(name)\n ? (\n <Fallback\n $self={selfRef.current}\n $store={store}\n />\n )\n : null\n }\n <div\n className={getClassNameWithModule({ name, module }, 'various-vue-component')}\n ref={containerDivRef}\n />\n </>\n )\n }\n\n V.displayName = getNameWithModule({ name, module })\n\n const VueComponent: FC<\n CreateComponentProps<P> & ComponentDefaultProps\n > = (props) => (<V {...props} />)\n\n VueComponent.displayName = 'various-vue-component'\n\n return VueComponent\n}\n\nexport default vueComponent\n","import React from 'react'\nimport { createComponent as cc, ComponentDefaultProps } from '@variousjs/various'\nimport createReactComponent from './react-component'\nimport createVueComponent from './vue-component'\nimport ErrorBoundary from './error-boundary'\nimport { CreateComponentProps } from '../types'\n\nconst createComponent: typeof cc<any, any> = (config, storeKeys) => {\n const {\n name,\n module,\n url,\n type = 'react',\n } = config\n\n const C = (type === 'vue3' ? createVueComponent : createReactComponent)({\n name,\n module,\n url,\n watchKeys: storeKeys as string[],\n })\n\n const component = (props: ComponentDefaultProps) => {\n const { $silent, $ref, ...rest } = props || {}\n const nextProps = {\n $componentProps: rest, $silent, $ref,\n } as ComponentDefaultProps & CreateComponentProps<any>\n return (\n <ErrorBoundary name={name} module={module} url={url}>\n <C {...nextProps} />\n </ErrorBoundary>\n )\n }\n\n component.displayName = 'various-creator'\n return component\n}\n\nexport default createComponent\n","import React from 'react'\nimport reactDom from 'react-dom/client'\nimport { renderComponent as rc } from '@variousjs/various'\nimport createReactComponent from './react-component'\nimport createVueComponent from './vue-component'\nimport { onError, VariousError } from './helper'\nimport ErrorBoundary from './error-boundary'\nimport createModule from './create-module'\n\nconst renderComponent: typeof rc = async ({\n name,\n module,\n url,\n target,\n props,\n type = 'react',\n renderNode,\n onMounted,\n}) => {\n try {\n const ReactDOM = await createModule<typeof reactDom>({ name: 'react-dom' })\n\n const C = (type === 'vue3' ? createVueComponent : createReactComponent)({\n name,\n module,\n url,\n onMounted,\n })\n\n const root = ReactDOM.createRoot(target as Element)\n const { $silent, $ref, ...rest } = props || {}\n const nextProps: any = { $componentProps: rest, $silent, $ref }\n const node = (\n <ErrorBoundary name={name} module={module} url={url}>\n <C {...nextProps} />\n </ErrorBoundary>\n )\n\n root.render(renderNode ? renderNode(node) : node)\n\n return () => new Promise<void>((resolve) => {\n setTimeout(() => {\n root.unmount()\n resolve()\n })\n })\n } catch (e) {\n const error = new VariousError({\n name,\n module,\n type: 'SCRIPT_ERROR',\n originalError: e as Error,\n })\n onError(error)\n return () => Promise.resolve()\n }\n}\n\nexport default renderComponent\n","import React, { Component } from 'react'\nimport { App, Config } from '@variousjs/various'\nimport { createStore } from './store'\nimport {\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n MESSAGE_KEY,\n CONFIG_KEY,\n} from './config'\nimport connector from './connector'\nimport { createI18nConfig } from './i18n'\nimport { Root as RootComponent } from './default-component'\nimport ErrorBoundary from './error-boundary'\nimport { Store } from '../types'\n\nexport { default as Nycticorax } from 'nycticorax'\n\nexport { getUserStore as getStore } from './store'\nexport { default as createDispatch } from './dispatch'\nexport { createPostMessage } from './message'\nexport { default as createLogger } from './logger'\n\nexport {\n getConfig,\n preloadModules,\n isModuleLoaded,\n getMountedComponents,\n onComponentMounted,\n defineDependencies,\n removeLoadedModules,\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\n// eslint-disable-next-line no-undef\nexport const version = VERSION\n\nexport const getApp = (config: Config & App<Store>) => {\n const {\n dependencies,\n store = {},\n actions = {},\n Fallback,\n ErrorFallback,\n Root = RootComponent,\n middlewares,\n i18n,\n ...rest\n } = config\n\n if (middlewares) {\n connector.setMiddlewares(middlewares)\n }\n\n connector.setStoreActions(actions)\n\n if (Fallback) {\n connector.setFallbackComponent(Fallback)\n }\n if (ErrorFallback) {\n connector.setErrorFallbackComponent(ErrorFallback)\n }\n\n createStore({\n ...store,\n [MOUNTED_COMPONENTS_KEY]: [],\n [CONFIG_KEY]: rest,\n [DEPENDENCIES_KEY]: dependencies,\n [MESSAGE_KEY]: null,\n })\n\n Root.displayName = 'various-app-root'\n\n return class extends Component {\n static displayName = 'various-app'\n\n componentDidMount() {\n createI18nConfig(i18n)\n }\n\n render() {\n return (\n <ErrorBoundary name=\"app\" url={dependencies.app}>\n <Root />\n </ErrorBoundary>\n )\n }\n }\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__959__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","definition","obj","prop","Symbol","toStringTag","createStore","connect","dispatch","useStore","Nycticorax","getUserStore","globalStore","store","MOUNTED_COMPONENTS_KEY","MESSAGE_KEY","CONFIG_KEY","DEPENDENCIES_KEY","VUE_FUNCTION_OPTIONS","BASE_DEPENDENCIES","logger","args","middlewares","connector","getMiddlewares","canLog","onLog","color","info","warn","error","level","params","getNameWithModule","type","window","console","message","moduleDefined","VariousError","originalError","Error","onError","createPostMessage","async","event","createLogger","next","onMessage","check","timestamp","Date","createI18nConfig","method","callback","i18nConfig","then","setI18nConfig","loading","lngStoreKey","resources","setGlobalI18nConfig","res","locale","catch","name","createI18n","updater","ctx","defaultString","getI18nConfig","getGlobalI18nConfig","defaultText","resource","text","arg","regex","replace","update","config","getUrlHash","url","hasModule","modules","some","preloadModules","names","Promise","resolve","reject","requirejs","removeLoadedModules","undef","defineDependencies","deps","dependencies","paths","isModuleLoaded","defined","getMountedComponents","onComponentMounted","every","m","unSubscribe","mountedModules","resetDependencyConfig","path","registry","contexts","_","getConfig","data","parseComponentActions","componentNode","i18nUpdate","actions","onMessageAction","i18nAction","setComponentActions","v","createOnMessage","updateMountedComponent","mountedComponents","updateUnMountComponent","item","deleteComponentActions","getSelfInfo","getClassNameWithModule","prefix","Boolean","join","Fallback","className","$self","React","ErrorFallback","$error","$reload","onClick","Root","fallbackComponent","errorFallbackComponent","storeActions","componentActions","i18nConfigs","setMiddlewares","globalI18nConfig","getComponentActions","setStoreActions","getStoreActions","setFallbackComponent","getFallbackComponent","setErrorFallbackComponent","getErrorFallbackComponent","ErrorBoundary","static","hasError","componentDidCatch","reload","ErrorFallbackNode","$store","children","action","onDispatch","target","storeAction","errorMessage","componentAction","createModule","logError","loadStart","logOnError","specified","isModuleSpecified","C","loadEnd","onLoad","beenLoaded","defaultModule","actualModule","requireModule","requireModules","errorType","_extends","assign","bind","arguments","apply","watchKeys","onMounted","storeKeys","R","componentReady","isError","unSubscribeMessage","componentDidMount","isUnMounted","mountComponent","ComponentNode","component","reslove","$$typeof","isReactComponent","displayName","forceUpdate","$postMessage","$dispatch","createDispatch","$t","$logger","$silent","$componentProps","$ref","ref","Connected","V","vueRef","useRef","vmRef","isVueMounted","errorRef","isUnMountedRef","ComponentNodeRef","selfRef","containerDivRef","propsReactiveRef","storeReactiveRef","unMountVue","unSubscribeMessageRef","updateVueComponentRef","setComponentReady","setIsError","mountVue","useCallback","current","vueApp","createApp","setup","renderKey","errorCaptured","h","various","mount","unmount","vue","versionRegex","Vue","test","version","checkVueComponent","useEffect","VueComponent","createComponent","createVueComponent","createReactComponent","rest","nextProps","renderNode","ReactDOM","root","createRoot","node","VERSION","getApp","RootComponent","i18n","app"],"sourceRoot":""}
|
package/dist/standalone.js
CHANGED
|
@@ -2208,6 +2208,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2208
2208
|
/* harmony export */ DEPENDENCIES_KEY: function() { return /* binding */ DEPENDENCIES_KEY; },
|
|
2209
2209
|
/* harmony export */ MESSAGE_KEY: function() { return /* binding */ MESSAGE_KEY; },
|
|
2210
2210
|
/* harmony export */ MOUNTED_COMPONENTS_KEY: function() { return /* binding */ MOUNTED_COMPONENTS_KEY; },
|
|
2211
|
+
/* harmony export */ STANDALONE_CONFIG_READY: function() { return /* binding */ STANDALONE_CONFIG_READY; },
|
|
2211
2212
|
/* harmony export */ VUE_FUNCTION_OPTIONS: function() { return /* binding */ VUE_FUNCTION_OPTIONS; },
|
|
2212
2213
|
/* harmony export */ VUE_VERSION: function() { return /* binding */ VUE_VERSION; }
|
|
2213
2214
|
/* harmony export */ });
|
|
@@ -2215,6 +2216,7 @@ const MOUNTED_COMPONENTS_KEY = Symbol('MOUNTED_COMPONENTS');
|
|
|
2215
2216
|
const MESSAGE_KEY = Symbol('MESSAGE');
|
|
2216
2217
|
const CONFIG_KEY = Symbol('CONFIG');
|
|
2217
2218
|
const DEPENDENCIES_KEY = Symbol('DEPENDENCIES');
|
|
2219
|
+
const STANDALONE_CONFIG_READY = Symbol('STANDALONE_CONFIG_READY');
|
|
2218
2220
|
const VUE_FUNCTION_OPTIONS = ['beforeCreate', 'created', 'beforeMount', 'mounted', 'beforeUpdate', 'updated', 'beforeUnmount', 'unmounted', 'errorCaptured', 'renderTracked', 'renderTriggered', 'activated', 'deactivated', 'setup', 'data', 'render'];
|
|
2219
2221
|
const VUE_VERSION = 3;
|
|
2220
2222
|
const BASE_DEPENDENCIES = ['react', 'react-dom', '@variousjs/various', 'app'];
|
|
@@ -2762,7 +2764,15 @@ const resetDependencyConfig = (name, url) => {
|
|
|
2762
2764
|
const dependencies = (0,_store__WEBPACK_IMPORTED_MODULE_0__.getStore)(_config__WEBPACK_IMPORTED_MODULE_2__.DEPENDENCIES_KEY);
|
|
2763
2765
|
|
|
2764
2766
|
// ignore multiple custom module url
|
|
2765
|
-
if (url &&
|
|
2767
|
+
if (url && isModuleLoaded(name)) {
|
|
2768
|
+
return;
|
|
2769
|
+
}
|
|
2770
|
+
if (!dependencies[name] && url) {
|
|
2771
|
+
window.requirejs.config({
|
|
2772
|
+
paths: {
|
|
2773
|
+
[name]: `${url}#${name}`
|
|
2774
|
+
}
|
|
2775
|
+
});
|
|
2766
2776
|
return;
|
|
2767
2777
|
}
|
|
2768
2778
|
let path = getUrlHash(dependencies[name]);
|
|
@@ -3850,7 +3860,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
3850
3860
|
[_core_config__WEBPACK_IMPORTED_MODULE_8__.MESSAGE_KEY]: null,
|
|
3851
3861
|
[_core_config__WEBPACK_IMPORTED_MODULE_8__.CONFIG_KEY]: {},
|
|
3852
3862
|
[_core_config__WEBPACK_IMPORTED_MODULE_8__.DEPENDENCIES_KEY]: {},
|
|
3853
|
-
|
|
3863
|
+
[_core_config__WEBPACK_IMPORTED_MODULE_8__.STANDALONE_CONFIG_READY]: undefined
|
|
3854
3864
|
});
|
|
3855
3865
|
window.define('react', [], () => (react__WEBPACK_IMPORTED_MODULE_2___default()));
|
|
3856
3866
|
const Standalone = props => {
|
|
@@ -3864,9 +3874,7 @@ const Standalone = props => {
|
|
|
3864
3874
|
$ref,
|
|
3865
3875
|
storeKeys
|
|
3866
3876
|
} = props;
|
|
3867
|
-
const
|
|
3868
|
-
configReady
|
|
3869
|
-
} = (0,_core_store__WEBPACK_IMPORTED_MODULE_7__.useStore)('configReady');
|
|
3877
|
+
const store = (0,_core_store__WEBPACK_IMPORTED_MODULE_7__.useStore)(_core_config__WEBPACK_IMPORTED_MODULE_8__.STANDALONE_CONFIG_READY);
|
|
3870
3878
|
const [componentReady, setComponentReady] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(false);
|
|
3871
3879
|
const componentNode = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();
|
|
3872
3880
|
(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => {
|
|
@@ -3880,7 +3888,7 @@ const Standalone = props => {
|
|
|
3880
3888
|
setComponentReady(true);
|
|
3881
3889
|
});
|
|
3882
3890
|
}, [name, url, module, dependencies, type, storeKeys]);
|
|
3883
|
-
if (!componentReady ||
|
|
3891
|
+
if (!componentReady || store[_core_config__WEBPACK_IMPORTED_MODULE_8__.STANDALONE_CONFIG_READY] === false) {
|
|
3884
3892
|
const FallBack = _core_connector__WEBPACK_IMPORTED_MODULE_5__["default"].getFallbackComponent();
|
|
3885
3893
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(FallBack, {
|
|
3886
3894
|
$self: {
|
|
@@ -3921,7 +3929,7 @@ const createConfig = config => {
|
|
|
3921
3929
|
store
|
|
3922
3930
|
} = config;
|
|
3923
3931
|
(0,_core_store__WEBPACK_IMPORTED_MODULE_7__.emit)({
|
|
3924
|
-
|
|
3932
|
+
[_core_config__WEBPACK_IMPORTED_MODULE_8__.STANDALONE_CONFIG_READY]: false
|
|
3925
3933
|
}, true);
|
|
3926
3934
|
if (errorFallback) {
|
|
3927
3935
|
_core_connector__WEBPACK_IMPORTED_MODULE_5__["default"].setErrorFallbackComponent(errorFallback);
|
|
@@ -3934,7 +3942,7 @@ const createConfig = config => {
|
|
|
3934
3942
|
}
|
|
3935
3943
|
(0,_helper__WEBPACK_IMPORTED_MODULE_6__.defineModules)(baseDependencies).then(() => {
|
|
3936
3944
|
(0,_core_store__WEBPACK_IMPORTED_MODULE_7__.emit)({
|
|
3937
|
-
|
|
3945
|
+
[_core_config__WEBPACK_IMPORTED_MODULE_8__.STANDALONE_CONFIG_READY]: true
|
|
3938
3946
|
});
|
|
3939
3947
|
});
|
|
3940
3948
|
};
|