@argon-router/core 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("effector");function N(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function F(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?N(Object(r),!0).forEach(function(n){Y(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):N(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Y(e,t,r){return(t=Z(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Z(e){var t=ee(e,"string");return typeof t=="symbol"?t:t+""}function ee(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function re(e){let t;const r=i.createEffect(()=>{var y;return(y=t)===null||y===void 0?void 0:y()},{name:"waitForAsyncBundleFx",sid:"-au0m0h"}),n=i.createEffect(async()=>{for(const v of(y=e.beforeOpen)!==null&&y!==void 0?y:[]){var y;await v()}},{name:"beforeOpenFx",sid:"-iy13uf"}),a=i.createEffect(async y=>{await r(),await n();const v=e.parent;return v&&await v.internal.openFx(F(F({},y??{params:{}}),{},{navigate:!1})),y},{name:"openFx",sid:"cbmc2y"}),o=i.createStore({},{name:"$params",sid:"-cxehz9"}),s=i.createStore(!1,{name:"$isOpened",sid:"-561dht"}),c=a.pending,u=i.createEvent({name:"open",sid:"hyxmmx"}),p=i.createEvent({name:"close",sid:"-wvbr5n"}),g=i.createEvent({name:"opened",sid:"-qni80y"}),f=i.createEvent({name:"openedOnServer",sid:"eh9oki"}),b=i.createEvent({name:"openedOnClient",sid:"eet6mh"}),d=i.createEvent({name:"navigated",sid:"-rnvpuc"}),l=i.createEvent({name:"closed",sid:"w9iziz"});i.sample({and:[{clock:u,target:a}],or:{sid:"u86cfp"}});const m={};return i.sample({and:[{clock:d,fn:y=>y&&"params"in y?F({},y.params):m,target:o}],or:{sid:"ymu9q6"}}),i.split({and:[{source:d,match:()=>typeof window>"u"?"server":"client",cases:{server:f,client:b}}],or:{sid:"z4zhb3"}}),i.sample({and:[{clock:[b,f],target:g}],or:{sid:"-zf2y9u"}}),i.sample({and:[{clock:p,target:l}],or:{sid:"-z0saug"}}),i.sample({and:[{clock:[g.map(()=>!0),l.map(()=>!1)],target:s}],or:{sid:"-yy1bvn"}}),F(F({$params:o,$isOpened:s,$isPending:c,open:u,closed:l,opened:g,openedOnClient:b,openedOnServer:f},e),{},{internal:{navigated:d,close:p,openFx:a,setAsyncImport:y=>t=y},"@@unitShape":()=>({params:o,isPending:c,isOpened:s,onOpen:u})})}const te=Symbol("any"),ne=Symbol("number"),ae=Symbol("string"),oe=Symbol("array"),se=Symbol("boolean"),O={any:te,number:ne,string:ae,array:oe,boolean:se};function A(e,t){for(const r of e)if(t.includes(r))return!0;return!1}function R(e,t){for(const r in t){const n=t[r];if(Array.isArray(n)&&(!e[r]||JSON.stringify(n)!==e[r]))return!1;switch(typeof n){case"number":{if(!e[r]||n.toString()!==e[r])return!1;break}case"object":{if(!e[r]||JSON.stringify(n)!==e[r])return!1;break}case"string":{if(!e[r]||n!==e[r])return!1;break}case"boolean":{if(!e[r]||!["0","1","false","true"].includes(e[r]))return!1;break}}switch(n){case O.any:{if(!e[r])return!1;break}case O.string:{if(!e[r]||Array.isArray(e[r]))return!1;break}case O.array:{if(!e[r]||!Array.isArray(e[r]))return!1;break}case O.number:{if(!e[r]||Array.isArray(e[r])||isNaN(parseInt(e[r]))&&isNaN(parseFloat(e[r])))return!1;break}case O.boolean:{if(!e[r]||Array.isArray(e[r])||!["0","1","false","true"].includes(e[r]))return!1;break}}}return!0}function ie(e,t){const r={};for(const n in t){const a=t[n],o=e[n];if(Array.isArray(a)){const s=e[n];r[n]=s;continue}switch(typeof a){case"number":{r[n]=isNaN(parseInt(o))?parseFloat(o):parseInt(o);break}case"object":{r[n]=JSON.parse(o);break}case"string":r[n]=o;case"boolean":{r[n]=o==="1"||o==="true";break}}switch(a){case O.any:case O.string:case O.array:{r[n]=e[n];break}case O.number:{const s=e[n];r[n]=isNaN(parseInt(s))?parseFloat(s):parseInt(s);break}case O.boolean:{const s=e[n];r[n]=s==="1"||s==="true";break}}}return r}function ce(e){let{$query:t,navigate:r}=e;return B({$activeRoutes:i.createStore([],{name:"$activeRoutes",sid:"7ol7tr"}),$query:t,navigate:r})}function B(e){let{$activeRoutes:t,$query:r,navigate:n}=e;return a=>{const{parameters:o,forRoutes:s}=a,c=i.createStore(!1,{name:"$entered",sid:"-okbvx4"}),u=i.createEvent({name:"entered",sid:"-1bbi51"}),p=i.createEvent({name:"exited",sid:"-lw34uy"}),g=i.createEvent({name:"exit",sid:"5l9ghz"}),f=i.createEvent({name:"changeEntered",sid:"en4cc0"});return i.sample({and:[{clock:f,target:c}],or:{sid:"-gssa85"}}),i.sample({and:[{source:{activeRoutes:t,query:r},filter:b=>{let{activeRoutes:d,query:l}=b;return(!s||A(s,d))&&R(l,o)},fn:b=>{let{query:d}=b;return ie(d,o)},target:[u,f.prepend(()=>!0)]}],or:{sid:"-gehmsr"}}),i.sample({and:[{source:{activeRoutes:t,query:r,entered:c},filter:b=>{let{activeRoutes:d,query:l,entered:m}=b;return m&&!((!s||A(s,d))&&R(l,o))},target:[p.prepend(()=>{}),f.prepend(()=>!1)]}],or:{sid:"-fxzszx"}}),i.sample({and:[{clock:g,source:r,fn:(b,d)=>{if(d&&d.ignoreParams){const l={};for(const m of d.ignoreParams)b[m]&&(l[m]=b[m]);return{query:l}}return{query:{}}},target:n}],or:{sid:"-fer08a"}}),{entered:u,exited:p,exit:g}}}function ue(e){return t=>{const r=t.split("/").map(c=>c.trim()).filter(c=>c!=="");let n=null;function a(c,u){n||(n={}),n[c]=u}if(e.length===0)return r.length===0?{path:t,params:null}:null;for(let c=0;c<e.length;c++){const u=e[c];switch(u.type){case"const":{if(u.name!==r.shift())return null;continue}case"parameter":{const{arrayProps:p,genericProps:g,required:f}=u.payload;if(p){var o;const d=[];let l;for(;;){var s;if(l=r.shift(),!l)break;switch(g==null?void 0:g.type){case"number":{if(isNaN(+l))return null;d.push(+l);break}case"union":{if(!g.items.includes(l))return null;d.push(l);break}default:{d.push(l);break}}if(d.length>=((s=p.max)!==null&&s!==void 0?s:1/0))break}if(d.length<((o=p.min)!==null&&o!==void 0?o:0)||r.length>0&&!e[c+1])return null;a(u.name,d);break}const b=r.shift();if(f&&!b)return null;if(!b){a(u.name,void 0);continue}switch(g==null?void 0:g.type){case"number":{if(isNaN(+b))return null;a(u.name,+b);break}case"union":{if(!g.items.includes(b))return null;a(u.name,b);break}default:{a(u.name,b);break}}}}}return r.length>0?null:{path:t,params:n}}}function fe(e){if(!e)return null;const t=e[1];let r,n,a;for(const o of e.slice(2))if(o){if(o.includes("<")){r=o.replace("<","").replace(">","");continue}if(o.includes("{")&&(n=o.replace("{","").replace("}","").split(",").map(s=>parseInt(s))),["*","?","+"].includes(o)){a=o;continue}}return{name:t,genericProps:r,arrayProps:n,modificator:a}}function le(e){return t=>{const r=[];if(e.length===0)return"/";for(const n of e)switch(n.type){case"const":{r.push(n.name);break}case"parameter":{if(!t[n.name])continue;if(Array.isArray(t[n.name]))for(const a of t[n.name])r.push(a.toString());else r.push(t[n.name].toString());break}}return"/".concat(r.join("/"))}}function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function C(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?I(Object(r),!0).forEach(function(n){de(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function de(e,t,r){return(t=pe(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function pe(e){var t=me(e,"string");return typeof t=="symbol"?t:t+""}function me(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ye(e){const t=[],r=/:(\w+)(<[\w|]+>)?({\d+\,\d+})?([+*?])?/,n=e.split("/").filter(Boolean);for(let a=0;a<n.length;a++){const o=n[a];if(!o)continue;const s=fe(o.match(r));if(!s){t.push({type:"const",name:o,payload:void 0});continue}const{arrayProps:c,genericProps:u,modificator:p,name:g}=s;if(!g)throw new Error('Invalid path: "'.concat(e,'". Name for argument must be provided'));const f={type:"parameter",name:g,payload:{required:!0}};switch(u&&u==="number"&&(f.payload.genericProps={type:"number"}),u&&u.includes("|")&&(f.payload.genericProps={type:"union",items:u.split("|")}),p){case"*":{f.payload.arrayProps={};break}case"+":{f.payload.arrayProps={min:1};break}case"?":{f.payload.required=!1;break}}c&&(f.payload.arrayProps=C(C({},f.payload.arrayProps),{},{min:c[0],max:c[1]})),t.push(f)}return{parse:ue(t),build:le(t)}}const _="%[a-f0-9]{2}",D=new RegExp("("+_+")|([^%]+?)","gi"),q=new RegExp("("+_+")+","gi");function P(e,t){try{return[decodeURIComponent(e.join(""))]}catch{}if(e.length===1)return e;t=t||1;const r=e.slice(0,t),n=e.slice(t);return Array.prototype.concat.call([],P(r),P(n))}function be(e){try{return decodeURIComponent(e)}catch{let t=e.match(D)||[];for(let r=1;r<t.length;r++)e=P(t,r).join(""),t=e.match(D)||[];return e}}function ge(e){const t={"%FE%FF":"��","%FF%FE":"��"};let r=q.exec(e);for(;r;){try{t[r[0]]=decodeURIComponent(r[0])}catch{const a=be(r[0]);a!==r[0]&&(t[r[0]]=a)}r=q.exec(e)}t["%C2"]="�";const n=Object.keys(t);for(const a of n)e=e.replace(new RegExp(a,"g"),t[a]);return e}function he(e){if(typeof e!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return decodeURIComponent(e)}catch{return ge(e)}}function Oe(e,t){const r={};if(Array.isArray(t))for(const n of t){const a=Object.getOwnPropertyDescriptor(e,n);a!=null&&a.enumerable&&Object.defineProperty(r,n,a)}else for(const n of Reflect.ownKeys(e)){const a=Object.getOwnPropertyDescriptor(e,n);if(a.enumerable){const o=e[n];t(n,o,e)&&Object.defineProperty(r,n,a)}}return r}function T(e,t){if(!(typeof e=="string"&&typeof t=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(e===""||t==="")return[];const r=e.indexOf(t);return r===-1?[]:[e.slice(0,r),e.slice(r+t.length)]}const we=e=>e==null,ve=e=>encodeURIComponent(e).replaceAll(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),E=Symbol("encodeFragmentIdentifier");function Fe(e){switch(e.arrayFormat){case"index":return t=>(r,n)=>{const a=r.length;return n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?r:n===null?[...r,[h(t,e),"[",a,"]"].join("")]:[...r,[h(t,e),"[",h(a,e),"]=",h(n,e)].join("")]};case"bracket":return t=>(r,n)=>n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?r:n===null?[...r,[h(t,e),"[]"].join("")]:[...r,[h(t,e),"[]=",h(n,e)].join("")];case"colon-list-separator":return t=>(r,n)=>n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?r:n===null?[...r,[h(t,e),":list="].join("")]:[...r,[h(t,e),":list=",h(n,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return r=>(n,a)=>a===void 0||e.skipNull&&a===null||e.skipEmptyString&&a===""?n:(a=a===null?"":a,n.length===0?[[h(r,e),t,h(a,e)].join("")]:[[n,h(a,e)].join(e.arrayFormatSeparator)])}default:return t=>(r,n)=>n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?r:n===null?[...r,h(t,e)]:[...r,[h(t,e),"=",h(n,e)].join("")]}}function je(e){let t;switch(e.arrayFormat){case"index":return(r,n,a)=>{if(t=/\[(\d*)]$/.exec(r),r=r.replace(/\[\d*]$/,""),!t){a[r]=n;return}a[r]===void 0&&(a[r]={}),a[r][t[1]]=n};case"bracket":return(r,n,a)=>{if(t=/(\[])$/.exec(r),r=r.replace(/\[]$/,""),!t){a[r]=n;return}if(a[r]===void 0){a[r]=[n];return}a[r]=[...a[r],n]};case"colon-list-separator":return(r,n,a)=>{if(t=/(:list)$/.exec(r),r=r.replace(/:list$/,""),!t){a[r]=n;return}if(a[r]===void 0){a[r]=[n];return}a[r]=[...a[r],n]};case"comma":case"separator":return(r,n,a)=>{const o=typeof n=="string"&&n.includes(e.arrayFormatSeparator),s=typeof n=="string"&&!o&&w(n,e).includes(e.arrayFormatSeparator);n=s?w(n,e):n;const c=o||s?n.split(e.arrayFormatSeparator).map(u=>w(u,e)):n===null?n:w(n,e);a[r]=c};case"bracket-separator":return(r,n,a)=>{const o=/(\[])$/.test(r);if(r=r.replace(/\[]$/,""),!o){a[r]=n&&w(n,e);return}const s=n===null?[]:w(n,e).split(e.arrayFormatSeparator);if(a[r]===void 0){a[r]=s;return}a[r]=[...a[r],...s]};default:return(r,n,a)=>{if(a[r]===void 0){a[r]=n;return}a[r]=[...[a[r]].flat(),n]}}}function H(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function h(e,t){return t.encode?t.strict?ve(e):encodeURIComponent(e):e}function w(e,t){return t.decode?he(e):e}function V(e){return Array.isArray(e)?e.sort():typeof e=="object"?V(Object.keys(e)).sort((t,r)=>Number(t)-Number(r)).map(t=>e[t]):e}function K(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function Se(e){let t="";const r=e.indexOf("#");return r!==-1&&(t=e.slice(r)),t}function z(e,t,r){return r==="string"&&typeof e=="string"?e:typeof r=="function"&&typeof e=="string"?r(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")?e.toLowerCase()==="true":r==="number"&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""||t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?Number(e):e}function x(e){e=K(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function $(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,types:Object.create(null),...t},H(t.arrayFormatSeparator);const r=je(t),n=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return n;for(const a of e.split("&")){if(a==="")continue;const o=t.decode?a.replaceAll("+"," "):a;let[s,c]=T(o,"=");s===void 0&&(s=o),c=c===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?c:w(c,t),r(w(s,t),c,n)}for(const[a,o]of Object.entries(n))if(typeof o=="object"&&o!==null&&t.types[a]!=="string")for(const[s,c]of Object.entries(o)){const u=t.types[a]?t.types[a].replace("[]",""):void 0;o[s]=z(c,t,u)}else typeof o=="object"&&o!==null&&t.types[a]==="string"?n[a]=Object.values(o).join(t.arrayFormatSeparator):n[a]=z(o,t,t.types[a]);return t.sort===!1?n:(t.sort===!0?Object.keys(n).sort():Object.keys(n).sort(t.sort)).reduce((a,o)=>{const s=n[o];return a[o]=s&&typeof s=="object"&&!Array.isArray(s)?V(s):s,a},Object.create(null))}function L(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},H(t.arrayFormatSeparator);const r=s=>t.skipNull&&we(e[s])||t.skipEmptyString&&e[s]==="",n=Fe(t),a={};for(const[s,c]of Object.entries(e))r(s)||(a[s]=c);const o=Object.keys(a);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const c=e[s];return c===void 0?"":c===null?h(s,t):Array.isArray(c)?c.length===0&&t.arrayFormat==="bracket-separator"?h(s,t)+"[]":c.reduce(n(s),[]).join("&"):h(s,t)+"="+h(c,t)}).filter(s=>s.length>0).join("&")}function M(e,t){var a;t={decode:!0,...t};let[r,n]=T(e,"#");return r===void 0&&(r=e),{url:((a=r==null?void 0:r.split("?"))==null?void 0:a[0])??"",query:$(x(e),t),...t&&t.parseFragmentIdentifier&&n?{fragmentIdentifier:w(n,t)}:{}}}function Q(e,t){t={encode:!0,strict:!0,[E]:!0,...t};const r=K(e.url).split("?")[0]||"",n=x(e.url),a={...$(n,{sort:!1}),...e.query};let o=L(a,t);o&&(o=`?${o}`);let s=Se(e.url);if(typeof e.fragmentIdentifier=="string"){const c=new URL(r);c.hash=e.fragmentIdentifier,s=t[E]?c.hash:`#${e.fragmentIdentifier}`}return`${r}${o}${s}`}function J(e,t,r){r={parseFragmentIdentifier:!0,[E]:!1,...r};const{url:n,query:a,fragmentIdentifier:o}=M(e,r);return Q({url:n,query:Oe(a,t),fragmentIdentifier:o},r)}function ke(e,t,r){const n=Array.isArray(t)?a=>!t.includes(a):(a,o)=>!t(a,o);return J(e,n,r)}const S=Object.freeze(Object.defineProperty({__proto__:null,exclude:ke,extract:x,parse:$,parseUrl:M,pick:J,stringify:L,stringifyUrl:Q},Symbol.toStringTag,{value:"Module"}));function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function k(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?U(Object(r),!0).forEach(function(n){Pe(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Pe(e,t,r){return(t=Ee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ee(e){var t=xe(e,"string");return typeof t=="symbol"?t:t+""}function xe(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function G(){const e=i.createStore(null,{and:{serialize:"ignore"},name:"$history",sid:"o3gup1"}),t=i.createStore({query:{},path:null},{name:"$locationState",sid:"-kglf8k"}),r=t.map(f=>f.query),n=t.map(f=>f.path),a=i.createEvent({name:"setHistory",sid:"kp1u42"}),o=i.createEvent({name:"navigate",sid:"3qh547"}),s=i.createEvent({name:"back",sid:"-3oja8m"}),c=i.createEvent({name:"forward",sid:"-rc4ibg"}),u=i.createEvent({name:"locationUpdated",sid:"5yi2di"}),p=i.attach({and:{source:e,effect:(f,b)=>{let{path:d,query:l,replace:m}=b;if(!f)throw new Error("history not found");const y={pathname:d,search:"?".concat(S.stringify(l))};m?f.replace(y):f.push(y)}},or:{name:"navigateFx",sid:"klmj1f"}}),g=i.createEffect(f=>{const b=i.scopeBind(u);if(b({pathname:f.location.pathname,query:k({},S.parse(f.location.search))}),!f)throw new Error;f.listen(d=>{let{location:l}=d;b({pathname:l.pathname,query:k({},S.parse(l.search))})})},{name:"subscribeHistoryFx",sid:"xpn9z4"});return i.sample({and:[{clock:a,target:e}],or:{sid:"-h2wuu"}}),i.sample({and:[{clock:e,filter:Boolean,target:g}],or:{sid:"-ebxw1"}}),i.sample({and:[{clock:u,fn:f=>({path:f.pathname,query:f.query}),target:t}],or:{sid:"ii4q"}}),i.sample({and:[{clock:o,source:n,fn:(f,b)=>k({path:f},b),target:p}],or:{sid:"h0bxk"}}),{$history:e,$locationState:t,$query:r,$path:n,setHistory:a,navigate:o,back:s,forward:c,locationUpdated:u,trackQuery:ce({$query:r,navigate:o})}}function $e(e){const{base:t="/",routes:r}=e,{$path:n,$query:a,back:o,forward:s,navigate:c,setHistory:u,locationUpdated:p}=G(),g=r.map(d=>{let l=d;const m=[];for(m.unshift(l.path);l.parent;)l=l.parent,l.path!=="/"&&m.unshift(l.path);const y=t==="/"?m.join(""):[t,...m].join(""),{build:v,parse:j}=ye(y);return{route:d,path:y,build:v,parse:j}}),f=n.map(d=>{const l=[];if(!d)return l;for(const{route:m,parse:y}of g)y(d)&&l.push(m);return l}),b=i.attach({and:{source:{query:a,path:n},effect:async d=>{let{query:l,path:m}=d;for(const{route:y,parse:v}of g){const j=v(m),[W,X]=[i.scopeBind(y.internal.close),i.scopeBind(y.internal.navigated)];j?X({query:l,params:j.params}):W()}}},or:{name:"openRoutesByPathFx",sid:"-3zl7vq"}});for(const{route:d,build:l}of g)i.sample({and:[{clock:d.internal.openFx.doneData,filter:m=>(m==null?void 0:m.navigate)!==!1,fn:m=>{var y;return{path:l(m&&"params"in m?m.params:void 0),query:(y=m==null?void 0:m.query)!==null&&y!==void 0?y:{},replace:m==null?void 0:m.replace}},target:c}],or:{sid:"exzzqg"}});return i.sample({and:[{clock:p,fn:d=>({path:d.pathname,query:d.query}),target:b}],or:{sid:"ficdn3"}}),{$query:a,$path:n,$activeRoutes:f,back:o,forward:s,navigate:c,routes:r,setHistory:u,mappedRoutes:g,trackQuery:B({$activeRoutes:f,$query:a,navigate:c}),"@@unitShape":()=>({query:a,path:n,activeRoutes:f,onBack:o,onForward:s,onNavigate:c})}}function Ne(e){const t=i.createStore(null,{name:"$params",sid:"-i70thm"}),r=i.createStore(!1,{name:"$isOpened",sid:"-xjh75b"}),n=e,a=i.createEvent({name:"open",sid:"7j5xyt"}),o=i.createEvent({name:"opened",sid:"vvlmuq"}),s=i.createEvent({name:"openedOnServer",sid:"aqzl82"}),c=i.createEvent({name:"openedOnClient",sid:"-n5wotz"}),u=i.createEvent({name:"close",sid:"2mdmp7"}),p=i.createEvent({name:"closed",sid:"tyhbsl"});return i.sample({and:[{clock:a,target:o}],or:{sid:"-unpbr1"}}),i.split({and:[{source:o,match:()=>typeof window>"u"?"server":"client",cases:{server:s,client:c}}],or:{sid:"-ukycs8"}}),i.sample({and:[{clock:u,target:p}],or:{sid:"-u4gize"}}),i.sample({and:[{clock:[o.map(()=>!0),p.map(()=>!1)],target:r}],or:{sid:"-tq5vk0"}}),{$params:t,$isOpened:r,$isPending:n,open:a,opened:o,openedOnClient:c,openedOnServer:s,close:u,closed:p,path:null,"@@unitShape":()=>({params:t,isOpened:r,isPending:n,onOpen:a})}}function Ae(e){const{route:t,beforeOpen:r,openOn:n,cancelOn:a}=e;let o;const s=i.createEffect(()=>{var p;return(p=o)===null||p===void 0?void 0:p()},{name:"waitForAsyncBundleFx",sid:"-y53ute"}),c=i.createEffect(async p=>{await s();for(const g of[].concat(r))await g(p)},{name:"openFx",sid:"-nropd8"}),u=Ne(c.pending);return i.sample({and:[{clock:t.open,target:c}],or:{sid:"k4g7d"}}),i.sample({and:[{clock:t.opened,fn:p=>p&&"params"in p?p.params:null,target:u.$params}],or:{sid:"mvf66"}}),n&&i.sample({and:[{clock:n,source:{params:u.$params},fn:p=>{let{params:g}=p;return{params:g}},target:u.open}],or:{sid:"13d90q"}}),a&&i.sample({and:[{clock:[t.closed].concat(a),target:u.close}],or:{sid:"1jv2tk"}}),Object.assign(u,{internal:{setAsyncImport:p=>o=p}})}exports.chainRoute=Ae;exports.createRoute=re;exports.createRouter=$e;exports.createRouterControls=G;exports.parameters=O;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("effector");function N(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function F(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?N(Object(r),!0).forEach(function(n){Y(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):N(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Y(e,t,r){return(t=Z(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Z(e){var t=ee(e,"string");return typeof t=="symbol"?t:t+""}function ee(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function re(e){let t;const r=c.createEffect(()=>{var y;return(y=t)===null||y===void 0?void 0:y()},{name:"waitForAsyncBundleFx",sid:"-au0m0h"}),n=c.createEffect(async()=>{for(const v of(y=e.beforeOpen)!==null&&y!==void 0?y:[]){var y;await v()}},{name:"beforeOpenFx",sid:"-iy13uf"}),a=c.createEffect(async y=>{await r(),await n();const v=e.parent;return v&&await v.internal.openFx(F(F({},y??{params:{}}),{},{navigate:!1})),y},{name:"openFx",sid:"cbmc2y"}),o=c.createStore({},{name:"$params",sid:"-cxehz9"}),s=c.createStore(!1,{name:"$isOpened",sid:"-561dht"}),i=a.pending,u=c.createEvent({name:"open",sid:"hyxmmx"}),p=c.createEvent({name:"close",sid:"-wvbr5n"}),b=c.createEvent({name:"opened",sid:"-qni80y"}),f=c.createEvent({name:"openedOnServer",sid:"eh9oki"}),g=c.createEvent({name:"openedOnClient",sid:"eet6mh"}),d=c.createEvent({name:"navigated",sid:"-rnvpuc"}),l=c.createEvent({name:"closed",sid:"w9iziz"});c.sample({and:[{clock:u,target:a}],or:{sid:"u86cfp"}});const m={};return c.sample({and:[{clock:d,fn:y=>y&&"params"in y?F({},y.params):m,target:o}],or:{sid:"ymu9q6"}}),c.split({and:[{source:d,match:()=>typeof window>"u"?"server":"client",cases:{server:f,client:g}}],or:{sid:"z4zhb3"}}),c.sample({and:[{clock:[g,f],target:b}],or:{sid:"-zf2y9u"}}),c.sample({and:[{clock:p,target:l}],or:{sid:"-z0saug"}}),c.sample({and:[{clock:[b.map(()=>!0),l.map(()=>!1)],target:s}],or:{sid:"-yy1bvn"}}),F(F({$params:o,$isOpened:s,$isPending:i,open:u,closed:l,opened:b,openedOnClient:g,openedOnServer:f},e),{},{internal:{navigated:d,close:p,openFx:a,setAsyncImport:y=>t=y},"@@unitShape":()=>({params:o,isPending:i,isOpened:s,onOpen:u})})}const te=Symbol("any"),ne=Symbol("number"),ae=Symbol("string"),oe=Symbol("array"),se=Symbol("boolean"),O={any:te,number:ne,string:ae,array:oe,boolean:se};function A(e,t){for(const r of e)if(t.includes(r))return!0;return!1}function R(e,t){for(const r in t){const n=t[r];if(Array.isArray(n)&&(!e[r]||JSON.stringify(n)!==e[r]))return!1;switch(typeof n){case"number":{if(!e[r]||n.toString()!==e[r])return!1;break}case"object":{if(!e[r]||JSON.stringify(n)!==e[r])return!1;break}case"string":{if(!e[r]||n!==e[r])return!1;break}case"boolean":{if(!e[r]||!["0","1","false","true"].includes(e[r]))return!1;break}}switch(n){case O.any:{if(!e[r])return!1;break}case O.string:{if(!e[r]||Array.isArray(e[r]))return!1;break}case O.array:{if(!e[r]||!Array.isArray(e[r]))return!1;break}case O.number:{if(!e[r]||Array.isArray(e[r])||isNaN(parseInt(e[r]))&&isNaN(parseFloat(e[r])))return!1;break}case O.boolean:{if(!e[r]||Array.isArray(e[r])||!["0","1","false","true"].includes(e[r]))return!1;break}}}return!0}function ce(e,t){const r={};for(const n in t){const a=t[n],o=e[n];if(Array.isArray(a)){const s=e[n];r[n]=s;continue}switch(typeof a){case"number":{r[n]=isNaN(parseInt(o))?parseFloat(o):parseInt(o);break}case"object":{r[n]=JSON.parse(o);break}case"string":r[n]=o;case"boolean":{r[n]=o==="1"||o==="true";break}}switch(a){case O.any:case O.string:case O.array:{r[n]=e[n];break}case O.number:{const s=e[n];r[n]=isNaN(parseInt(s))?parseFloat(s):parseInt(s);break}case O.boolean:{const s=e[n];r[n]=s==="1"||s==="true";break}}}return r}function ie(e){let{$query:t,navigate:r}=e;return B({$activeRoutes:c.createStore([],{name:"$activeRoutes",sid:"7ol7tr"}),$query:t,navigate:r})}function B(e){let{$activeRoutes:t,$query:r,navigate:n}=e;return a=>{const{parameters:o,forRoutes:s}=a,i=c.createStore(!1,{name:"$entered",sid:"-okbvx4"}),u=c.createEvent({name:"entered",sid:"-1bbi51"}),p=c.createEvent({name:"exited",sid:"-lw34uy"}),b=c.createEvent({name:"exit",sid:"5l9ghz"}),f=c.createEvent({name:"changeEntered",sid:"en4cc0"});return c.sample({and:[{clock:f,target:i}],or:{sid:"-gssa85"}}),c.sample({and:[{source:{activeRoutes:t,query:r},filter:g=>{let{activeRoutes:d,query:l}=g;return(!s||A(s,d))&&R(l,o)},fn:g=>{let{query:d}=g;return ce(d,o)},target:[u,f.prepend(()=>!0)]}],or:{sid:"-gehmsr"}}),c.sample({and:[{source:{activeRoutes:t,query:r,entered:i},filter:g=>{let{activeRoutes:d,query:l,entered:m}=g;return m&&!((!s||A(s,d))&&R(l,o))},target:[p.prepend(()=>{}),f.prepend(()=>!1)]}],or:{sid:"-fxzszx"}}),c.sample({and:[{clock:b,source:r,fn:(g,d)=>{if(d&&d.ignoreParams){const l={};for(const m of d.ignoreParams)g[m]&&(l[m]=g[m]);return{query:l}}return{query:{}}},target:n}],or:{sid:"-fer08a"}}),{entered:u,exited:p,exit:b}}}function ue(e){return t=>{const r=t.split("/").map(i=>i.trim()).filter(i=>i!=="");let n=null;function a(i,u){n||(n={}),n[i]=u}if(e.length===0)return r.length===0?{path:t,params:null}:null;for(let i=0;i<e.length;i++){const u=e[i];switch(u.type){case"const":{if(u.name!==r.shift())return null;continue}case"parameter":{const{arrayProps:p,genericProps:b,required:f}=u.payload;if(p){var o;const d=[];let l;for(;;){var s;if(l=r.shift(),!l)break;switch(b==null?void 0:b.type){case"number":{if(isNaN(+l))return null;d.push(+l);break}case"union":{if(!b.items.includes(l))return null;d.push(l);break}default:{d.push(l);break}}if(d.length>=((s=p.max)!==null&&s!==void 0?s:1/0))break}if(d.length<((o=p.min)!==null&&o!==void 0?o:0)||r.length>0&&!e[i+1])return null;a(u.name,d);break}const g=r.shift();if(f&&!g)return null;if(!g){a(u.name,void 0);continue}switch(b==null?void 0:b.type){case"number":{if(isNaN(+g))return null;a(u.name,+g);break}case"union":{if(!b.items.includes(g))return null;a(u.name,g);break}default:{a(u.name,g);break}}}}}return r.length>0?null:{path:t,params:n}}}function fe(e){if(!e)return null;const t=e[1];let r,n,a;for(const o of e.slice(2))if(o){if(o.includes("<")){r=o.replace("<","").replace(">","");continue}if(o.includes("{")&&(n=o.replace("{","").replace("}","").split(",").map(s=>parseInt(s))),["*","?","+"].includes(o)){a=o;continue}}return{name:t,genericProps:r,arrayProps:n,modificator:a}}function le(e){return t=>{const r=[];if(e.length===0)return"/";for(const n of e)switch(n.type){case"const":{r.push(n.name);break}case"parameter":{if(!t[n.name])continue;if(Array.isArray(t[n.name]))for(const a of t[n.name])r.push(a.toString());else r.push(t[n.name].toString());break}}return"/".concat(r.join("/"))}}function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function C(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?I(Object(r),!0).forEach(function(n){de(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function de(e,t,r){return(t=pe(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function pe(e){var t=me(e,"string");return typeof t=="symbol"?t:t+""}function me(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ye(e){const t=[],r=/:(\w+)(<[\w|]+>)?({\d+\,\d+})?([+*?])?/,n=e.split("/").filter(Boolean);for(let a=0;a<n.length;a++){const o=n[a];if(!o)continue;const s=fe(o.match(r));if(!s){t.push({type:"const",name:o,payload:void 0});continue}const{arrayProps:i,genericProps:u,modificator:p,name:b}=s;if(!b)throw new Error('Invalid path: "'.concat(e,'". Name for argument must be provided'));const f={type:"parameter",name:b,payload:{required:!0}};switch(u&&u==="number"&&(f.payload.genericProps={type:"number"}),u&&u.includes("|")&&(f.payload.genericProps={type:"union",items:u.split("|")}),p){case"*":{f.payload.arrayProps={};break}case"+":{f.payload.arrayProps={min:1};break}case"?":{f.payload.required=!1;break}}i&&(f.payload.arrayProps=C(C({},f.payload.arrayProps),{},{min:i[0],max:i[1]})),t.push(f)}return{parse:ue(t),build:le(t)}}const _="%[a-f0-9]{2}",D=new RegExp("("+_+")|([^%]+?)","gi"),z=new RegExp("("+_+")+","gi");function P(e,t){try{return[decodeURIComponent(e.join(""))]}catch{}if(e.length===1)return e;t=t||1;const r=e.slice(0,t),n=e.slice(t);return Array.prototype.concat.call([],P(r),P(n))}function be(e){try{return decodeURIComponent(e)}catch{let t=e.match(D)||[];for(let r=1;r<t.length;r++)e=P(t,r).join(""),t=e.match(D)||[];return e}}function ge(e){const t={"%FE%FF":"��","%FF%FE":"��"};let r=z.exec(e);for(;r;){try{t[r[0]]=decodeURIComponent(r[0])}catch{const a=be(r[0]);a!==r[0]&&(t[r[0]]=a)}r=z.exec(e)}t["%C2"]="�";const n=Object.keys(t);for(const a of n)e=e.replace(new RegExp(a,"g"),t[a]);return e}function he(e){if(typeof e!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return decodeURIComponent(e)}catch{return ge(e)}}function Oe(e,t){const r={};if(Array.isArray(t))for(const n of t){const a=Object.getOwnPropertyDescriptor(e,n);a!=null&&a.enumerable&&Object.defineProperty(r,n,a)}else for(const n of Reflect.ownKeys(e)){const a=Object.getOwnPropertyDescriptor(e,n);if(a.enumerable){const o=e[n];t(n,o,e)&&Object.defineProperty(r,n,a)}}return r}function T(e,t){if(!(typeof e=="string"&&typeof t=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(e===""||t==="")return[];const r=e.indexOf(t);return r===-1?[]:[e.slice(0,r),e.slice(r+t.length)]}const we=e=>e==null,ve=e=>encodeURIComponent(e).replaceAll(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),E=Symbol("encodeFragmentIdentifier");function Fe(e){switch(e.arrayFormat){case"index":return t=>(r,n)=>{const a=r.length;return n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?r:n===null?[...r,[h(t,e),"[",a,"]"].join("")]:[...r,[h(t,e),"[",h(a,e),"]=",h(n,e)].join("")]};case"bracket":return t=>(r,n)=>n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?r:n===null?[...r,[h(t,e),"[]"].join("")]:[...r,[h(t,e),"[]=",h(n,e)].join("")];case"colon-list-separator":return t=>(r,n)=>n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?r:n===null?[...r,[h(t,e),":list="].join("")]:[...r,[h(t,e),":list=",h(n,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return r=>(n,a)=>a===void 0||e.skipNull&&a===null||e.skipEmptyString&&a===""?n:(a=a===null?"":a,n.length===0?[[h(r,e),t,h(a,e)].join("")]:[[n,h(a,e)].join(e.arrayFormatSeparator)])}default:return t=>(r,n)=>n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?r:n===null?[...r,h(t,e)]:[...r,[h(t,e),"=",h(n,e)].join("")]}}function je(e){let t;switch(e.arrayFormat){case"index":return(r,n,a)=>{if(t=/\[(\d*)]$/.exec(r),r=r.replace(/\[\d*]$/,""),!t){a[r]=n;return}a[r]===void 0&&(a[r]={}),a[r][t[1]]=n};case"bracket":return(r,n,a)=>{if(t=/(\[])$/.exec(r),r=r.replace(/\[]$/,""),!t){a[r]=n;return}if(a[r]===void 0){a[r]=[n];return}a[r]=[...a[r],n]};case"colon-list-separator":return(r,n,a)=>{if(t=/(:list)$/.exec(r),r=r.replace(/:list$/,""),!t){a[r]=n;return}if(a[r]===void 0){a[r]=[n];return}a[r]=[...a[r],n]};case"comma":case"separator":return(r,n,a)=>{const o=typeof n=="string"&&n.includes(e.arrayFormatSeparator),s=typeof n=="string"&&!o&&w(n,e).includes(e.arrayFormatSeparator);n=s?w(n,e):n;const i=o||s?n.split(e.arrayFormatSeparator).map(u=>w(u,e)):n===null?n:w(n,e);a[r]=i};case"bracket-separator":return(r,n,a)=>{const o=/(\[])$/.test(r);if(r=r.replace(/\[]$/,""),!o){a[r]=n&&w(n,e);return}const s=n===null?[]:w(n,e).split(e.arrayFormatSeparator);if(a[r]===void 0){a[r]=s;return}a[r]=[...a[r],...s]};default:return(r,n,a)=>{if(a[r]===void 0){a[r]=n;return}a[r]=[...[a[r]].flat(),n]}}}function H(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function h(e,t){return t.encode?t.strict?ve(e):encodeURIComponent(e):e}function w(e,t){return t.decode?he(e):e}function V(e){return Array.isArray(e)?e.sort():typeof e=="object"?V(Object.keys(e)).sort((t,r)=>Number(t)-Number(r)).map(t=>e[t]):e}function K(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function Se(e){let t="";const r=e.indexOf("#");return r!==-1&&(t=e.slice(r)),t}function q(e,t,r){return r==="string"&&typeof e=="string"?e:typeof r=="function"&&typeof e=="string"?r(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")?e.toLowerCase()==="true":r==="number"&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""||t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?Number(e):e}function x(e){e=K(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function $(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,types:Object.create(null),...t},H(t.arrayFormatSeparator);const r=je(t),n=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return n;for(const a of e.split("&")){if(a==="")continue;const o=t.decode?a.replaceAll("+"," "):a;let[s,i]=T(o,"=");s===void 0&&(s=o),i=i===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?i:w(i,t),r(w(s,t),i,n)}for(const[a,o]of Object.entries(n))if(typeof o=="object"&&o!==null&&t.types[a]!=="string")for(const[s,i]of Object.entries(o)){const u=t.types[a]?t.types[a].replace("[]",""):void 0;o[s]=q(i,t,u)}else typeof o=="object"&&o!==null&&t.types[a]==="string"?n[a]=Object.values(o).join(t.arrayFormatSeparator):n[a]=q(o,t,t.types[a]);return t.sort===!1?n:(t.sort===!0?Object.keys(n).sort():Object.keys(n).sort(t.sort)).reduce((a,o)=>{const s=n[o];return a[o]=s&&typeof s=="object"&&!Array.isArray(s)?V(s):s,a},Object.create(null))}function L(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},H(t.arrayFormatSeparator);const r=s=>t.skipNull&&we(e[s])||t.skipEmptyString&&e[s]==="",n=Fe(t),a={};for(const[s,i]of Object.entries(e))r(s)||(a[s]=i);const o=Object.keys(a);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const i=e[s];return i===void 0?"":i===null?h(s,t):Array.isArray(i)?i.length===0&&t.arrayFormat==="bracket-separator"?h(s,t)+"[]":i.reduce(n(s),[]).join("&"):h(s,t)+"="+h(i,t)}).filter(s=>s.length>0).join("&")}function M(e,t){var a;t={decode:!0,...t};let[r,n]=T(e,"#");return r===void 0&&(r=e),{url:((a=r==null?void 0:r.split("?"))==null?void 0:a[0])??"",query:$(x(e),t),...t&&t.parseFragmentIdentifier&&n?{fragmentIdentifier:w(n,t)}:{}}}function Q(e,t){t={encode:!0,strict:!0,[E]:!0,...t};const r=K(e.url).split("?")[0]||"",n=x(e.url),a={...$(n,{sort:!1}),...e.query};let o=L(a,t);o&&(o=`?${o}`);let s=Se(e.url);if(typeof e.fragmentIdentifier=="string"){const i=new URL(r);i.hash=e.fragmentIdentifier,s=t[E]?i.hash:`#${e.fragmentIdentifier}`}return`${r}${o}${s}`}function J(e,t,r){r={parseFragmentIdentifier:!0,[E]:!1,...r};const{url:n,query:a,fragmentIdentifier:o}=M(e,r);return Q({url:n,query:Oe(a,t),fragmentIdentifier:o},r)}function ke(e,t,r){const n=Array.isArray(t)?a=>!t.includes(a):(a,o)=>!t(a,o);return J(e,n,r)}const S=Object.freeze(Object.defineProperty({__proto__:null,exclude:ke,extract:x,parse:$,parseUrl:M,pick:J,stringify:L,stringifyUrl:Q},Symbol.toStringTag,{value:"Module"}));function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function k(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?U(Object(r),!0).forEach(function(n){Pe(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Pe(e,t,r){return(t=Ee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ee(e){var t=xe(e,"string");return typeof t=="symbol"?t:t+""}function xe(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function G(){const e=c.createStore(null,{and:{serialize:"ignore"},name:"$history",sid:"-ld7lzl"}),t=c.createStore({query:{},path:null},{name:"$locationState",sid:"-4u3w85"}),r=t.map(f=>f.query),n=t.map(f=>f.path),a=c.createEvent({name:"setHistory",sid:"-ormmkk"}),o=c.createEvent({name:"navigate",sid:"tawqep"}),s=c.createEvent({name:"back",sid:"bxy8rt"}),i=c.createEvent({name:"forward",sid:"-bpmzb1"}),u=c.createEvent({name:"locationUpdated",sid:"lkzldx"}),p=c.attach({and:{source:e,effect:(f,g)=>{let{path:d,query:l,replace:m}=g;if(!f)throw new Error("history not found");const y={pathname:d,search:"?".concat(S.stringify(l))};m?f.replace(y):f.push(y)}},or:{name:"navigateFx",sid:"-ov1xn7"}}),b=c.createEffect(f=>{const g=c.scopeBind(u);if(g({pathname:f.location.pathname,query:k({},S.parse(f.location.search))}),!f)throw new Error;f.listen(d=>{let{location:l}=d;g({pathname:l.pathname,query:k({},S.parse(l.search))})})},{name:"subscribeHistoryFx",sid:"-m60vds"});return c.sample({and:[{clock:a,target:e}],or:{sid:"ii4q"}}),c.sample({and:[{clock:e,filter:Boolean,target:b}],or:{sid:"39h3j"}}),c.sample({and:[{clock:u,fn:f=>({path:f.pathname,query:f.query}),target:t}],or:{sid:"i3x4a"}}),c.sample({and:[{clock:o,source:n,fn:(f,g)=>k({path:f},g),target:p}],or:{sid:"ylqx4"}}),{$history:e,$locationState:t,$query:r,$path:n,setHistory:a,navigate:o,back:s,forward:i,locationUpdated:u,trackQuery:ie({$query:r,navigate:o})}}function $e(e){const{base:t="/",routes:r}=e,{$path:n,$query:a,back:o,forward:s,navigate:i,setHistory:u,locationUpdated:p}=G(),b=r.map(d=>{let l=d;const m=[];for(m.unshift(l.path);l.parent;)l=l.parent,l.path!=="/"&&m.unshift(l.path);const y=t==="/"?m.join(""):[t,...m].join(""),{build:v,parse:j}=ye(y);return{route:d,path:y,build:v,parse:j}}),f=n.map(d=>{const l=[];if(!d)return l;for(const{route:m,parse:y}of b)y(d)&&l.push(m);return l}),g=c.attach({and:{source:{query:a,path:n},effect:async d=>{let{query:l,path:m}=d;for(const{route:y,parse:v}of b){const j=v(m),[W,X]=[c.scopeBind(y.internal.close),c.scopeBind(y.internal.navigated)];j?X({query:l,params:j.params}):W()}}},or:{name:"openRoutesByPathFx",sid:"-3zl7vq"}});for(const{route:d,build:l}of b)c.sample({and:[{clock:d.internal.openFx.doneData,filter:m=>(m==null?void 0:m.navigate)!==!1,fn:m=>{var y;return{path:l(m&&"params"in m?m.params:void 0),query:(y=m==null?void 0:m.query)!==null&&y!==void 0?y:{},replace:m==null?void 0:m.replace}},target:i}],or:{sid:"exzzqg"}});return c.sample({and:[{clock:p,fn:d=>({path:d.pathname,query:d.query}),target:g}],or:{sid:"ficdn3"}}),{$query:a,$path:n,$activeRoutes:f,back:o,forward:s,navigate:i,routes:r,setHistory:u,mappedRoutes:b,trackQuery:B({$activeRoutes:f,$query:a,navigate:i}),"@@unitShape":()=>({query:a,path:n,activeRoutes:f,onBack:o,onForward:s,onNavigate:i})}}function Ne(e){const t=c.createStore(null,{name:"$params",sid:"-grvyb1"}),r=c.createStore(!1,{name:"$isOpened",sid:"-w4cbyq"}),n=e,a=c.createEvent({name:"open",sid:"8yat5e"}),o=c.createEvent({name:"opened",sid:"-rsfhnq"}),s=c.createEvent({name:"openedOnServer",sid:"m42ioq"}),i=c.createEvent({name:"openedOnClient",sid:"-bstrdb"}),u=c.createEvent({name:"close",sid:"41ihvs"}),p=c.createEvent({name:"closed",sid:"vdm6z6"}),b=c.createEvent({name:"cancelled",sid:"-r20ekt"});return c.sample({and:[{clock:a,target:o}],or:{sid:"-ukycs8"}}),c.split({and:[{source:o,match:()=>typeof window>"u"?"server":"client",cases:{server:s,client:i}}],or:{sid:"-u6npcu"}}),c.sample({and:[{clock:u,target:p}],or:{sid:"-tq5vk0"}}),c.sample({and:[{clock:[o.map(()=>!0),p.map(()=>!1)],target:r}],or:{sid:"-tnewl7"}}),{$params:t,$isOpened:r,$isPending:n,open:a,opened:o,openedOnClient:i,openedOnServer:s,close:u,closed:p,cancelled:b,path:null,"@@unitShape":()=>({params:t,isOpened:r,isPending:n,onOpen:a})}}function Ae(e){const{route:t,beforeOpen:r,openOn:n,cancelOn:a}=e;let o;const s=c.createEffect(()=>{var p;return(p=o)===null||p===void 0?void 0:p()},{name:"waitForAsyncBundleFx",sid:"-utsi21"}),i=c.createEffect(async p=>{await s();for(const b of[].concat(r))await b(p)},{name:"openFx",sid:"-kgdclv"}),u=Ne(i.pending);return c.sample({and:[{clock:t.open,target:i}],or:{sid:"102heu"}}),c.sample({and:[{clock:t.opened,fn:p=>p&&"params"in p?p.params:null,target:u.$params}],or:{sid:"12tgdn"}}),n&&c.sample({and:[{clock:n,source:{params:u.$params},fn:p=>{let{params:b}=p;return{params:b}},target:u.open}],or:{sid:"1jba87"}}),a&&(c.sample({and:[{clock:[t.closed].concat(a),target:u.close}],or:{sid:"1zt411"}}),c.sample({and:[{clock:[].concat(a),target:u.cancelled}],or:{sid:"22k2zu"}})),Object.assign(u,{internal:{setAsyncImport:p=>o=p}})}exports.chainRoute=Ae;exports.createRoute=re;exports.createRouter=$e;exports.createRouterControls=G;exports.parameters=O;
package/dist/index.d.ts CHANGED
@@ -17,7 +17,9 @@ declare type ArrayParameter = typeof arraySymbol;
17
17
 
18
18
  declare const arraySymbol: unique symbol;
19
19
 
20
- declare type BeforeOpenUnit<T> = EventCallable<RouteOpenedPayload<T>> | Effect<RouteOpenedPayload<T>, any>;
20
+ declare type BeforeOpenUnit<T> = (T extends void ? EventCallable<void> | EventCallable<OpenPayloadBase> : EventCallable<{
21
+ params: T;
22
+ } & OpenPayloadBase>) | Effect<RouteOpenedPayload<T>, any>;
21
23
 
22
24
  declare type BooleanParameter = typeof booleanSymbol;
23
25
 
@@ -187,6 +189,11 @@ declare type NumberParameter = typeof numberSymbol;
187
189
 
188
190
  declare const numberSymbol: unique symbol;
189
191
 
192
+ export declare type OpenPayloadBase = {
193
+ query?: Query;
194
+ replace?: boolean;
195
+ };
196
+
190
197
  export declare const parameters: Parameters_2;
191
198
 
192
199
  declare type Parameters_2 = {
@@ -197,11 +204,6 @@ declare type Parameters_2 = {
197
204
  boolean: BooleanParameter;
198
205
  };
199
206
 
200
- declare type PayloadBase = {
201
- query?: Query;
202
- replace?: boolean;
203
- };
204
-
205
207
  export declare type Query = Record<string, string | null | Array<string | null>>;
206
208
 
207
209
  export declare interface QueryTracker<ParametersConfig extends RawConfig> {
@@ -243,9 +245,9 @@ export declare interface Route<T = void> {
243
245
  };
244
246
  }
245
247
 
246
- export declare type RouteOpenedPayload<T> = T extends void ? void | undefined | PayloadBase : {
248
+ export declare type RouteOpenedPayload<T> = T extends void ? void | undefined | OpenPayloadBase : {
247
249
  params: T;
248
- } & PayloadBase;
250
+ } & OpenPayloadBase;
249
251
 
250
252
  export declare interface Router {
251
253
  $query: Store<Query>;
@@ -353,6 +355,7 @@ declare type SupportedPrimitive = string | number | Date | boolean;
353
355
  export declare interface VirtualRoute<T = any> extends Route<T> {
354
356
  $params: StoreWritable<T>;
355
357
  close: EventCallable<void>;
358
+ cancelled: Event_2<void>;
356
359
  }
357
360
 
358
361
  export { }
package/dist/index.js CHANGED
@@ -76,13 +76,13 @@ function ze(e) {
76
76
  }), d = g({
77
77
  name: "close",
78
78
  sid: "-wvbr5n"
79
- }), b = g({
79
+ }), y = g({
80
80
  name: "opened",
81
81
  sid: "-qni80y"
82
82
  }), u = g({
83
83
  name: "openedOnServer",
84
84
  sid: "eh9oki"
85
- }), y = g({
85
+ }), b = g({
86
86
  name: "openedOnClient",
87
87
  sid: "eet6mh"
88
88
  }), l = g({
@@ -117,7 +117,7 @@ function ze(e) {
117
117
  match: () => typeof window > "u" ? "server" : "client",
118
118
  cases: {
119
119
  server: u,
120
- client: y
120
+ client: b
121
121
  }
122
122
  }],
123
123
  or: {
@@ -125,8 +125,8 @@ function ze(e) {
125
125
  }
126
126
  }), h({
127
127
  and: [{
128
- clock: [y, u],
129
- target: b
128
+ clock: [b, u],
129
+ target: y
130
130
  }],
131
131
  or: {
132
132
  sid: "-zf2y9u"
@@ -141,7 +141,7 @@ function ze(e) {
141
141
  }
142
142
  }), h({
143
143
  and: [{
144
- clock: [b.map(() => !0), f.map(() => !1)],
144
+ clock: [y.map(() => !0), f.map(() => !1)],
145
145
  target: i
146
146
  }],
147
147
  or: {
@@ -153,8 +153,8 @@ function ze(e) {
153
153
  $isPending: s,
154
154
  open: c,
155
155
  closed: f,
156
- opened: b,
157
- openedOnClient: y,
156
+ opened: y,
157
+ openedOnClient: b,
158
158
  openedOnServer: u
159
159
  }, e), {}, {
160
160
  internal: {
@@ -320,7 +320,7 @@ function L(e) {
320
320
  }), d = g({
321
321
  name: "exited",
322
322
  sid: "-lw34uy"
323
- }), b = g({
323
+ }), y = g({
324
324
  name: "exit",
325
325
  sid: "5l9ghz"
326
326
  }), u = g({
@@ -341,17 +341,17 @@ function L(e) {
341
341
  activeRoutes: t,
342
342
  query: r
343
343
  },
344
- filter: (y) => {
344
+ filter: (b) => {
345
345
  let {
346
346
  activeRoutes: l,
347
347
  query: f
348
- } = y;
348
+ } = b;
349
349
  return (!i || D(i, l)) && z(f, o);
350
350
  },
351
- fn: (y) => {
351
+ fn: (b) => {
352
352
  let {
353
353
  query: l
354
- } = y;
354
+ } = b;
355
355
  return le(l, o);
356
356
  },
357
357
  target: [c, u.prepend(() => !0)]
@@ -366,12 +366,12 @@ function L(e) {
366
366
  query: r,
367
367
  entered: s
368
368
  },
369
- filter: (y) => {
369
+ filter: (b) => {
370
370
  let {
371
371
  activeRoutes: l,
372
372
  query: f,
373
373
  entered: p
374
- } = y;
374
+ } = b;
375
375
  return p && !((!i || D(i, l)) && z(f, o));
376
376
  },
377
377
  target: [d.prepend(() => {
@@ -382,13 +382,13 @@ function L(e) {
382
382
  }
383
383
  }), h({
384
384
  and: [{
385
- clock: b,
385
+ clock: y,
386
386
  source: r,
387
- fn: (y, l) => {
387
+ fn: (b, l) => {
388
388
  if (l && l.ignoreParams) {
389
389
  const f = {};
390
390
  for (const p of l.ignoreParams)
391
- y[p] && (f[p] = y[p]);
391
+ b[p] && (f[p] = b[p]);
392
392
  return {
393
393
  query: f
394
394
  };
@@ -405,7 +405,7 @@ function L(e) {
405
405
  }), {
406
406
  entered: c,
407
407
  exited: d,
408
- exit: b
408
+ exit: y
409
409
  };
410
410
  };
411
411
  }
@@ -430,7 +430,7 @@ function pe(e) {
430
430
  case "parameter": {
431
431
  const {
432
432
  arrayProps: d,
433
- genericProps: b,
433
+ genericProps: y,
434
434
  required: u
435
435
  } = c.payload;
436
436
  if (d) {
@@ -440,14 +440,14 @@ function pe(e) {
440
440
  for (; ; ) {
441
441
  var i;
442
442
  if (f = r.shift(), !f) break;
443
- switch (b == null ? void 0 : b.type) {
443
+ switch (y == null ? void 0 : y.type) {
444
444
  case "number": {
445
445
  if (isNaN(+f)) return null;
446
446
  l.push(+f);
447
447
  break;
448
448
  }
449
449
  case "union": {
450
- if (!b.items.includes(f)) return null;
450
+ if (!y.items.includes(f)) return null;
451
451
  l.push(f);
452
452
  break;
453
453
  }
@@ -462,25 +462,25 @@ function pe(e) {
462
462
  a(c.name, l);
463
463
  break;
464
464
  }
465
- const y = r.shift();
466
- if (u && !y) return null;
467
- if (!y) {
465
+ const b = r.shift();
466
+ if (u && !b) return null;
467
+ if (!b) {
468
468
  a(c.name, void 0);
469
469
  continue;
470
470
  }
471
- switch (b == null ? void 0 : b.type) {
471
+ switch (y == null ? void 0 : y.type) {
472
472
  case "number": {
473
- if (isNaN(+y)) return null;
474
- a(c.name, +y);
473
+ if (isNaN(+b)) return null;
474
+ a(c.name, +b);
475
475
  break;
476
476
  }
477
477
  case "union": {
478
- if (!b.items.includes(y)) return null;
479
- a(c.name, y);
478
+ if (!y.items.includes(b)) return null;
479
+ a(c.name, b);
480
480
  break;
481
481
  }
482
482
  default: {
483
- a(c.name, y);
483
+ a(c.name, b);
484
484
  break;
485
485
  }
486
486
  }
@@ -594,12 +594,12 @@ function Oe(e) {
594
594
  arrayProps: s,
595
595
  genericProps: c,
596
596
  modificator: d,
597
- name: b
597
+ name: y
598
598
  } = i;
599
- if (!b) throw new Error('Invalid path: "'.concat(e, '". Name for argument must be provided'));
599
+ if (!y) throw new Error('Invalid path: "'.concat(e, '". Name for argument must be provided'));
600
600
  const u = {
601
601
  type: "parameter",
602
- name: b,
602
+ name: y,
603
603
  payload: {
604
604
  required: !0
605
605
  }
@@ -1003,37 +1003,37 @@ function Ie() {
1003
1003
  serialize: "ignore"
1004
1004
  },
1005
1005
  name: "$history",
1006
- sid: "o3gup1"
1006
+ sid: "-ld7lzl"
1007
1007
  }), t = k({
1008
1008
  query: {},
1009
1009
  path: null
1010
1010
  }, {
1011
1011
  name: "$locationState",
1012
- sid: "-kglf8k"
1012
+ sid: "-4u3w85"
1013
1013
  }), r = t.map((u) => u.query), n = t.map((u) => u.path), a = g({
1014
1014
  name: "setHistory",
1015
- sid: "kp1u42"
1015
+ sid: "-ormmkk"
1016
1016
  }), o = g({
1017
1017
  name: "navigate",
1018
- sid: "3qh547"
1018
+ sid: "tawqep"
1019
1019
  }), i = g({
1020
1020
  name: "back",
1021
- sid: "-3oja8m"
1021
+ sid: "bxy8rt"
1022
1022
  }), s = g({
1023
1023
  name: "forward",
1024
- sid: "-rc4ibg"
1024
+ sid: "-bpmzb1"
1025
1025
  }), c = g({
1026
1026
  name: "locationUpdated",
1027
- sid: "5yi2di"
1027
+ sid: "lkzldx"
1028
1028
  }), d = K({
1029
1029
  and: {
1030
1030
  source: e,
1031
- effect: (u, y) => {
1031
+ effect: (u, b) => {
1032
1032
  let {
1033
1033
  path: l,
1034
1034
  query: f,
1035
1035
  replace: p
1036
- } = y;
1036
+ } = b;
1037
1037
  if (!u)
1038
1038
  throw new Error("history not found");
1039
1039
  const m = {
@@ -1045,11 +1045,11 @@ function Ie() {
1045
1045
  },
1046
1046
  or: {
1047
1047
  name: "navigateFx",
1048
- sid: "klmj1f"
1048
+ sid: "-ov1xn7"
1049
1049
  }
1050
- }), b = S((u) => {
1051
- const y = N(c);
1052
- if (y({
1050
+ }), y = S((u) => {
1051
+ const b = N(c);
1052
+ if (b({
1053
1053
  pathname: u.location.pathname,
1054
1054
  query: $({}, x.parse(u.location.search))
1055
1055
  }), !u)
@@ -1058,14 +1058,14 @@ function Ie() {
1058
1058
  let {
1059
1059
  location: f
1060
1060
  } = l;
1061
- y({
1061
+ b({
1062
1062
  pathname: f.pathname,
1063
1063
  query: $({}, x.parse(f.search))
1064
1064
  });
1065
1065
  });
1066
1066
  }, {
1067
1067
  name: "subscribeHistoryFx",
1068
- sid: "xpn9z4"
1068
+ sid: "-m60vds"
1069
1069
  });
1070
1070
  return h({
1071
1071
  and: [{
@@ -1073,16 +1073,16 @@ function Ie() {
1073
1073
  target: e
1074
1074
  }],
1075
1075
  or: {
1076
- sid: "-h2wuu"
1076
+ sid: "ii4q"
1077
1077
  }
1078
1078
  }), h({
1079
1079
  and: [{
1080
1080
  clock: e,
1081
1081
  filter: Boolean,
1082
- target: b
1082
+ target: y
1083
1083
  }],
1084
1084
  or: {
1085
- sid: "-ebxw1"
1085
+ sid: "39h3j"
1086
1086
  }
1087
1087
  }), h({
1088
1088
  and: [{
@@ -1094,19 +1094,19 @@ function Ie() {
1094
1094
  target: t
1095
1095
  }],
1096
1096
  or: {
1097
- sid: "ii4q"
1097
+ sid: "i3x4a"
1098
1098
  }
1099
1099
  }), h({
1100
1100
  and: [{
1101
1101
  clock: o,
1102
1102
  source: n,
1103
- fn: (u, y) => $({
1103
+ fn: (u, b) => $({
1104
1104
  path: u
1105
- }, y),
1105
+ }, b),
1106
1106
  target: d
1107
1107
  }],
1108
1108
  or: {
1109
- sid: "h0bxk"
1109
+ sid: "ylqx4"
1110
1110
  }
1111
1111
  }), {
1112
1112
  $history: e,
@@ -1136,7 +1136,7 @@ function qe(e) {
1136
1136
  navigate: s,
1137
1137
  setHistory: c,
1138
1138
  locationUpdated: d
1139
- } = Ie(), b = r.map((l) => {
1139
+ } = Ie(), y = r.map((l) => {
1140
1140
  let f = l;
1141
1141
  const p = [];
1142
1142
  for (p.unshift(f.path); f.parent; )
@@ -1158,10 +1158,10 @@ function qe(e) {
1158
1158
  for (const {
1159
1159
  route: p,
1160
1160
  parse: m
1161
- } of b)
1161
+ } of y)
1162
1162
  m(l) && f.push(p);
1163
1163
  return f;
1164
- }), y = K({
1164
+ }), b = K({
1165
1165
  and: {
1166
1166
  source: {
1167
1167
  query: a,
@@ -1175,7 +1175,7 @@ function qe(e) {
1175
1175
  for (const {
1176
1176
  route: m,
1177
1177
  parse: j
1178
- } of b) {
1178
+ } of y) {
1179
1179
  const v = j(p), [re, te] = [N(m.internal.close), N(m.internal.navigated)];
1180
1180
  v ? te({
1181
1181
  query: f,
@@ -1192,7 +1192,7 @@ function qe(e) {
1192
1192
  for (const {
1193
1193
  route: l,
1194
1194
  build: f
1195
- } of b)
1195
+ } of y)
1196
1196
  h({
1197
1197
  and: [{
1198
1198
  clock: l.internal.openFx.doneData,
@@ -1218,7 +1218,7 @@ function qe(e) {
1218
1218
  path: l.pathname,
1219
1219
  query: l.query
1220
1220
  }),
1221
- target: y
1221
+ target: b
1222
1222
  }],
1223
1223
  or: {
1224
1224
  sid: "ficdn3"
@@ -1232,7 +1232,7 @@ function qe(e) {
1232
1232
  navigate: s,
1233
1233
  routes: r,
1234
1234
  setHistory: c,
1235
- mappedRoutes: b,
1235
+ mappedRoutes: y,
1236
1236
  trackQuery: L({
1237
1237
  $activeRoutes: u,
1238
1238
  $query: a,
@@ -1251,28 +1251,31 @@ function qe(e) {
1251
1251
  function Ce(e) {
1252
1252
  const t = k(null, {
1253
1253
  name: "$params",
1254
- sid: "-i70thm"
1254
+ sid: "-grvyb1"
1255
1255
  }), r = k(!1, {
1256
1256
  name: "$isOpened",
1257
- sid: "-xjh75b"
1257
+ sid: "-w4cbyq"
1258
1258
  }), n = e, a = g({
1259
1259
  name: "open",
1260
- sid: "7j5xyt"
1260
+ sid: "8yat5e"
1261
1261
  }), o = g({
1262
1262
  name: "opened",
1263
- sid: "vvlmuq"
1263
+ sid: "-rsfhnq"
1264
1264
  }), i = g({
1265
1265
  name: "openedOnServer",
1266
- sid: "aqzl82"
1266
+ sid: "m42ioq"
1267
1267
  }), s = g({
1268
1268
  name: "openedOnClient",
1269
- sid: "-n5wotz"
1269
+ sid: "-bstrdb"
1270
1270
  }), c = g({
1271
1271
  name: "close",
1272
- sid: "2mdmp7"
1272
+ sid: "41ihvs"
1273
1273
  }), d = g({
1274
1274
  name: "closed",
1275
- sid: "tyhbsl"
1275
+ sid: "vdm6z6"
1276
+ }), y = g({
1277
+ name: "cancelled",
1278
+ sid: "-r20ekt"
1276
1279
  });
1277
1280
  return h({
1278
1281
  and: [{
@@ -1280,7 +1283,7 @@ function Ce(e) {
1280
1283
  target: o
1281
1284
  }],
1282
1285
  or: {
1283
- sid: "-unpbr1"
1286
+ sid: "-ukycs8"
1284
1287
  }
1285
1288
  }), V({
1286
1289
  and: [{
@@ -1292,7 +1295,7 @@ function Ce(e) {
1292
1295
  }
1293
1296
  }],
1294
1297
  or: {
1295
- sid: "-ukycs8"
1298
+ sid: "-u6npcu"
1296
1299
  }
1297
1300
  }), h({
1298
1301
  and: [{
@@ -1300,7 +1303,7 @@ function Ce(e) {
1300
1303
  target: d
1301
1304
  }],
1302
1305
  or: {
1303
- sid: "-u4gize"
1306
+ sid: "-tq5vk0"
1304
1307
  }
1305
1308
  }), h({
1306
1309
  and: [{
@@ -1308,7 +1311,7 @@ function Ce(e) {
1308
1311
  target: r
1309
1312
  }],
1310
1313
  or: {
1311
- sid: "-tq5vk0"
1314
+ sid: "-tnewl7"
1312
1315
  }
1313
1316
  }), {
1314
1317
  $params: t,
@@ -1320,6 +1323,7 @@ function Ce(e) {
1320
1323
  openedOnServer: i,
1321
1324
  close: c,
1322
1325
  closed: d,
1326
+ cancelled: y,
1323
1327
  // @ts-expect-error emulated path for virtual route
1324
1328
  path: null,
1325
1329
  "@@unitShape": () => ({
@@ -1343,14 +1347,14 @@ function Ue(e) {
1343
1347
  return (d = o) === null || d === void 0 ? void 0 : d();
1344
1348
  }, {
1345
1349
  name: "waitForAsyncBundleFx",
1346
- sid: "-y53ute"
1350
+ sid: "-utsi21"
1347
1351
  }), s = S(async (d) => {
1348
1352
  await i();
1349
- for (const b of [].concat(r))
1350
- await b(d);
1353
+ for (const y of [].concat(r))
1354
+ await y(d);
1351
1355
  }, {
1352
1356
  name: "openFx",
1353
- sid: "-nropd8"
1357
+ sid: "-kgdclv"
1354
1358
  }), c = Ce(s.pending);
1355
1359
  return h({
1356
1360
  and: [{
@@ -1358,7 +1362,7 @@ function Ue(e) {
1358
1362
  target: s
1359
1363
  }],
1360
1364
  or: {
1361
- sid: "k4g7d"
1365
+ sid: "102heu"
1362
1366
  }
1363
1367
  }), h({
1364
1368
  and: [{
@@ -1367,7 +1371,7 @@ function Ue(e) {
1367
1371
  target: c.$params
1368
1372
  }],
1369
1373
  or: {
1370
- sid: "mvf66"
1374
+ sid: "12tgdn"
1371
1375
  }
1372
1376
  }), n && h({
1373
1377
  and: [{
@@ -1377,26 +1381,34 @@ function Ue(e) {
1377
1381
  },
1378
1382
  fn: (d) => {
1379
1383
  let {
1380
- params: b
1384
+ params: y
1381
1385
  } = d;
1382
1386
  return {
1383
- params: b
1387
+ params: y
1384
1388
  };
1385
1389
  },
1386
1390
  target: c.open
1387
1391
  }],
1388
1392
  or: {
1389
- sid: "13d90q"
1393
+ sid: "1jba87"
1390
1394
  }
1391
- }), a && h({
1395
+ }), a && (h({
1392
1396
  and: [{
1393
1397
  clock: [t.closed].concat(a),
1394
1398
  target: c.close
1395
1399
  }],
1396
1400
  or: {
1397
- sid: "1jv2tk"
1401
+ sid: "1zt411"
1402
+ }
1403
+ }), h({
1404
+ and: [{
1405
+ clock: [].concat(a),
1406
+ target: c.cancelled
1407
+ }],
1408
+ or: {
1409
+ sid: "22k2zu"
1398
1410
  }
1399
- }), Object.assign(c, {
1411
+ })), Object.assign(c, {
1400
1412
  internal: {
1401
1413
  setAsyncImport: (d) => o = d
1402
1414
  }
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "registry": "https://registry.npmjs.org/"
6
6
  },
7
7
  "private": false,
8
- "version": "0.8.0",
8
+ "version": "0.8.2",
9
9
  "description": "Router with power of effector",
10
10
  "keywords": [
11
11
  "effector",
@@ -53,5 +53,5 @@
53
53
  "@argon-router/paths": "^0.8.0",
54
54
  "query-string": "^9.1.1"
55
55
  },
56
- "gitHead": "1865adb15d9a326bc13d7b4f4a25ef63d14c63ee"
56
+ "gitHead": "d28e62a131a7b70d6adb3662284b7fc8f1bd66c4"
57
57
  }