@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 +1 -1
- package/dist/index.js +166 -164
- package/package.json +3 -3
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
|
|
2
|
-
function
|
|
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 ?
|
|
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)) :
|
|
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
|
|
40
|
+
function _e(e) {
|
|
41
41
|
let t;
|
|
42
42
|
const r = A(() => {
|
|
43
|
-
var
|
|
44
|
-
return (
|
|
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 (
|
|
50
|
-
var
|
|
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 (
|
|
56
|
+
}), a = A(async (h) => {
|
|
57
57
|
await r(), await n();
|
|
58
58
|
const u = e.parent;
|
|
59
|
-
return u && await u.internal.openFx($($({},
|
|
59
|
+
return u && await u.internal.openFx($($({}, h ?? {
|
|
60
60
|
params: {}
|
|
61
61
|
}), {}, {
|
|
62
62
|
navigate: !1
|
|
63
|
-
})),
|
|
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
|
-
}),
|
|
76
|
+
}), j = m({
|
|
77
77
|
name: "close",
|
|
78
78
|
sid: "-wvbr5n"
|
|
79
79
|
}), w = m({
|
|
80
80
|
name: "opened",
|
|
81
81
|
sid: "-qni80y"
|
|
82
|
-
}),
|
|
82
|
+
}), p = m({
|
|
83
83
|
name: "openedOnServer",
|
|
84
84
|
sid: "eh9oki"
|
|
85
|
-
}),
|
|
85
|
+
}), l = m({
|
|
86
86
|
name: "openedOnClient",
|
|
87
87
|
sid: "eet6mh"
|
|
88
|
-
}),
|
|
88
|
+
}), d = m({
|
|
89
89
|
name: "navigated",
|
|
90
90
|
sid: "-rnvpuc"
|
|
91
|
-
}),
|
|
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:
|
|
108
|
-
fn: (
|
|
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:
|
|
116
|
+
source: d,
|
|
117
117
|
match: () => typeof window > "u" ? "server" : "client",
|
|
118
118
|
cases: {
|
|
119
|
-
server:
|
|
120
|
-
client:
|
|
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: [
|
|
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:
|
|
137
|
-
target:
|
|
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),
|
|
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:
|
|
155
|
+
closed: g,
|
|
156
156
|
opened: w,
|
|
157
|
-
openedOnClient:
|
|
158
|
-
openedOnServer:
|
|
157
|
+
openedOnClient: l,
|
|
158
|
+
openedOnServer: p
|
|
159
159
|
}, e), {}, {
|
|
160
160
|
internal: {
|
|
161
|
-
navigated:
|
|
162
|
-
close:
|
|
161
|
+
navigated: d,
|
|
162
|
+
close: j,
|
|
163
163
|
openFx: a,
|
|
164
|
-
setAsyncImport: (
|
|
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
|
|
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
|
-
}),
|
|
306
|
+
}), j = m({
|
|
307
307
|
name: "exited",
|
|
308
308
|
sid: "xzl0hy"
|
|
309
309
|
}), w = m({
|
|
310
310
|
name: "exit",
|
|
311
311
|
sid: "-9k6g49"
|
|
312
|
-
}),
|
|
312
|
+
}), p = m({
|
|
313
313
|
name: "changeEntered",
|
|
314
314
|
sid: "-ibka8"
|
|
315
315
|
});
|
|
316
316
|
return y({
|
|
317
317
|
and: [{
|
|
318
|
-
clock:
|
|
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: (
|
|
330
|
+
filter: (l) => {
|
|
331
331
|
let {
|
|
332
|
-
activeRoutes:
|
|
333
|
-
query:
|
|
334
|
-
} =
|
|
335
|
-
return (!i ||
|
|
332
|
+
activeRoutes: d,
|
|
333
|
+
query: g
|
|
334
|
+
} = l;
|
|
335
|
+
return (!i || B(i, d)) && T(g, o);
|
|
336
336
|
},
|
|
337
|
-
fn: (
|
|
337
|
+
fn: (l) => {
|
|
338
338
|
let {
|
|
339
|
-
query:
|
|
340
|
-
} =
|
|
341
|
-
return me(
|
|
339
|
+
query: d
|
|
340
|
+
} = l;
|
|
341
|
+
return me(d, o);
|
|
342
342
|
},
|
|
343
|
-
target: [c,
|
|
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: (
|
|
355
|
+
filter: (l) => {
|
|
356
356
|
let {
|
|
357
|
-
activeRoutes:
|
|
358
|
-
query:
|
|
357
|
+
activeRoutes: d,
|
|
358
|
+
query: g,
|
|
359
359
|
entered: S
|
|
360
|
-
} =
|
|
361
|
-
return S && !((!i ||
|
|
360
|
+
} = l;
|
|
361
|
+
return S && !((!i || B(i, d)) && T(g, o));
|
|
362
362
|
},
|
|
363
|
-
target: [
|
|
364
|
-
}),
|
|
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: (
|
|
374
|
-
if (
|
|
375
|
-
const
|
|
376
|
-
for (const S of
|
|
377
|
-
|
|
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:
|
|
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:
|
|
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, [
|
|
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, [
|
|
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, [
|
|
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 ? [[
|
|
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,
|
|
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
|
|
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 ?
|
|
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(
|
|
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
|
-
|
|
727
|
-
|
|
728
|
-
switch (p.type) {
|
|
726
|
+
const c = e[s];
|
|
727
|
+
switch (c.type) {
|
|
729
728
|
case "const": {
|
|
730
|
-
if (c !==
|
|
729
|
+
if (c.name !== r.shift()) return null;
|
|
731
730
|
continue;
|
|
732
731
|
}
|
|
733
732
|
case "parameter": {
|
|
734
733
|
const {
|
|
735
|
-
arrayProps:
|
|
736
|
-
genericProps:
|
|
737
|
-
required:
|
|
738
|
-
} =
|
|
739
|
-
if (
|
|
734
|
+
arrayProps: j,
|
|
735
|
+
genericProps: w,
|
|
736
|
+
required: p
|
|
737
|
+
} = c.payload;
|
|
738
|
+
if (j) {
|
|
740
739
|
var o;
|
|
741
|
-
const
|
|
742
|
-
|
|
740
|
+
const d = [];
|
|
741
|
+
let g;
|
|
742
|
+
for (; ; ) {
|
|
743
743
|
var i;
|
|
744
|
-
|
|
744
|
+
if (g = r.shift(), !g) break;
|
|
745
|
+
switch (w == null ? void 0 : w.type) {
|
|
745
746
|
case "number": {
|
|
746
|
-
if (isNaN(+
|
|
747
|
-
|
|
747
|
+
if (isNaN(+g)) return null;
|
|
748
|
+
d.push(+g);
|
|
748
749
|
break;
|
|
749
750
|
}
|
|
750
751
|
case "union": {
|
|
751
|
-
if (!
|
|
752
|
-
|
|
752
|
+
if (!w.items.includes(g)) return null;
|
|
753
|
+
d.push(g);
|
|
753
754
|
break;
|
|
754
755
|
}
|
|
755
756
|
default: {
|
|
756
|
-
|
|
757
|
+
d.push(g);
|
|
757
758
|
break;
|
|
758
759
|
}
|
|
759
760
|
}
|
|
760
|
-
|
|
761
|
+
if (d.length >= ((i = j.max) !== null && i !== void 0 ? i : 1 / 0)) break;
|
|
761
762
|
}
|
|
762
|
-
if (
|
|
763
|
-
a(
|
|
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
|
-
|
|
767
|
-
if (!
|
|
768
|
-
|
|
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 (
|
|
773
|
+
switch (w == null ? void 0 : w.type) {
|
|
772
774
|
case "number": {
|
|
773
|
-
if (isNaN(+
|
|
774
|
-
a(
|
|
775
|
+
if (isNaN(+l)) return null;
|
|
776
|
+
a(c.name, +l);
|
|
775
777
|
break;
|
|
776
778
|
}
|
|
777
779
|
case "union": {
|
|
778
|
-
if (!
|
|
779
|
-
a(
|
|
780
|
+
if (!w.items.includes(l)) return null;
|
|
781
|
+
a(c.name, l);
|
|
780
782
|
break;
|
|
781
783
|
}
|
|
782
784
|
default: {
|
|
783
|
-
a(
|
|
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:
|
|
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
|
|
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" && (
|
|
909
|
+
switch (c && c === "number" && (p.payload.genericProps = {
|
|
908
910
|
type: "number"
|
|
909
|
-
}), c && c.includes("|") && (
|
|
911
|
+
}), c && c.includes("|") && (p.payload.genericProps = {
|
|
910
912
|
type: "union",
|
|
911
913
|
items: c.split("|")
|
|
912
|
-
}),
|
|
914
|
+
}), j) {
|
|
913
915
|
case "*": {
|
|
914
|
-
|
|
916
|
+
p.payload.arrayProps = {};
|
|
915
917
|
break;
|
|
916
918
|
}
|
|
917
919
|
case "+": {
|
|
918
|
-
|
|
920
|
+
p.payload.arrayProps = {
|
|
919
921
|
min: 1
|
|
920
922
|
};
|
|
921
923
|
break;
|
|
922
924
|
}
|
|
923
925
|
case "?": {
|
|
924
|
-
|
|
926
|
+
p.payload.required = !1;
|
|
925
927
|
break;
|
|
926
928
|
}
|
|
927
929
|
}
|
|
928
|
-
s && (
|
|
930
|
+
s && (p.payload.arrayProps = M(M({}, p.payload.arrayProps), {}, {
|
|
929
931
|
min: s[0],
|
|
930
932
|
max: s[1]
|
|
931
|
-
})), t.push(
|
|
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
|
|
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
|
-
}),
|
|
1008
|
+
}), j = m({
|
|
1007
1009
|
name: "back",
|
|
1008
1010
|
sid: "-uo6kro"
|
|
1009
1011
|
}), w = m({
|
|
1010
1012
|
name: "forward",
|
|
1011
1013
|
sid: "-je6ypy"
|
|
1012
|
-
}),
|
|
1014
|
+
}), p = m({
|
|
1013
1015
|
name: "locationUpdated",
|
|
1014
1016
|
sid: "x2x22"
|
|
1015
|
-
}),
|
|
1017
|
+
}), l = r.map((u) => {
|
|
1016
1018
|
let b = u;
|
|
1017
|
-
const
|
|
1018
|
-
for (
|
|
1019
|
-
b = b.parent, b.path !== "/" &&
|
|
1020
|
-
const
|
|
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(
|
|
1025
|
+
} = Re(F);
|
|
1024
1026
|
return {
|
|
1025
1027
|
route: u,
|
|
1026
|
-
path:
|
|
1028
|
+
path: F,
|
|
1027
1029
|
build: N,
|
|
1028
1030
|
parse: x
|
|
1029
1031
|
};
|
|
1030
|
-
}),
|
|
1032
|
+
}), d = i.map((u) => {
|
|
1031
1033
|
const b = [];
|
|
1032
1034
|
if (!u)
|
|
1033
1035
|
return b;
|
|
1034
1036
|
for (const {
|
|
1035
|
-
route:
|
|
1036
|
-
parse:
|
|
1037
|
-
} of
|
|
1038
|
-
|
|
1037
|
+
route: f,
|
|
1038
|
+
parse: F
|
|
1039
|
+
} of l)
|
|
1040
|
+
F(u) && b.push(f);
|
|
1039
1041
|
return b;
|
|
1040
|
-
}),
|
|
1042
|
+
}), g = _({
|
|
1041
1043
|
and: {
|
|
1042
1044
|
source: n,
|
|
1043
1045
|
effect: (u, b) => {
|
|
1044
1046
|
let {
|
|
1045
|
-
path:
|
|
1046
|
-
query:
|
|
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:
|
|
1053
|
-
search: "?".concat(R.stringify(
|
|
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(
|
|
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((
|
|
1071
|
+
u.listen((f) => {
|
|
1070
1072
|
let {
|
|
1071
|
-
location:
|
|
1072
|
-
} =
|
|
1073
|
+
location: F
|
|
1074
|
+
} = f;
|
|
1073
1075
|
b({
|
|
1074
|
-
pathname:
|
|
1075
|
-
query: I({}, R.parse(
|
|
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
|
-
}),
|
|
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:
|
|
1092
|
+
path: f
|
|
1091
1093
|
} = u;
|
|
1092
1094
|
for (const {
|
|
1093
|
-
route:
|
|
1095
|
+
route: F,
|
|
1094
1096
|
parse: N
|
|
1095
|
-
} of
|
|
1096
|
-
const x = N(
|
|
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
|
|
1114
|
+
} of l)
|
|
1113
1115
|
y({
|
|
1114
1116
|
and: [{
|
|
1115
1117
|
clock: u.internal.openFx.doneData,
|
|
1116
|
-
filter: (
|
|
1117
|
-
fn: (
|
|
1118
|
-
var
|
|
1118
|
+
filter: (f) => (f == null ? void 0 : f.navigate) !== !1,
|
|
1119
|
+
fn: (f) => {
|
|
1120
|
+
var F;
|
|
1119
1121
|
return {
|
|
1120
|
-
path: b(
|
|
1121
|
-
query: (
|
|
1122
|
-
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:
|
|
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:
|
|
1164
|
+
clock: p,
|
|
1163
1165
|
fn: (u) => ({
|
|
1164
1166
|
path: u.pathname,
|
|
1165
1167
|
query: u.query
|
|
1166
1168
|
}),
|
|
1167
|
-
target:
|
|
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:
|
|
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:
|
|
1188
|
-
back:
|
|
1189
|
+
$activeRoutes: d,
|
|
1190
|
+
back: j,
|
|
1189
1191
|
forward: w,
|
|
1190
1192
|
navigate: c,
|
|
1191
1193
|
routes: r,
|
|
1192
1194
|
setHistory: s,
|
|
1193
|
-
mappedRoutes:
|
|
1195
|
+
mappedRoutes: l,
|
|
1194
1196
|
trackQuery: ye({
|
|
1195
|
-
$activeRoutes:
|
|
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:
|
|
1203
|
-
onBack:
|
|
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
|
-
}),
|
|
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:
|
|
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),
|
|
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:
|
|
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
|
|
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
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
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.
|
|
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.
|
|
53
|
+
"@argon-router/paths": "^0.6.3",
|
|
54
54
|
"query-string": "^9.1.1"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "5faa9c25438bb19acd19fd19b9d9eb92399a3696"
|
|
57
57
|
}
|