UNPKG

framework

Version:

Framework for TypeScript applications

3 lines (2 loc) 5.29 kB
function e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((t=>Object.getOwnPropertyDescriptor(e,t).enumerable))),r.push.apply(r,a)}return r}function t(t){for(var a=1;a<arguments.length;a++){var n=null!=arguments[a]?arguments[a]:{};a%2?e(Object(n),1).forEach((e=>{r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):e(Object(n)).forEach((e=>{Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function r(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:1,configurable:1,writable:1}):e[t]=r,e}function a(e){var{source:t,cases:r}=e,a={},n=h.store(t,{name:"current",sid:"-htjkz7"})?t.updates:t;for(var o in r)o in r&&(()=>{var e=r[o];a[o]=n.filterMap(e),n=n.filter({fn:t=>!e(t)})})();return a.__=n,a}function n(e=w){var t,r,a;let n,o;h.domain(e,{sid:"d6uzry"})?(n=e,o={}):h.domain(e.domain,{sid:"-fuus8v"})?(n=e.domain,o=e):(n=w,o={});const i=n.createStore(Boolean(0),{name:"$opened",sid:"nsf3zm"}),c=n.createStore({},{name:"$params",sid:"7jlluc"}),s=n.createStore({},{name:"$query",sid:"-h3y3q"}),d={enter:null!==(t=o.enter)&&void 0!==t?t:n.createEvent({name:"enter",sid:"-hoeep"}),update:null!==(r=o.update)&&void 0!==r?r:n.createEvent({name:"update",sid:"-e6k2lh"}),exit:null!==(a=o.exit)&&void 0!==a?a:n.createEvent({name:"exit",sid:"36qrk9"}),$opened:i,$params:c,$query:s,$props:p({and:[{params:c,query:s}],or:{name:"$props",sid:"-kba9zb"}})};return c.on([d.enter,d.update],((e,{params:t})=>t)),s.on([d.enter,d.update],((e,{query:t})=>t)),d.$opened.on(d.enter,(()=>Boolean(1))).reset(d.exit),d}function o(e,t){return t[O]=e,t}function i(e){return e[O]}function c(e){if(e.route.component)return i(e.route.component)}function s(e){const r=e.domain||w,n=((e,{emitHistory:t=0,trackRedirects:r=0}={})=>{const a='undefined'!=typeof document?E():$(),n=e.createEffect((()=>{}),{name:"historyPush",sid:"ph1zyv"}),o=e.createEffect((()=>{}),{name:"historyPushSearch",sid:"yxzraw"}),i=e.createEffect((()=>{}),{name:"historyReplace",sid:"-pcfgpo"}),c=e.createEvent({name:"historyChanged",sid:"-yqk2kz"}),s=e.createEvent({name:"historyEmitCurrent",sid:"nhk4d5"}),d=e.createStore('',{name:"$redirectTo",sid:"581zmv"});return l({and:[{clock:s,fn:()=>({action:'REPLACE',hash:a.location.hash,pathname:a.location.pathname,search:a.location.search}),target:c}],or:{sid:"km8cdb"}}),t&&(n.use((e=>a.push(e))),i.use((e=>a.replace(e))),o.use((e=>a.push({search:e}))),s.watch((()=>{let e;try{e=y(c)}catch(t){e=e=>c(e)}a.listen((({pathname:t,search:r,hash:a},n)=>{e({pathname:t,search:r,hash:a,action:n})}))}))),r&&(d.on([n,i],((e,t)=>t)),t&&d.on(c,((e,{pathname:t,search:r})=>`${t}?${r}`))),{history:a,historyPush:n,historyPushSearch:o,historyReplace:i,historyChanged:c,historyEmitCurrent:s,$redirectTo:d}})(r,{emitHistory:1});v({and:{from:e.ready,to:n.historyEmitCurrent},or:{sid:"-yp3wn8"}});const o=n.historyChanged.filterMap((r=>{const a=m(e.routes,r.pathname);if(a.length>0)return t(t({},a[0]),{},{change:r})}));for(const{component:t,path:n}of e.routes){if(!t)continue;if(t.load)throw new Error(`[${n}] lazy components temporary is not supported. Please, remove loadable() call`);const{routeMatched:e,__:c}=b({sid:"vzt7q4",fn:()=>a({source:o,cases:{routeMatched:({route:e,match:t,change:r})=>{if(e.path===n)return{params:t.params,query:Object.fromEntries(new URLSearchParams(r.search))}}}}),name:"none",method:"splitMap"}),s=r.createEvent({name:`hatchEnter:${n}`},{name:"hatchEnter",sid:"-e9ffs9"}),d=r.createEvent({name:`hatchUpdate:${n}`},{name:"hatchUpdate",sid:"y0vldw"}),m=r.createEvent({name:`hatchExit:${n}`},{name:"hatchExit",sid:"-733nio"}),u=i(t);u&&(v({and:{from:s,to:u.enter},or:{sid:"-we2yy9"}}),v({and:{from:d,to:u.update},or:{sid:"-wdj6cw"}}),v({and:{from:m,to:u.exit},or:{sid:"-wczdrj"}}));const h=r.createStore(0,{and:{name:`$onRoute:${n}`},name:"$onRoute",sid:"ly7iyy"}),f=r.createStore(0,{and:{name:`$onPage:${n}`},name:"$onPage",sid:"kdm6x2"});h.on(e,(()=>1)),g({and:[{clock:e,filter:f,target:d}],or:{sid:"-vuadmz"}}),g({and:[{clock:e,filter:p({and:[f,h,(e,t)=>!e&&t],or:{name:"filter",sid:"8acmah"}}),target:s}],or:{sid:"-vffxm8"}}),f.on(s,(()=>1)),h.on(c,(()=>0)),g({and:[{clock:c,filter:f,target:m}],or:{sid:"-uxaq1b"}}),f.on(m,(()=>0))}return{navigation:n}}function d(e){for(const t in e.page){const r=e.page[t],a=e.model[t];r&&a&&h.unit(r)&&h.unit(a)&&(h.store(r,{sid:"xrdgy2"})&&h.store(a,{sid:"xrdih6"})?(v({and:{from:a,to:r},or:{sid:"m1otzj"}}),r.defaultState=a.defaultState,r.stateRef.current=a.stateRef.current,r.stateRef.before=[{type:'map',fn:e=>e,from:a.stateRef}]):v({and:{from:r,to:a},or:{sid:"n1fgk0"}}))}}export{default as loadable}from'@loadable/component';import{matchRoutes as m,renderRoutes as u}from'react-router-config';import{is as h,createDomain as f,combine as p,sample as l,scopeBind as y,forward as v,withFactory as b,guard as g}from'effector';import{createBrowserHistory as E,createMemoryHistory as $}from'history';const w=f('framework/default',{name:"defaultDomain",sid:"-tzcbvc"}),O='framework/page-hatch',j=e=>u(e);export{d as contract,s as createBrowserApplication,n as createHatch,j as createPages,i as getHatch,c as lookupHatch,o as withHatch}; //# sourceMappingURL=framework.esm.js.map