@argon-router/core 0.6.1 → 0.6.3

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 D(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 E(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?D(Object(r),!0).forEach(function(n){ee(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ee(e,t,r){return(t=re(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function re(e){var t=te(e,"string");return typeof t=="symbol"?t:t+""}function te(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 ne(e){let t;const r=i.createEffect(()=>{var b;return(b=t)===null||b===void 0?void 0:b()},{name:"waitForAsyncBundleFx",sid:"-au0m0h"}),n=i.createEffect(async()=>{for(const f of(b=e.beforeOpen)!==null&&b!==void 0?b:[]){var b;await f()}},{name:"beforeOpenFx",sid:"-iy13uf"}),a=i.createEffect(async b=>{await r(),await n();const f=e.parent;return f&&await f.internal.openFx(E(E({},b??{params:{}}),{},{navigate:!1})),b},{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"}),m=i.createEvent({name:"close",sid:"-wvbr5n"}),O=i.createEvent({name:"opened",sid:"-qni80y"}),l=i.createEvent({name:"openedOnServer",sid:"eh9oki"}),h=i.createEvent({name:"openedOnClient",sid:"eet6mh"}),d=i.createEvent({name:"navigated",sid:"-rnvpuc"}),j=i.createEvent({name:"closed",sid:"w9iziz"});i.sample({and:[{clock:u,target:a}],or:{sid:"u86cfp"}});const S={};return i.sample({and:[{clock:d,fn:b=>b&&"params"in b?E({},b.params):S,target:o}],or:{sid:"ymu9q6"}}),i.split({and:[{source:d,match:()=>typeof window>"u"?"server":"client",cases:{server:l,client:h}}],or:{sid:"z4zhb3"}}),i.sample({and:[{clock:[h,l],target:O}],or:{sid:"-zf2y9u"}}),i.sample({and:[{clock:m,target:j}],or:{sid:"-z0saug"}}),i.sample({and:[{clock:[O.map(()=>!0),j.map(()=>!1)],target:s}],or:{sid:"-yy1bvn"}}),E(E({$params:o,$isOpened:s,$isPending:c,open:u,closed:j,opened:O,openedOnClient:h,openedOnServer:l},e),{},{internal:{navigated:d,close:m,openFx:a,setAsyncImport:b=>t=b},"@@unitShape":()=>({params:o,isPending:c,isOpened:s,onOpen:u})})}const ae=Symbol("any"),oe=Symbol("number"),se=Symbol("string"),ie=Symbol("array"),ce=Symbol("boolean"),F={any:ae,number:oe,string:se,array:ie,boolean:ce};function C(e,t){for(const r of e)if(t.includes(r))return!0;return!1}function z(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 F.any:{if(!e[r])return!1;break}case F.string:{if(!e[r]||Array.isArray(e[r]))return!1;break}case F.array:{if(!e[r]||!Array.isArray(e[r]))return!1;break}case F.number:{if(!e[r]||Array.isArray(e[r])||isNaN(parseInt(e[r]))&&isNaN(parseFloat(e[r])))return!1;break}case F.boolean:{if(!e[r]||Array.isArray(e[r])||!["0","1","false","true"].includes(e[r]))return!1;break}}}return!0}function ue(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 F.any:case F.string:case F.array:{r[n]=e[n];break}case F.number:{const s=e[n];r[n]=isNaN(parseInt(s))?parseFloat(s):parseInt(s);break}case F.boolean:{const s=e[n];r[n]=s==="1"||s==="true";break}}}return r}function fe(e){let{$activeRoutes:t,$query:r,navigate:n}=e;return a=>{const{parameters:o,forRoutes:s}=a,c=i.createStore(!1,{name:"$entered",sid:"lde75p"}),u=i.createEvent({name:"entered",sid:"-ggrer9"}),m=i.createEvent({name:"exited",sid:"xzl0hy"}),O=i.createEvent({name:"exit",sid:"-9k6g49"}),l=i.createEvent({name:"changeEntered",sid:"-ibka8"});return i.sample({and:[{clock:l,target:c}],or:{sid:"-hadp7p"}}),i.sample({and:[{source:{activeRoutes:t,query:r},filter:h=>{let{activeRoutes:d,query:j}=h;return(!s||C(s,d))&&z(j,o)},fn:h=>{let{query:d}=h;return ue(d,o)},target:[u,l.prepend(()=>!0)]}],or:{sid:"-gw31sb"}}),i.sample({and:[{source:{activeRoutes:t,query:r,entered:c},filter:h=>{let{activeRoutes:d,query:j,entered:S}=h;return S&&!((!s||C(s,d))&&z(j,o))},target:[m.prepend(()=>{}),l.prepend(()=>!1)]}],or:{sid:"-gfl7zh"}}),i.sample({and:[{clock:O,source:r,fn:(h,d)=>{if(d&&d.ignoreParams){const j={};for(const S of d.ignoreParams)h[S]&&(j[S]=h[S]);return{query:j}}return{query:{}}},target:n}],or:{sid:"-fwcf7u"}}),{entered:u,exited:m,exit:O}}}const V="%[a-f0-9]{2}",U=new RegExp("("+V+")|([^%]+?)","gi"),B=new RegExp("("+V+")+","gi");function $(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([],$(r),$(n))}function le(e){try{return decodeURIComponent(e)}catch{let t=e.match(U)||[];for(let r=1;r<t.length;r++)e=$(t,r).join(""),t=e.match(U)||[];return e}}function de(e){const t={"%FE%FF":"��","%FF%FE":"��"};let r=B.exec(e);for(;r;){try{t[r[0]]=decodeURIComponent(r[0])}catch{const a=le(r[0]);a!==r[0]&&(t[r[0]]=a)}r=B.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 pe(e){if(typeof e!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return decodeURIComponent(e)}catch{return de(e)}}function me(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 K(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 ye=e=>e==null,be=e=>encodeURIComponent(e).replaceAll(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),A=Symbol("encodeFragmentIdentifier");function ge(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,[g(t,e),"[",a,"]"].join("")]:[...r,[g(t,e),"[",g(a,e),"]=",g(n,e)].join("")]};case"bracket":return t=>(r,n)=>n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?r:n===null?[...r,[g(t,e),"[]"].join("")]:[...r,[g(t,e),"[]=",g(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,[g(t,e),":list="].join("")]:[...r,[g(t,e),":list=",g(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?[[g(r,e),t,g(a,e)].join("")]:[[n,g(a,e)].join(e.arrayFormatSeparator)])}default:return t=>(r,n)=>n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?r:n===null?[...r,g(t,e)]:[...r,[g(t,e),"=",g(n,e)].join("")]}}function he(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&&v(n,e).includes(e.arrayFormatSeparator);n=s?v(n,e):n;const c=o||s?n.split(e.arrayFormatSeparator).map(u=>v(u,e)):n===null?n:v(n,e);a[r]=c};case"bracket-separator":return(r,n,a)=>{const o=/(\[])$/.test(r);if(r=r.replace(/\[]$/,""),!o){a[r]=n&&v(n,e);return}const s=n===null?[]:v(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 L(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function g(e,t){return t.encode?t.strict?be(e):encodeURIComponent(e):e}function v(e,t){return t.decode?pe(e):e}function M(e){return Array.isArray(e)?e.sort():typeof e=="object"?M(Object.keys(e)).sort((t,r)=>Number(t)-Number(r)).map(t=>e[t]):e}function J(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function Oe(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 R(e){e=J(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function I(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,types:Object.create(null),...t},L(t.arrayFormatSeparator);const r=he(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]=K(o,"=");s===void 0&&(s=o),c=c===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?c:v(c,t),r(v(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]=q(c,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)?M(s):s,a},Object.create(null))}function Q(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},L(t.arrayFormatSeparator);const r=s=>t.skipNull&&ye(e[s])||t.skipEmptyString&&e[s]==="",n=ge(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?g(s,t):Array.isArray(c)?c.length===0&&t.arrayFormat==="bracket-separator"?g(s,t)+"[]":c.reduce(n(s),[]).join("&"):g(s,t)+"="+g(c,t)}).filter(s=>s.length>0).join("&")}function G(e,t){var a;t={decode:!0,...t};let[r,n]=K(e,"#");return r===void 0&&(r=e),{url:((a=r==null?void 0:r.split("?"))==null?void 0:a[0])??"",query:I(R(e),t),...t&&t.parseFragmentIdentifier&&n?{fragmentIdentifier:v(n,t)}:{}}}function W(e,t){t={encode:!0,strict:!0,[A]:!0,...t};const r=J(e.url).split("?")[0]||"",n=R(e.url),a={...I(n,{sort:!1}),...e.query};let o=Q(a,t);o&&(o=`?${o}`);let s=Oe(e.url);if(typeof e.fragmentIdentifier=="string"){const c=new URL(r);c.hash=e.fragmentIdentifier,s=t[A]?c.hash:`#${e.fragmentIdentifier}`}return`${r}${o}${s}`}function X(e,t,r){r={parseFragmentIdentifier:!0,[A]:!1,...r};const{url:n,query:a,fragmentIdentifier:o}=G(e,r);return W({url:n,query:me(a,t),fragmentIdentifier:o},r)}function we(e,t,r){const n=Array.isArray(t)?a=>!t.includes(a):(a,o)=>!t(a,o);return X(e,n,r)}const x=Object.freeze(Object.defineProperty({__proto__:null,exclude:we,extract:R,parse:I,parseUrl:G,pick:X,stringify:Q,stringifyUrl:W},Symbol.toStringTag,{value:"Module"}));function je(e){return t=>{const r=t.split("/").filter(Boolean);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++){let u=r[c];const m=e[c];switch(m.type){case"const":{if(u!==m.name)return null;continue}case"parameter":{const{arrayProps:O,genericProps:l,required:h}=m.payload;if(O){var o;const d=[];for(;u&&d.length<((s=O.max)!==null&&s!==void 0?s:1/0);){var s;switch(l==null?void 0:l.type){case"number":{if(isNaN(+u))return null;d.push(+u);break}case"union":{if(!l.items.includes(u))return null;d.push(u);break}default:{d.push(u);break}}u=r[c+d.length]}if(d.length<((o=O.min)!==null&&o!==void 0?o:0)||r[c+d.length]&&!e[c+1])return null;a(m.name,d);break}if(h&&!u)return null;if(!u){a(m.name,void 0);continue}switch(l==null?void 0:l.type){case"number":{if(isNaN(+u))return null;a(m.name,+u);break}case"union":{if(!l.items.includes(u))return null;a(m.name,u);break}default:{a(m.name,u);break}}}}}return{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 Se(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 _(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 T(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?_(Object(r),!0).forEach(function(n){ve(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ve(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=ke(e,"string");return typeof t=="symbol"?t:t+""}function ke(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 Ee(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:m,name:O}=s;if(!O)throw new Error('Invalid path: "'.concat(e,'". Name for argument must be provided'));const l={type:"parameter",name:O,payload:{required:!0}};switch(u&&u==="number"&&(l.payload.genericProps={type:"number"}),u&&u.includes("|")&&(l.payload.genericProps={type:"union",items:u.split("|")}),m){case"*":{l.payload.arrayProps={};break}case"+":{l.payload.arrayProps={min:1};break}case"?":{l.payload.required=!1;break}}c&&(l.payload.arrayProps=T(T({},l.payload.arrayProps),{},{min:c[0],max:c[1]})),t.push(l)}return{parse:je(t),build:Se(t)}}function H(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 N(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?H(Object(r),!0).forEach(function(n){xe(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):H(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function xe(e,t,r){return(t=Ne(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ne(e){var t=$e(e,"string");return typeof t=="symbol"?t:t+""}function $e(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 Ae(e){const{base:t="/",routes:r}=e,n=i.createStore(null,{and:{serialize:"ignore"},name:"$history",sid:"-c46cwg"}),a=i.createStore({query:{},path:null},{name:"$locationState",sid:"-xif7zo"}),o=a.map(f=>f.query),s=a.map(f=>f.path),c=i.createEvent({name:"setHistory",sid:"5o2aum"}),u=i.createEvent({name:"navigate",sid:"-kee8mo"}),m=i.createEvent({name:"back",sid:"-uo6kro"}),O=i.createEvent({name:"forward",sid:"-je6ypy"}),l=i.createEvent({name:"locationUpdated",sid:"x2x22"}),h=r.map(f=>{let y=f;const p=[];for(p.unshift(y.path);y.parent;)y=y.parent,y.path!=="/"&&p.unshift(y.path);const w=t==="/"?p.join(""):[t,...p].join(""),{build:k,parse:P}=Ee(w);return{route:f,path:w,build:k,parse:P}}),d=s.map(f=>{const y=[];if(!f)return y;for(const{route:p,parse:w}of h)w(f)&&y.push(p);return y}),j=i.attach({and:{source:n,effect:(f,y)=>{let{path:p,query:w,replace:k}=y;if(!f)throw new Error("history not found");const P={pathname:p,search:"?".concat(x.stringify(w))};k?f.replace(P):f.push(P)}},or:{name:"navigateFx",sid:"9h4a5f"}}),S=i.createEffect(f=>{const y=i.scopeBind(l);if(y({pathname:f.location.pathname,query:N({},x.parse(f.location.search))}),!f)throw new Error;f.listen(p=>{let{location:w}=p;y({pathname:w.pathname,query:N({},x.parse(w.search))})})},{name:"subscribeHistoryFx",sid:"-o0gyju"}),b=i.attach({and:{source:{query:o,path:s},effect:async f=>{let{query:y,path:p}=f;for(const{route:w,parse:k}of h){const P=k(p),[Y,Z]=[i.scopeBind(w.internal.close),i.scopeBind(w.internal.navigated)];P?Z({query:y,params:P.params}):Y()}}},or:{name:"openRoutesByPathFx",sid:"dzro9q"}});for(const{route:f,build:y}of h)i.sample({and:[{clock:f.internal.openFx.doneData,filter:p=>(p==null?void 0:p.navigate)!==!1,fn:p=>{var w;return{path:y(p&&"params"in p?p.params:void 0),query:(w=p==null?void 0:p.query)!==null&&w!==void 0?w:{},replace:p==null?void 0:p.replace}},target:u}],or:{sid:"htdbac"}});return i.sample({and:[{clock:c,target:n}],or:{sid:"sn7fxn"}}),i.sample({and:[{clock:n,filter:Boolean,target:S}],or:{sid:"spyewg"}}),i.sample({and:[{clock:l,fn:f=>({path:f.pathname,query:f.query}),target:a}],or:{sid:"t4sux7"}}),i.sample({and:[{clock:l,fn:f=>({path:f.pathname,query:f.query}),target:b}],or:{sid:"tlaoq1"}}),i.sample({and:[{clock:u,source:s,fn:(f,y)=>N({path:f},y),target:j}],or:{sid:"u1siiv"}}),{$query:o,$path:s,$activeRoutes:d,back:m,forward:O,navigate:u,routes:r,setHistory:c,mappedRoutes:h,trackQuery:fe({$activeRoutes:d,$query:o,navigate:u}),"@@unitShape":()=>({query:o,path:s,activeRoutes:d,onBack:m,onForward:O,onNavigate:u})}}function Re(e){const t=i.createStore(null,{name:"$params",sid:"-ui6zqo"}),r=i.createStore(!1,{name:"$isOpened",sid:"p6gokr"}),n=e,a=i.createEvent({name:"open",sid:"55xtzu"}),o=i.createEvent({name:"opened",sid:"tidivr"}),s=i.createEvent({name:"openedOnServer",sid:"8drh93"}),c=i.createEvent({name:"openedOnClient",sid:"-pj4ssy"}),u=i.createEvent({name:"close",sid:"-9osjjv"}),m=i.createEvent({name:"closed",sid:"hnb5jj"});return i.sample({and:[{clock:a,target:o}],or:{sid:"-v1zz6f"}}),i.split({and:[{source:o,match:()=>typeof window>"u"?"server":"client",cases:{server:s,client:c}}],or:{sid:"-unpbr1"}}),i.sample({and:[{clock:u,target:m}],or:{sid:"-u77hy7"}}),i.sample({and:[{clock:[o.map(()=>!0),m.map(()=>!1)],target:r}],or:{sid:"-u4gize"}}),{$params:t,$isOpened:r,$isPending:n,open:a,opened:o,openedOnClient:c,openedOnServer:s,close:u,closed:m,path:null,"@@unitShape":()=>({params:t,isOpened:r,isPending:n,onOpen:a})}}function Ie(e){const{route:t,beforeOpen:r,openOn:n,cancelOn:a}=e,o=i.createEffect(async c=>{for(const u of[].concat(r))await u(c)},{name:"openFx",sid:"x22os2"}),s=Re(o.pending);return i.sample({and:[{clock:t.open,target:o}],or:{sid:"2j17t"}}),i.sample({and:[{clock:t.opened,fn:c=>c&&"params"in c?c.params:null,target:s.$params}],or:{sid:"5a06m"}}),n&&i.sample({and:[{clock:n,source:{params:s.$params},fn:c=>{let{params:u}=c;return{params:u}},target:s.open}],or:{sid:"lru16"}}),a&&i.sample({and:[{clock:[t.closed].concat(a),target:s.close}],or:{sid:"129nu0"}}),s}exports.chainRoute=Ie;exports.createRoute=ne;exports.createRouter=Ae;exports.parameters=F;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("effector");function D(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 E(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?D(Object(r),!0).forEach(function(n){ee(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ee(e,t,r){return(t=re(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function re(e){var t=te(e,"string");return typeof t=="symbol"?t:t+""}function te(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 ne(e){let t;const r=i.createEffect(()=>{var g;return(g=t)===null||g===void 0?void 0:g()},{name:"waitForAsyncBundleFx",sid:"-au0m0h"}),n=i.createEffect(async()=>{for(const f of(g=e.beforeOpen)!==null&&g!==void 0?g:[]){var g;await f()}},{name:"beforeOpenFx",sid:"-iy13uf"}),a=i.createEffect(async g=>{await r(),await n();const f=e.parent;return f&&await f.internal.openFx(E(E({},g??{params:{}}),{},{navigate:!1})),g},{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"}),w=i.createEvent({name:"close",sid:"-wvbr5n"}),O=i.createEvent({name:"opened",sid:"-qni80y"}),m=i.createEvent({name:"openedOnServer",sid:"eh9oki"}),d=i.createEvent({name:"openedOnClient",sid:"eet6mh"}),p=i.createEvent({name:"navigated",sid:"-rnvpuc"}),b=i.createEvent({name:"closed",sid:"w9iziz"});i.sample({and:[{clock:u,target:a}],or:{sid:"u86cfp"}});const S={};return i.sample({and:[{clock:p,fn:g=>g&&"params"in g?E({},g.params):S,target:o}],or:{sid:"ymu9q6"}}),i.split({and:[{source:p,match:()=>typeof window>"u"?"server":"client",cases:{server:m,client:d}}],or:{sid:"z4zhb3"}}),i.sample({and:[{clock:[d,m],target:O}],or:{sid:"-zf2y9u"}}),i.sample({and:[{clock:w,target:b}],or:{sid:"-z0saug"}}),i.sample({and:[{clock:[O.map(()=>!0),b.map(()=>!1)],target:s}],or:{sid:"-yy1bvn"}}),E(E({$params:o,$isOpened:s,$isPending:c,open:u,closed:b,opened:O,openedOnClient:d,openedOnServer:m},e),{},{internal:{navigated:p,close:w,openFx:a,setAsyncImport:g=>t=g},"@@unitShape":()=>({params:o,isPending:c,isOpened:s,onOpen:u})})}const ae=Symbol("any"),oe=Symbol("number"),se=Symbol("string"),ie=Symbol("array"),ce=Symbol("boolean"),F={any:ae,number:oe,string:se,array:ie,boolean:ce};function C(e,t){for(const r of e)if(t.includes(r))return!0;return!1}function z(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 F.any:{if(!e[r])return!1;break}case F.string:{if(!e[r]||Array.isArray(e[r]))return!1;break}case F.array:{if(!e[r]||!Array.isArray(e[r]))return!1;break}case F.number:{if(!e[r]||Array.isArray(e[r])||isNaN(parseInt(e[r]))&&isNaN(parseFloat(e[r])))return!1;break}case F.boolean:{if(!e[r]||Array.isArray(e[r])||!["0","1","false","true"].includes(e[r]))return!1;break}}}return!0}function ue(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 F.any:case F.string:case F.array:{r[n]=e[n];break}case F.number:{const s=e[n];r[n]=isNaN(parseInt(s))?parseFloat(s):parseInt(s);break}case F.boolean:{const s=e[n];r[n]=s==="1"||s==="true";break}}}return r}function fe(e){let{$activeRoutes:t,$query:r,navigate:n}=e;return a=>{const{parameters:o,forRoutes:s}=a,c=i.createStore(!1,{name:"$entered",sid:"lde75p"}),u=i.createEvent({name:"entered",sid:"-ggrer9"}),w=i.createEvent({name:"exited",sid:"xzl0hy"}),O=i.createEvent({name:"exit",sid:"-9k6g49"}),m=i.createEvent({name:"changeEntered",sid:"-ibka8"});return i.sample({and:[{clock:m,target:c}],or:{sid:"-hadp7p"}}),i.sample({and:[{source:{activeRoutes:t,query:r},filter:d=>{let{activeRoutes:p,query:b}=d;return(!s||C(s,p))&&z(b,o)},fn:d=>{let{query:p}=d;return ue(p,o)},target:[u,m.prepend(()=>!0)]}],or:{sid:"-gw31sb"}}),i.sample({and:[{source:{activeRoutes:t,query:r,entered:c},filter:d=>{let{activeRoutes:p,query:b,entered:S}=d;return S&&!((!s||C(s,p))&&z(b,o))},target:[w.prepend(()=>{}),m.prepend(()=>!1)]}],or:{sid:"-gfl7zh"}}),i.sample({and:[{clock:O,source:r,fn:(d,p)=>{if(p&&p.ignoreParams){const b={};for(const S of p.ignoreParams)d[S]&&(b[S]=d[S]);return{query:b}}return{query:{}}},target:n}],or:{sid:"-fwcf7u"}}),{entered:u,exited:w,exit:O}}}const V="%[a-f0-9]{2}",U=new RegExp("("+V+")|([^%]+?)","gi"),B=new RegExp("("+V+")+","gi");function $(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([],$(r),$(n))}function le(e){try{return decodeURIComponent(e)}catch{let t=e.match(U)||[];for(let r=1;r<t.length;r++)e=$(t,r).join(""),t=e.match(U)||[];return e}}function de(e){const t={"%FE%FF":"��","%FF%FE":"��"};let r=B.exec(e);for(;r;){try{t[r[0]]=decodeURIComponent(r[0])}catch{const a=le(r[0]);a!==r[0]&&(t[r[0]]=a)}r=B.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 pe(e){if(typeof e!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return decodeURIComponent(e)}catch{return de(e)}}function me(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 K(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 ye=e=>e==null,be=e=>encodeURIComponent(e).replaceAll(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),A=Symbol("encodeFragmentIdentifier");function ge(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 he(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&&v(n,e).includes(e.arrayFormatSeparator);n=s?v(n,e):n;const c=o||s?n.split(e.arrayFormatSeparator).map(u=>v(u,e)):n===null?n:v(n,e);a[r]=c};case"bracket-separator":return(r,n,a)=>{const o=/(\[])$/.test(r);if(r=r.replace(/\[]$/,""),!o){a[r]=n&&v(n,e);return}const s=n===null?[]:v(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 L(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?be(e):encodeURIComponent(e):e}function v(e,t){return t.decode?pe(e):e}function M(e){return Array.isArray(e)?e.sort():typeof e=="object"?M(Object.keys(e)).sort((t,r)=>Number(t)-Number(r)).map(t=>e[t]):e}function J(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function Oe(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 R(e){e=J(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function I(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,types:Object.create(null),...t},L(t.arrayFormatSeparator);const r=he(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]=K(o,"=");s===void 0&&(s=o),c=c===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?c:v(c,t),r(v(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]=q(c,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)?M(s):s,a},Object.create(null))}function Q(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},L(t.arrayFormatSeparator);const r=s=>t.skipNull&&ye(e[s])||t.skipEmptyString&&e[s]==="",n=ge(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 G(e,t){var a;t={decode:!0,...t};let[r,n]=K(e,"#");return r===void 0&&(r=e),{url:((a=r==null?void 0:r.split("?"))==null?void 0:a[0])??"",query:I(R(e),t),...t&&t.parseFragmentIdentifier&&n?{fragmentIdentifier:v(n,t)}:{}}}function W(e,t){t={encode:!0,strict:!0,[A]:!0,...t};const r=J(e.url).split("?")[0]||"",n=R(e.url),a={...I(n,{sort:!1}),...e.query};let o=Q(a,t);o&&(o=`?${o}`);let s=Oe(e.url);if(typeof e.fragmentIdentifier=="string"){const c=new URL(r);c.hash=e.fragmentIdentifier,s=t[A]?c.hash:`#${e.fragmentIdentifier}`}return`${r}${o}${s}`}function X(e,t,r){r={parseFragmentIdentifier:!0,[A]:!1,...r};const{url:n,query:a,fragmentIdentifier:o}=G(e,r);return W({url:n,query:me(a,t),fragmentIdentifier:o},r)}function we(e,t,r){const n=Array.isArray(t)?a=>!t.includes(a):(a,o)=>!t(a,o);return X(e,n,r)}const x=Object.freeze(Object.defineProperty({__proto__:null,exclude:we,extract:R,parse:I,parseUrl:G,pick:X,stringify:Q,stringifyUrl:W},Symbol.toStringTag,{value:"Module"}));function je(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:w,genericProps:O,required:m}=u.payload;if(w){var o;const p=[];let b;for(;;){var s;if(b=r.shift(),!b)break;switch(O==null?void 0:O.type){case"number":{if(isNaN(+b))return null;p.push(+b);break}case"union":{if(!O.items.includes(b))return null;p.push(b);break}default:{p.push(b);break}}if(p.length>=((s=w.max)!==null&&s!==void 0?s:1/0))break}if(p.length<((o=w.min)!==null&&o!==void 0?o:0)||r.length>0&&!e[c+1])return null;a(u.name,p);break}const d=r.shift();if(m&&!d)return null;if(!d){a(u.name,void 0);continue}switch(O==null?void 0:O.type){case"number":{if(isNaN(+d))return null;a(u.name,+d);break}case"union":{if(!O.items.includes(d))return null;a(u.name,d);break}default:{a(u.name,d);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 Se(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 _(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 T(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?_(Object(r),!0).forEach(function(n){ve(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ve(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=ke(e,"string");return typeof t=="symbol"?t:t+""}function ke(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 Ee(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:w,name:O}=s;if(!O)throw new Error('Invalid path: "'.concat(e,'". Name for argument must be provided'));const m={type:"parameter",name:O,payload:{required:!0}};switch(u&&u==="number"&&(m.payload.genericProps={type:"number"}),u&&u.includes("|")&&(m.payload.genericProps={type:"union",items:u.split("|")}),w){case"*":{m.payload.arrayProps={};break}case"+":{m.payload.arrayProps={min:1};break}case"?":{m.payload.required=!1;break}}c&&(m.payload.arrayProps=T(T({},m.payload.arrayProps),{},{min:c[0],max:c[1]})),t.push(m)}return{parse:je(t),build:Se(t)}}function H(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 N(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?H(Object(r),!0).forEach(function(n){xe(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):H(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function xe(e,t,r){return(t=Ne(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ne(e){var t=$e(e,"string");return typeof t=="symbol"?t:t+""}function $e(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 Ae(e){const{base:t="/",routes:r}=e,n=i.createStore(null,{and:{serialize:"ignore"},name:"$history",sid:"-c46cwg"}),a=i.createStore({query:{},path:null},{name:"$locationState",sid:"-xif7zo"}),o=a.map(f=>f.query),s=a.map(f=>f.path),c=i.createEvent({name:"setHistory",sid:"5o2aum"}),u=i.createEvent({name:"navigate",sid:"-kee8mo"}),w=i.createEvent({name:"back",sid:"-uo6kro"}),O=i.createEvent({name:"forward",sid:"-je6ypy"}),m=i.createEvent({name:"locationUpdated",sid:"x2x22"}),d=r.map(f=>{let y=f;const l=[];for(l.unshift(y.path);y.parent;)y=y.parent,y.path!=="/"&&l.unshift(y.path);const j=t==="/"?l.join(""):[t,...l].join(""),{build:k,parse:P}=Ee(j);return{route:f,path:j,build:k,parse:P}}),p=s.map(f=>{const y=[];if(!f)return y;for(const{route:l,parse:j}of d)j(f)&&y.push(l);return y}),b=i.attach({and:{source:n,effect:(f,y)=>{let{path:l,query:j,replace:k}=y;if(!f)throw new Error("history not found");const P={pathname:l,search:"?".concat(x.stringify(j))};k?f.replace(P):f.push(P)}},or:{name:"navigateFx",sid:"9h4a5f"}}),S=i.createEffect(f=>{const y=i.scopeBind(m);if(y({pathname:f.location.pathname,query:N({},x.parse(f.location.search))}),!f)throw new Error;f.listen(l=>{let{location:j}=l;y({pathname:j.pathname,query:N({},x.parse(j.search))})})},{name:"subscribeHistoryFx",sid:"-o0gyju"}),g=i.attach({and:{source:{query:o,path:s},effect:async f=>{let{query:y,path:l}=f;for(const{route:j,parse:k}of d){const P=k(l),[Y,Z]=[i.scopeBind(j.internal.close),i.scopeBind(j.internal.navigated)];P?Z({query:y,params:P.params}):Y()}}},or:{name:"openRoutesByPathFx",sid:"dzro9q"}});for(const{route:f,build:y}of d)i.sample({and:[{clock:f.internal.openFx.doneData,filter:l=>(l==null?void 0:l.navigate)!==!1,fn:l=>{var j;return{path:y(l&&"params"in l?l.params:void 0),query:(j=l==null?void 0:l.query)!==null&&j!==void 0?j:{},replace:l==null?void 0:l.replace}},target:u}],or:{sid:"htdbac"}});return i.sample({and:[{clock:c,target:n}],or:{sid:"sn7fxn"}}),i.sample({and:[{clock:n,filter:Boolean,target:S}],or:{sid:"spyewg"}}),i.sample({and:[{clock:m,fn:f=>({path:f.pathname,query:f.query}),target:a}],or:{sid:"t4sux7"}}),i.sample({and:[{clock:m,fn:f=>({path:f.pathname,query:f.query}),target:g}],or:{sid:"tlaoq1"}}),i.sample({and:[{clock:u,source:s,fn:(f,y)=>N({path:f},y),target:b}],or:{sid:"u1siiv"}}),{$query:o,$path:s,$activeRoutes:p,back:w,forward:O,navigate:u,routes:r,setHistory:c,mappedRoutes:d,trackQuery:fe({$activeRoutes:p,$query:o,navigate:u}),"@@unitShape":()=>({query:o,path:s,activeRoutes:p,onBack:w,onForward:O,onNavigate:u})}}function Re(e){const t=i.createStore(null,{name:"$params",sid:"-ui6zqo"}),r=i.createStore(!1,{name:"$isOpened",sid:"p6gokr"}),n=e,a=i.createEvent({name:"open",sid:"55xtzu"}),o=i.createEvent({name:"opened",sid:"tidivr"}),s=i.createEvent({name:"openedOnServer",sid:"8drh93"}),c=i.createEvent({name:"openedOnClient",sid:"-pj4ssy"}),u=i.createEvent({name:"close",sid:"-9osjjv"}),w=i.createEvent({name:"closed",sid:"hnb5jj"});return i.sample({and:[{clock:a,target:o}],or:{sid:"-v1zz6f"}}),i.split({and:[{source:o,match:()=>typeof window>"u"?"server":"client",cases:{server:s,client:c}}],or:{sid:"-unpbr1"}}),i.sample({and:[{clock:u,target:w}],or:{sid:"-u77hy7"}}),i.sample({and:[{clock:[o.map(()=>!0),w.map(()=>!1)],target:r}],or:{sid:"-u4gize"}}),{$params:t,$isOpened:r,$isPending:n,open:a,opened:o,openedOnClient:c,openedOnServer:s,close:u,closed:w,path:null,"@@unitShape":()=>({params:t,isOpened:r,isPending:n,onOpen:a})}}function Ie(e){const{route:t,beforeOpen:r,openOn:n,cancelOn:a}=e,o=i.createEffect(async c=>{for(const u of[].concat(r))await u(c)},{name:"openFx",sid:"x22os2"}),s=Re(o.pending);return i.sample({and:[{clock:t.open,target:o}],or:{sid:"2j17t"}}),i.sample({and:[{clock:t.opened,fn:c=>c&&"params"in c?c.params:null,target:s.$params}],or:{sid:"5a06m"}}),n&&i.sample({and:[{clock:n,source:{params:s.$params},fn:c=>{let{params:u}=c;return{params:u}},target:s.open}],or:{sid:"lru16"}}),a&&i.sample({and:[{clock:[t.closed].concat(a),target:s.close}],or:{sid:"129nu0"}}),s}exports.chainRoute=Ie;exports.createRoute=ne;exports.createRouter=Ae;exports.parameters=F;
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { createEffect as A, createStore as v, createEvent as m, sample as y, split as Q, attach as B, scopeBind as E } from "effector";
2
- function _(e, t) {
1
+ import { createEffect as A, createStore as v, createEvent as m, sample as y, split as Q, attach as _, scopeBind as E } from "effector";
2
+ function q(e, t) {
3
3
  var r = Object.keys(e);
4
4
  if (Object.getOwnPropertySymbols) {
5
5
  var n = Object.getOwnPropertySymbols(e);
@@ -12,9 +12,9 @@ function _(e, t) {
12
12
  function $(e) {
13
13
  for (var t = 1; t < arguments.length; t++) {
14
14
  var r = arguments[t] != null ? arguments[t] : {};
15
- t % 2 ? _(Object(r), !0).forEach(function(n) {
15
+ t % 2 ? q(Object(r), !0).forEach(function(n) {
16
16
  ie(e, n, r[n]);
17
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : _(Object(r)).forEach(function(n) {
17
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : q(Object(r)).forEach(function(n) {
18
18
  Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
19
19
  });
20
20
  }
@@ -37,30 +37,30 @@ function ce(e, t) {
37
37
  }
38
38
  return (t === "string" ? String : Number)(e);
39
39
  }
40
- function Be(e) {
40
+ function _e(e) {
41
41
  let t;
42
42
  const r = A(() => {
43
- var g;
44
- return (g = t) === null || g === void 0 ? void 0 : g();
43
+ var h;
44
+ return (h = t) === null || h === void 0 ? void 0 : h();
45
45
  }, {
46
46
  name: "waitForAsyncBundleFx",
47
47
  sid: "-au0m0h"
48
48
  }), n = A(async () => {
49
- for (const u of (g = e.beforeOpen) !== null && g !== void 0 ? g : []) {
50
- var g;
49
+ for (const u of (h = e.beforeOpen) !== null && h !== void 0 ? h : []) {
50
+ var h;
51
51
  await u();
52
52
  }
53
53
  }, {
54
54
  name: "beforeOpenFx",
55
55
  sid: "-iy13uf"
56
- }), a = A(async (g) => {
56
+ }), a = A(async (h) => {
57
57
  await r(), await n();
58
58
  const u = e.parent;
59
- return u && await u.internal.openFx($($({}, g ?? {
59
+ return u && await u.internal.openFx($($({}, h ?? {
60
60
  params: {}
61
61
  }), {}, {
62
62
  navigate: !1
63
- })), g;
63
+ })), h;
64
64
  }, {
65
65
  name: "openFx",
66
66
  sid: "cbmc2y"
@@ -73,22 +73,22 @@ function Be(e) {
73
73
  }), s = a.pending, c = m({
74
74
  name: "open",
75
75
  sid: "hyxmmx"
76
- }), p = m({
76
+ }), j = m({
77
77
  name: "close",
78
78
  sid: "-wvbr5n"
79
79
  }), w = m({
80
80
  name: "opened",
81
81
  sid: "-qni80y"
82
- }), f = m({
82
+ }), p = m({
83
83
  name: "openedOnServer",
84
84
  sid: "eh9oki"
85
- }), O = m({
85
+ }), l = m({
86
86
  name: "openedOnClient",
87
87
  sid: "eet6mh"
88
- }), l = m({
88
+ }), d = m({
89
89
  name: "navigated",
90
90
  sid: "-rnvpuc"
91
- }), F = m({
91
+ }), g = m({
92
92
  name: "closed",
93
93
  sid: "w9iziz"
94
94
  });
@@ -104,8 +104,8 @@ function Be(e) {
104
104
  const S = {};
105
105
  return y({
106
106
  and: [{
107
- clock: l,
108
- fn: (g) => g && "params" in g ? $({}, g.params) : S,
107
+ clock: d,
108
+ fn: (h) => h && "params" in h ? $({}, h.params) : S,
109
109
  target: o
110
110
  }],
111
111
  or: {
@@ -113,11 +113,11 @@ function Be(e) {
113
113
  }
114
114
  }), Q({
115
115
  and: [{
116
- source: l,
116
+ source: d,
117
117
  match: () => typeof window > "u" ? "server" : "client",
118
118
  cases: {
119
- server: f,
120
- client: O
119
+ server: p,
120
+ client: l
121
121
  }
122
122
  }],
123
123
  or: {
@@ -125,7 +125,7 @@ function Be(e) {
125
125
  }
126
126
  }), y({
127
127
  and: [{
128
- clock: [O, f],
128
+ clock: [l, p],
129
129
  target: w
130
130
  }],
131
131
  or: {
@@ -133,15 +133,15 @@ function Be(e) {
133
133
  }
134
134
  }), y({
135
135
  and: [{
136
- clock: p,
137
- target: F
136
+ clock: j,
137
+ target: g
138
138
  }],
139
139
  or: {
140
140
  sid: "-z0saug"
141
141
  }
142
142
  }), y({
143
143
  and: [{
144
- clock: [w.map(() => !0), F.map(() => !1)],
144
+ clock: [w.map(() => !0), g.map(() => !1)],
145
145
  target: i
146
146
  }],
147
147
  or: {
@@ -152,16 +152,16 @@ function Be(e) {
152
152
  $isOpened: i,
153
153
  $isPending: s,
154
154
  open: c,
155
- closed: F,
155
+ closed: g,
156
156
  opened: w,
157
- openedOnClient: O,
158
- openedOnServer: f
157
+ openedOnClient: l,
158
+ openedOnServer: p
159
159
  }, e), {}, {
160
160
  internal: {
161
- navigated: l,
162
- close: p,
161
+ navigated: d,
162
+ close: j,
163
163
  openFx: a,
164
- setAsyncImport: (g) => t = g
164
+ setAsyncImport: (h) => t = h
165
165
  },
166
166
  "@@unitShape": () => ({
167
167
  params: o,
@@ -178,7 +178,7 @@ const ue = Symbol("any"), fe = Symbol("number"), le = Symbol("string"), de = Sym
178
178
  array: de,
179
179
  boolean: pe
180
180
  };
181
- function q(e, t) {
181
+ function B(e, t) {
182
182
  for (const r of e)
183
183
  if (t.includes(r))
184
184
  return !0;
@@ -303,19 +303,19 @@ function ye(e) {
303
303
  }), c = m({
304
304
  name: "entered",
305
305
  sid: "-ggrer9"
306
- }), p = m({
306
+ }), j = m({
307
307
  name: "exited",
308
308
  sid: "xzl0hy"
309
309
  }), w = m({
310
310
  name: "exit",
311
311
  sid: "-9k6g49"
312
- }), f = m({
312
+ }), p = m({
313
313
  name: "changeEntered",
314
314
  sid: "-ibka8"
315
315
  });
316
316
  return y({
317
317
  and: [{
318
- clock: f,
318
+ clock: p,
319
319
  target: s
320
320
  }],
321
321
  or: {
@@ -327,20 +327,20 @@ function ye(e) {
327
327
  activeRoutes: t,
328
328
  query: r
329
329
  },
330
- filter: (O) => {
330
+ filter: (l) => {
331
331
  let {
332
- activeRoutes: l,
333
- query: F
334
- } = O;
335
- return (!i || q(i, l)) && T(F, o);
332
+ activeRoutes: d,
333
+ query: g
334
+ } = l;
335
+ return (!i || B(i, d)) && T(g, o);
336
336
  },
337
- fn: (O) => {
337
+ fn: (l) => {
338
338
  let {
339
- query: l
340
- } = O;
341
- return me(l, o);
339
+ query: d
340
+ } = l;
341
+ return me(d, o);
342
342
  },
343
- target: [c, f.prepend(() => !0)]
343
+ target: [c, p.prepend(() => !0)]
344
344
  }],
345
345
  or: {
346
346
  sid: "-gw31sb"
@@ -352,16 +352,16 @@ function ye(e) {
352
352
  query: r,
353
353
  entered: s
354
354
  },
355
- filter: (O) => {
355
+ filter: (l) => {
356
356
  let {
357
- activeRoutes: l,
358
- query: F,
357
+ activeRoutes: d,
358
+ query: g,
359
359
  entered: S
360
- } = O;
361
- return S && !((!i || q(i, l)) && T(F, o));
360
+ } = l;
361
+ return S && !((!i || B(i, d)) && T(g, o));
362
362
  },
363
- target: [p.prepend(() => {
364
- }), f.prepend(() => !1)]
363
+ target: [j.prepend(() => {
364
+ }), p.prepend(() => !1)]
365
365
  }],
366
366
  or: {
367
367
  sid: "-gfl7zh"
@@ -370,13 +370,13 @@ function ye(e) {
370
370
  and: [{
371
371
  clock: w,
372
372
  source: r,
373
- fn: (O, l) => {
374
- if (l && l.ignoreParams) {
375
- const F = {};
376
- for (const S of l.ignoreParams)
377
- O[S] && (F[S] = O[S]);
373
+ fn: (l, d) => {
374
+ if (d && d.ignoreParams) {
375
+ const g = {};
376
+ for (const S of d.ignoreParams)
377
+ l[S] && (g[S] = l[S]);
378
378
  return {
379
- query: F
379
+ query: g
380
380
  };
381
381
  }
382
382
  return {
@@ -390,7 +390,7 @@ function ye(e) {
390
390
  }
391
391
  }), {
392
392
  entered: c,
393
- exited: p,
393
+ exited: j,
394
394
  exit: w
395
395
  };
396
396
  };
@@ -478,20 +478,20 @@ function Fe(e) {
478
478
  case "index":
479
479
  return (t) => (r, n) => {
480
480
  const a = r.length;
481
- 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("")];
481
+ return n === void 0 || e.skipNull && n === null || e.skipEmptyString && n === "" ? r : n === null ? [...r, [O(t, e), "[", a, "]"].join("")] : [...r, [O(t, e), "[", O(a, e), "]=", O(n, e)].join("")];
482
482
  };
483
483
  case "bracket":
484
- 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("")];
484
+ return (t) => (r, n) => n === void 0 || e.skipNull && n === null || e.skipEmptyString && n === "" ? r : n === null ? [...r, [O(t, e), "[]"].join("")] : [...r, [O(t, e), "[]=", O(n, e)].join("")];
485
485
  case "colon-list-separator":
486
- 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("")];
486
+ return (t) => (r, n) => n === void 0 || e.skipNull && n === null || e.skipEmptyString && n === "" ? r : n === null ? [...r, [O(t, e), ":list="].join("")] : [...r, [O(t, e), ":list=", O(n, e)].join("")];
487
487
  case "comma":
488
488
  case "separator":
489
489
  case "bracket-separator": {
490
490
  const t = e.arrayFormat === "bracket-separator" ? "[]=" : "=";
491
- 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)]);
491
+ return (r) => (n, a) => a === void 0 || e.skipNull && a === null || e.skipEmptyString && a === "" ? n : (a = a === null ? "" : a, n.length === 0 ? [[O(r, e), t, O(a, e)].join("")] : [[n, O(a, e)].join(e.arrayFormatSeparator)]);
492
492
  }
493
493
  default:
494
- 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("")];
494
+ return (t) => (r, n) => n === void 0 || e.skipNull && n === null || e.skipEmptyString && n === "" ? r : n === null ? [...r, O(t, e)] : [...r, [O(t, e), "=", O(n, e)].join("")];
495
495
  }
496
496
  }
497
497
  function Se(e) {
@@ -565,7 +565,7 @@ function X(e) {
565
565
  if (typeof e != "string" || e.length !== 1)
566
566
  throw new TypeError("arrayFormatSeparator must be single character string");
567
567
  }
568
- function h(e, t) {
568
+ function O(e, t) {
569
569
  return t.encode ? t.strict ? je(e) : encodeURIComponent(e) : e;
570
570
  }
571
571
  function k(e, t) {
@@ -640,7 +640,7 @@ function ee(e, t) {
640
640
  const o = Object.keys(a);
641
641
  return t.sort !== !1 && o.sort(t.sort), o.map((i) => {
642
642
  const s = e[i];
643
- return s === void 0 ? "" : s === null ? h(i, t) : Array.isArray(s) ? s.length === 0 && t.arrayFormat === "bracket-separator" ? h(i, t) + "[]" : s.reduce(n(i), []).join("&") : h(i, t) + "=" + h(s, t);
643
+ return s === void 0 ? "" : s === null ? O(i, t) : Array.isArray(s) ? s.length === 0 && t.arrayFormat === "bracket-separator" ? O(i, t) + "[]" : s.reduce(n(i), []).join("&") : O(i, t) + "=" + O(s, t);
644
644
  }).filter((i) => i.length > 0).join("&");
645
645
  }
646
646
  function re(e, t) {
@@ -713,7 +713,7 @@ const R = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
713
713
  }, Symbol.toStringTag, { value: "Module" }));
714
714
  function xe(e) {
715
715
  return (t) => {
716
- const r = t.split("/").filter(Boolean);
716
+ const r = t.split("/").map((s) => s.trim()).filter((s) => s !== "");
717
717
  let n = null;
718
718
  function a(s, c) {
719
719
  n || (n = {}), n[s] = c;
@@ -723,71 +723,73 @@ function xe(e) {
723
723
  params: null
724
724
  } : null;
725
725
  for (let s = 0; s < e.length; s++) {
726
- let c = r[s];
727
- const p = e[s];
728
- switch (p.type) {
726
+ const c = e[s];
727
+ switch (c.type) {
729
728
  case "const": {
730
- if (c !== p.name) return null;
729
+ if (c.name !== r.shift()) return null;
731
730
  continue;
732
731
  }
733
732
  case "parameter": {
734
733
  const {
735
- arrayProps: w,
736
- genericProps: f,
737
- required: O
738
- } = p.payload;
739
- if (w) {
734
+ arrayProps: j,
735
+ genericProps: w,
736
+ required: p
737
+ } = c.payload;
738
+ if (j) {
740
739
  var o;
741
- const l = [];
742
- for (; c && l.length < ((i = w.max) !== null && i !== void 0 ? i : 1 / 0); ) {
740
+ const d = [];
741
+ let g;
742
+ for (; ; ) {
743
743
  var i;
744
- switch (f == null ? void 0 : f.type) {
744
+ if (g = r.shift(), !g) break;
745
+ switch (w == null ? void 0 : w.type) {
745
746
  case "number": {
746
- if (isNaN(+c)) return null;
747
- l.push(+c);
747
+ if (isNaN(+g)) return null;
748
+ d.push(+g);
748
749
  break;
749
750
  }
750
751
  case "union": {
751
- if (!f.items.includes(c)) return null;
752
- l.push(c);
752
+ if (!w.items.includes(g)) return null;
753
+ d.push(g);
753
754
  break;
754
755
  }
755
756
  default: {
756
- l.push(c);
757
+ d.push(g);
757
758
  break;
758
759
  }
759
760
  }
760
- c = r[s + l.length];
761
+ if (d.length >= ((i = j.max) !== null && i !== void 0 ? i : 1 / 0)) break;
761
762
  }
762
- if (l.length < ((o = w.min) !== null && o !== void 0 ? o : 0) || r[s + l.length] && !e[s + 1]) return null;
763
- a(p.name, l);
763
+ if (d.length < ((o = j.min) !== null && o !== void 0 ? o : 0) || r.length > 0 && !e[s + 1]) return null;
764
+ a(c.name, d);
764
765
  break;
765
766
  }
766
- if (O && !c) return null;
767
- if (!c) {
768
- a(p.name, void 0);
767
+ const l = r.shift();
768
+ if (p && !l) return null;
769
+ if (!l) {
770
+ a(c.name, void 0);
769
771
  continue;
770
772
  }
771
- switch (f == null ? void 0 : f.type) {
773
+ switch (w == null ? void 0 : w.type) {
772
774
  case "number": {
773
- if (isNaN(+c)) return null;
774
- a(p.name, +c);
775
+ if (isNaN(+l)) return null;
776
+ a(c.name, +l);
775
777
  break;
776
778
  }
777
779
  case "union": {
778
- if (!f.items.includes(c)) return null;
779
- a(p.name, c);
780
+ if (!w.items.includes(l)) return null;
781
+ a(c.name, l);
780
782
  break;
781
783
  }
782
784
  default: {
783
- a(p.name, c);
785
+ a(c.name, l);
784
786
  break;
785
787
  }
786
788
  }
787
789
  }
788
790
  }
789
791
  }
790
- return {
792
+ return r.length > 0 ? null : {
791
793
  path: t,
792
794
  params: n
793
795
  };
@@ -893,42 +895,42 @@ function Re(e) {
893
895
  const {
894
896
  arrayProps: s,
895
897
  genericProps: c,
896
- modificator: p,
898
+ modificator: j,
897
899
  name: w
898
900
  } = i;
899
901
  if (!w) throw new Error('Invalid path: "'.concat(e, '". Name for argument must be provided'));
900
- const f = {
902
+ const p = {
901
903
  type: "parameter",
902
904
  name: w,
903
905
  payload: {
904
906
  required: !0
905
907
  }
906
908
  };
907
- switch (c && c === "number" && (f.payload.genericProps = {
909
+ switch (c && c === "number" && (p.payload.genericProps = {
908
910
  type: "number"
909
- }), c && c.includes("|") && (f.payload.genericProps = {
911
+ }), c && c.includes("|") && (p.payload.genericProps = {
910
912
  type: "union",
911
913
  items: c.split("|")
912
- }), p) {
914
+ }), j) {
913
915
  case "*": {
914
- f.payload.arrayProps = {};
916
+ p.payload.arrayProps = {};
915
917
  break;
916
918
  }
917
919
  case "+": {
918
- f.payload.arrayProps = {
920
+ p.payload.arrayProps = {
919
921
  min: 1
920
922
  };
921
923
  break;
922
924
  }
923
925
  case "?": {
924
- f.payload.required = !1;
926
+ p.payload.required = !1;
925
927
  break;
926
928
  }
927
929
  }
928
- s && (f.payload.arrayProps = M(M({}, f.payload.arrayProps), {}, {
930
+ s && (p.payload.arrayProps = M(M({}, p.payload.arrayProps), {}, {
929
931
  min: s[0],
930
932
  max: s[1]
931
- })), t.push(f);
933
+ })), t.push(p);
932
934
  }
933
935
  return {
934
936
  /**
@@ -981,7 +983,7 @@ function Ce(e, t) {
981
983
  }
982
984
  return (t === "string" ? String : Number)(e);
983
985
  }
984
- function _e(e) {
986
+ function qe(e) {
985
987
  const {
986
988
  base: t = "/",
987
989
  routes: r
@@ -1003,54 +1005,54 @@ function _e(e) {
1003
1005
  }), c = m({
1004
1006
  name: "navigate",
1005
1007
  sid: "-kee8mo"
1006
- }), p = m({
1008
+ }), j = m({
1007
1009
  name: "back",
1008
1010
  sid: "-uo6kro"
1009
1011
  }), w = m({
1010
1012
  name: "forward",
1011
1013
  sid: "-je6ypy"
1012
- }), f = m({
1014
+ }), p = m({
1013
1015
  name: "locationUpdated",
1014
1016
  sid: "x2x22"
1015
- }), O = r.map((u) => {
1017
+ }), l = r.map((u) => {
1016
1018
  let b = u;
1017
- const d = [];
1018
- for (d.unshift(b.path); b.parent; )
1019
- b = b.parent, b.path !== "/" && d.unshift(b.path);
1020
- const j = t === "/" ? d.join("") : [t, ...d].join(""), {
1019
+ const f = [];
1020
+ for (f.unshift(b.path); b.parent; )
1021
+ b = b.parent, b.path !== "/" && f.unshift(b.path);
1022
+ const F = t === "/" ? f.join("") : [t, ...f].join(""), {
1021
1023
  build: N,
1022
1024
  parse: x
1023
- } = Re(j);
1025
+ } = Re(F);
1024
1026
  return {
1025
1027
  route: u,
1026
- path: j,
1028
+ path: F,
1027
1029
  build: N,
1028
1030
  parse: x
1029
1031
  };
1030
- }), l = i.map((u) => {
1032
+ }), d = i.map((u) => {
1031
1033
  const b = [];
1032
1034
  if (!u)
1033
1035
  return b;
1034
1036
  for (const {
1035
- route: d,
1036
- parse: j
1037
- } of O)
1038
- j(u) && b.push(d);
1037
+ route: f,
1038
+ parse: F
1039
+ } of l)
1040
+ F(u) && b.push(f);
1039
1041
  return b;
1040
- }), F = B({
1042
+ }), g = _({
1041
1043
  and: {
1042
1044
  source: n,
1043
1045
  effect: (u, b) => {
1044
1046
  let {
1045
- path: d,
1046
- query: j,
1047
+ path: f,
1048
+ query: F,
1047
1049
  replace: N
1048
1050
  } = b;
1049
1051
  if (!u)
1050
1052
  throw new Error("history not found");
1051
1053
  const x = {
1052
- pathname: d,
1053
- search: "?".concat(R.stringify(j))
1054
+ pathname: f,
1055
+ search: "?".concat(R.stringify(F))
1054
1056
  };
1055
1057
  N ? u.replace(x) : u.push(x);
1056
1058
  }
@@ -1060,25 +1062,25 @@ function _e(e) {
1060
1062
  sid: "9h4a5f"
1061
1063
  }
1062
1064
  }), S = A((u) => {
1063
- const b = E(f);
1065
+ const b = E(p);
1064
1066
  if (b({
1065
1067
  pathname: u.location.pathname,
1066
1068
  query: I({}, R.parse(u.location.search))
1067
1069
  }), !u)
1068
1070
  throw new Error();
1069
- u.listen((d) => {
1071
+ u.listen((f) => {
1070
1072
  let {
1071
- location: j
1072
- } = d;
1073
+ location: F
1074
+ } = f;
1073
1075
  b({
1074
- pathname: j.pathname,
1075
- query: I({}, R.parse(j.search))
1076
+ pathname: F.pathname,
1077
+ query: I({}, R.parse(F.search))
1076
1078
  });
1077
1079
  });
1078
1080
  }, {
1079
1081
  name: "subscribeHistoryFx",
1080
1082
  sid: "-o0gyju"
1081
- }), g = B({
1083
+ }), h = _({
1082
1084
  and: {
1083
1085
  source: {
1084
1086
  query: o,
@@ -1087,13 +1089,13 @@ function _e(e) {
1087
1089
  effect: async (u) => {
1088
1090
  let {
1089
1091
  query: b,
1090
- path: d
1092
+ path: f
1091
1093
  } = u;
1092
1094
  for (const {
1093
- route: j,
1095
+ route: F,
1094
1096
  parse: N
1095
- } of O) {
1096
- const x = N(d), [ae, oe] = [E(j.internal.close), E(j.internal.navigated)];
1097
+ } of l) {
1098
+ const x = N(f), [ae, oe] = [E(F.internal.close), E(F.internal.navigated)];
1097
1099
  x ? oe({
1098
1100
  query: b,
1099
1101
  params: x.params
@@ -1109,17 +1111,17 @@ function _e(e) {
1109
1111
  for (const {
1110
1112
  route: u,
1111
1113
  build: b
1112
- } of O)
1114
+ } of l)
1113
1115
  y({
1114
1116
  and: [{
1115
1117
  clock: u.internal.openFx.doneData,
1116
- filter: (d) => (d == null ? void 0 : d.navigate) !== !1,
1117
- fn: (d) => {
1118
- var j;
1118
+ filter: (f) => (f == null ? void 0 : f.navigate) !== !1,
1119
+ fn: (f) => {
1120
+ var F;
1119
1121
  return {
1120
- path: b(d && "params" in d ? d.params : void 0),
1121
- query: (j = d == null ? void 0 : d.query) !== null && j !== void 0 ? j : {},
1122
- replace: d == null ? void 0 : d.replace
1122
+ path: b(f && "params" in f ? f.params : void 0),
1123
+ query: (F = f == null ? void 0 : f.query) !== null && F !== void 0 ? F : {},
1124
+ replace: f == null ? void 0 : f.replace
1123
1125
  };
1124
1126
  },
1125
1127
  target: c
@@ -1147,7 +1149,7 @@ function _e(e) {
1147
1149
  }
1148
1150
  }), y({
1149
1151
  and: [{
1150
- clock: f,
1152
+ clock: p,
1151
1153
  fn: (u) => ({
1152
1154
  path: u.pathname,
1153
1155
  query: u.query
@@ -1159,12 +1161,12 @@ function _e(e) {
1159
1161
  }
1160
1162
  }), y({
1161
1163
  and: [{
1162
- clock: f,
1164
+ clock: p,
1163
1165
  fn: (u) => ({
1164
1166
  path: u.pathname,
1165
1167
  query: u.query
1166
1168
  }),
1167
- target: g
1169
+ target: h
1168
1170
  }],
1169
1171
  or: {
1170
1172
  sid: "tlaoq1"
@@ -1176,7 +1178,7 @@ function _e(e) {
1176
1178
  fn: (u, b) => I({
1177
1179
  path: u
1178
1180
  }, b),
1179
- target: F
1181
+ target: g
1180
1182
  }],
1181
1183
  or: {
1182
1184
  sid: "u1siiv"
@@ -1184,23 +1186,23 @@ function _e(e) {
1184
1186
  }), {
1185
1187
  $query: o,
1186
1188
  $path: i,
1187
- $activeRoutes: l,
1188
- back: p,
1189
+ $activeRoutes: d,
1190
+ back: j,
1189
1191
  forward: w,
1190
1192
  navigate: c,
1191
1193
  routes: r,
1192
1194
  setHistory: s,
1193
- mappedRoutes: O,
1195
+ mappedRoutes: l,
1194
1196
  trackQuery: ye({
1195
- $activeRoutes: l,
1197
+ $activeRoutes: d,
1196
1198
  $query: o,
1197
1199
  navigate: c
1198
1200
  }),
1199
1201
  "@@unitShape": () => ({
1200
1202
  query: o,
1201
1203
  path: i,
1202
- activeRoutes: l,
1203
- onBack: p,
1204
+ activeRoutes: d,
1205
+ onBack: j,
1204
1206
  onForward: w,
1205
1207
  onNavigate: c
1206
1208
  })
@@ -1228,7 +1230,7 @@ function ze(e) {
1228
1230
  }), c = m({
1229
1231
  name: "close",
1230
1232
  sid: "-9osjjv"
1231
- }), p = m({
1233
+ }), j = m({
1232
1234
  name: "closed",
1233
1235
  sid: "hnb5jj"
1234
1236
  });
@@ -1255,14 +1257,14 @@ function ze(e) {
1255
1257
  }), y({
1256
1258
  and: [{
1257
1259
  clock: c,
1258
- target: p
1260
+ target: j
1259
1261
  }],
1260
1262
  or: {
1261
1263
  sid: "-u77hy7"
1262
1264
  }
1263
1265
  }), y({
1264
1266
  and: [{
1265
- clock: [o.map(() => !0), p.map(() => !1)],
1267
+ clock: [o.map(() => !0), j.map(() => !1)],
1266
1268
  target: r
1267
1269
  }],
1268
1270
  or: {
@@ -1277,7 +1279,7 @@ function ze(e) {
1277
1279
  openedOnClient: s,
1278
1280
  openedOnServer: i,
1279
1281
  close: c,
1280
- closed: p,
1282
+ closed: j,
1281
1283
  // @ts-expect-error emulated path for virtual route
1282
1284
  path: null,
1283
1285
  "@@unitShape": () => ({
@@ -1288,7 +1290,7 @@ function ze(e) {
1288
1290
  })
1289
1291
  };
1290
1292
  }
1291
- function qe(e) {
1293
+ function Be(e) {
1292
1294
  const {
1293
1295
  route: t,
1294
1296
  beforeOpen: r,
@@ -1348,8 +1350,8 @@ function qe(e) {
1348
1350
  }), i;
1349
1351
  }
1350
1352
  export {
1351
- qe as chainRoute,
1352
- Be as createRoute,
1353
- _e as createRouter,
1353
+ Be as chainRoute,
1354
+ _e as createRoute,
1355
+ qe as createRouter,
1354
1356
  P as parameters
1355
1357
  };
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "registry": "https://registry.npmjs.org/"
6
6
  },
7
7
  "private": false,
8
- "version": "0.6.1",
8
+ "version": "0.6.3",
9
9
  "description": "Router with power of effector",
10
10
  "keywords": [
11
11
  "effector",
@@ -50,8 +50,8 @@
50
50
  "@types/history": "^4.7.11"
51
51
  },
52
52
  "dependencies": {
53
- "@argon-router/paths": "^0.6.1",
53
+ "@argon-router/paths": "^0.6.3",
54
54
  "query-string": "^9.1.1"
55
55
  },
56
- "gitHead": "7f4fbed2048af77d3087cc608fb2fe30c9991d9b"
56
+ "gitHead": "5faa9c25438bb19acd19fd19b9d9eb92399a3696"
57
57
  }