Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@swan-io/chicane

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@swan-io/chicane - npm Package Compare versions

Comparing version 1.3.4 to 1.4.0

0

dist/concatRoutes.d.ts

@@ -0,0 +0,0 @@ import { ParsedRoute } from "./types";

export declare const createGroup: <GroupName extends string, BaseRoute extends string, Routes extends Record<string, string>>(name: GroupName, baseRoute: BaseRoute, routes: Readonly<Routes>) => { [K in keyof Routes as K extends string ? `${GroupName}${K}` : never]: `${import("./types").ConcatPaths<import("./types").ParseRoute<BaseRoute>["path"], import("./types").ParseRoute<Routes[K]>["path"], import("./types").ParseRoute<BaseRoute>["path"] extends infer T ? T extends import("./types").ParseRoute<BaseRoute>["path"] ? T extends `/${string}` ? T : `/${T}` : never : never, import("./types").ParseRoute<Routes[K]>["path"] extends infer T_1 ? T_1 extends import("./types").ParseRoute<Routes[K]>["path"] ? T_1 extends `/${string}` ? T_1 : `/${T_1}` : never : never>}${import("./types").ConcatSearchs<import("./types").ParseRoute<BaseRoute>["search"], import("./types").ParseRoute<Routes[K]>["search"]> extends infer T_2 ? T_2 extends import("./types").ConcatSearchs<import("./types").ParseRoute<BaseRoute>["search"], import("./types").ParseRoute<Routes[K]>["search"]> ? T_2 extends "" ? T_2 : `?${T_2}` : never : never}${(import("./types").ParseRoute<Routes[K]>["hash"] extends "" ? import("./types").ParseRoute<BaseRoute>["hash"] : import("./types").ParseRoute<Routes[K]>["hash"]) extends infer T_3 ? T_3 extends (import("./types").ParseRoute<Routes[K]>["hash"] extends "" ? import("./types").ParseRoute<BaseRoute>["hash"] : import("./types").ParseRoute<Routes[K]>["hash"]) ? T_3 extends "" ? T_3 : `#${T_3}` : never : never}`; };

9

dist/createRouter.d.ts

@@ -10,4 +10,9 @@ import { GetAreaRoutes, GetCreateURLFns, GetRoutesParams, ParamsArg, ParseRoute, ParseRoutes, PrependBasePath, Simplify } from "./types";

} | undefined : never;
push: <RouteName_1 extends Exclude<keyof Routes, keyof GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>>>>(routeName: RouteName_1, ...args: ParamsArg<GetRoutesParams<Omit<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>, keyof GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>>>>[RouteName_1]>) => void;
replace: <RouteName_2 extends Exclude<keyof Routes, keyof GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>>>>(routeName: RouteName_2, ...args: ParamsArg<GetRoutesParams<Omit<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>, keyof GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>>>>[RouteName_2]>) => void;
getRoute: <RouteName_1 extends keyof GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>> | Exclude<keyof Routes, keyof GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>>>>(routeNames: readonly RouteName_1[]) => RouteName_1 extends string ? {
key: string;
name: RouteName_1;
params: Simplify<(GetRoutesParams<GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>>> & GetRoutesParams<Omit<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>, keyof GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>>>>)[RouteName_1]>;
} | undefined : never;
push: <RouteName_2 extends Exclude<keyof Routes, keyof GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>>>>(routeName: RouteName_2, ...args: ParamsArg<GetRoutesParams<Omit<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>, keyof GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>>>>[RouteName_2]>) => void;
replace: <RouteName_3 extends Exclude<keyof Routes, keyof GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>>>>(routeName: RouteName_3, ...args: ParamsArg<GetRoutesParams<Omit<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>, keyof GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>>>>[RouteName_3]>) => void;
} & GetCreateURLFns<GetRoutesParams<Omit<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>, keyof GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>>>>>;

@@ -0,0 +0,0 @@ export declare const first: <T>(value: T[]) => T | undefined;

@@ -0,0 +0,0 @@ import * as React from "react";

@@ -0,0 +0,0 @@ export { createGroup } from "./createGroup";

@@ -1,2 +0,2 @@

var e=require("history"),r=require("react"),t=require("use-sync-external-store/shim/with-selector.js"),n=require("use-sync-external-store/shim/index.js"),a=require("@emotion/hash");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach(function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}}),r.default=e,r}var u=/*#__PURE__*/i(r),c=/*#__PURE__*/o(a),s=function(e,r){return""===e?e:r+e},l=function(e){return"/"===e[0]?e:"/"+e},h=function(r){var t=e.parsePath(r),n=t.pathname,a=t.search,o=t.hash,i=void 0===o?"":o;return{path:void 0===n?"":n,search:(void 0===a?"":a).substring(1),hash:i.substring(1)}},f=function(e,r){var t=l(e.path),n=l(r.path),a="/"===t?n:"/"===n?t:t+n,o=""===e.search?r.search:e.search+s(r.search,"&"),i=""===r.hash?e.hash:r.hash;return a+s(o,"?")+s(i,"#")};function p(){return p=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},p.apply(this,arguments)}function v(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function d(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,r){if(e){if("string"==typeof e)return v(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?v(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var y=function(e){return e[0]},m=function(e){return e},g=function(e){return""!==e},b=function(e){return e.startsWith(":")},w=function(e,r){return e.length===r.length&&e.every(function(e,t){return e===r[t]})},S=function(e,r){return(null==e?void 0:e.key)===(null==r?void 0:r.key)},k=function(e){for(var r,t={},n=d(new URLSearchParams(e));!(r=n()).done;){var a=r.value,o=a[0],i=a[1],u=t[o];t[o]=null!=u?"string"==typeof u?[u,i]:u.concat(i):i}return t},O=function(e,r,t){var n=e+(""!==e?"&":"")+encodeURIComponent(r);return""!==t?n+"="+encodeURIComponent(t):n},x=function(e){var r=Object.keys(e);if(0===r.length)return"";var t="";r.sort();for(var n=0,a=r;n<a.length;n++){var o=a[n],i=e[o];if(null!=i)if("string"==typeof i)t=O(t,o,i);else for(var u,c=d(i);!(u=c()).done;)t=O(t,o,u.value)}return""===t?"":"?"+t},P=function(e,r){var t=e.search,n=e.hash,a=e.pathname.substring(1),o=""!==a?r?a.split("/").filter(g).map(decodeURIComponent):a.split("/").map(decodeURIComponent):[],i=""!==t?k(t):{},u=""!==n?decodeURIComponent(n.substring(1)):null,s="/"+o.map(encodeURIComponent).join("/"),l=x(i),h=null!=u?"#"+encodeURIComponent(u):"",f=s+l+h;return p({key:c.default(s)+"-"+c.default(l+h),path:o,search:i},null!==u&&{hash:u},{raw:{path:s,search:l,hash:h},toString:function(){return f}})},j=new Set,C="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?e.createBrowserHistory():e.createMemoryHistory(),R=P(C.location,!0),U=!1;R.toString()!==e.createPath(C.location)&&C.replace(R.toString()),C.listen(function(e){var r=P(e.location,!1);if(r.toString()!==R.toString()){U=!0;var t=r.raw.search!==R.raw.search,n=t?{}:R.search;if(t)for(var a in r.search)if(Object.prototype.hasOwnProperty.call(r.search,a)){var o=r.search[a];if(null==o)continue;var i=R.search[a];n[a]=null!=i&&"string"!=typeof i&&"string"!=typeof o&&w(o,i)?i:o}R=p({key:r.key,path:r.raw.path!==R.raw.path?r.path:R.path,search:n},null!=r.hash&&{hash:r.hash},{raw:r.raw,toString:r.toString}),j.forEach(function(e){return e(R)})}});var I=function(e){return j.add(e),function(){j.delete(e)}},E=function(){return R},A=u.createContext(E),N=A.Provider,L=function(){return u.useContext(A)},q=function(r){var t=e.parsePath(r),n=t.pathname,a=t.search,o=t.hash;C.push({pathname:void 0===n?"":n,search:void 0===a?"":a,hash:void 0===o?"":o})},T=function(r){var t=e.parsePath(r),n=t.pathname,a=t.search,o=t.hash;C.replace({pathname:void 0===n?"":n,search:void 0===a?"":a,hash:void 0===o?"":o})},M=function(r,t){var n,a=e.parsePath(t),o=a.pathname,i=void 0===o?"/":o,u=a.search,c=a.hash,s=i.endsWith("/*"),l=function(e){for(var r,t=e.split("/").filter(g),n=[],a=t.length>0?4*t.length:5,o=d(t);!(r=o()).done;){var i=r.value,u=b(i);a+=u?2:3,n.push(u?{name:i.substring(1)}:encodeURIComponent(i))}return{ranking:a,path:n}}(s?i.slice(0,-2):i),h=l.ranking,f={isArea:s,name:r,ranking:s?h-1:h,path:l.path,search:void 0,hash:void 0};if(null!=u){f.search={};for(var p,v=d(new URLSearchParams(u.substring(1)));!(p=v()).done;){var y=p.value[0];(n=y).startsWith(":")&&n.endsWith("[]")?f.search[y.substring(1,y.length-2)]="multiple":b(y)&&(f.search[y.substring(1,y.length)]="unique")}}return null!=c&&b(c.substring(1))&&(f.hash=c.substring(2)),f},W=function(e,r){var t=e.path,n=r.isArea,a=r.path;if(!(!n&&t.length!==a.length||n&&t.length<a.length)){for(var o={},i=0;i<a.length;i++){var u=t[i],c=a[i];if(null!=c)if("string"==typeof c){if(c!==u)return}else{if(null==u)return;o[c.name]=u}}for(var s in r.search)if(Object.prototype.hasOwnProperty.call(r.search,s)){var l=r.search[s],h=e.search[s];if(null==l||null==h)continue;if("multiple"===l){o[s]="string"==typeof h?[h]:h;continue}"string"==typeof h?o[s]=h:null!=h[0]&&(o[s]=h[0])}return null!=r.hash&&null!=e.hash&&(o[r.hash]=e.hash),o}},K=function(e,r){void 0===r&&(r={});var t="/"+e.path.map(function(e){return encodeURIComponent("string"==typeof e?e:String(r[e.name]))}).join("/"),n="",a="";if(null!=e.search){var o={};for(var i in r){var u=r[i];Object.prototype.hasOwnProperty.call(r,i)&&Object.prototype.hasOwnProperty.call(e.search,i)&&null!=u&&(o[i]=u)}n=x(o)}if(null!=e.hash){var c=r[e.hash];"string"==typeof c&&(a="#"+encodeURIComponent(c))}return{pathname:t,search:n,hash:a}},_=function(r){var t=r.href,a=r.replace,o=void 0!==a&&a,i=r.target,c=u.useMemo(function(){return e.parsePath(t).pathname},[t]),s=L(),l=function(){return c===s().raw.path},h=n.useSyncExternalStore(I,l,l),f=o||h,p=null==i||"_self"===i;return{active:h,onClick:u.useCallback(function(e){e.defaultPrevented||!p||0!==e.button||e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),f?T(t):q(t))},[f,p,t])}},B=["onClick","className","replace","style","target","to","activeClassName","activeStyle"],D=u.forwardRef(function(e,r){var t=e.onClick,n=e.className,a=e.replace,o=e.style,i=e.target,c=e.to,s=e.activeClassName,l=e.activeStyle,h=function(e,r){if(null==e)return{};var t,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r.indexOf(t=o[n])>=0||(a[t]=e[t]);return a}(e,B),f=_({href:c,replace:a,target:i}),v=f.active,d=f.onClick;return u.createElement("a",p({},h,{ref:r,href:c,onClick:function(e){null==t||t(e),d(e)},target:i,className:v&&null!=s?null==n?s:n+" "+s:n,style:v&&null!=l?null==o?l:p({},o,l):o}))});D.displayName="Link";var H={A:!0,INPUT:!0,SELECT:!0,TEXTAREA:!0};exports.Link=D,exports.ServerUrlProvider=function(r){var t=r.children,n=e.parsePath(r.value),a=n.pathname,o=n.search,i=n.hash,c=P({pathname:void 0===a?"/":a,search:void 0===o?"":o,hash:void 0===i?"":i},!1);return u.createElement(N,{children:t,value:function(){return c}})},exports.createGroup=function(e,r,t){var n=h(r),a={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(a[e+o]=f(n,h(t[o])));return a},exports.createRouter=function(r,n){void 0===n&&(n={});var a=n.basePath,o=void 0===a?"":a,i={path:h(o).path,search:"",hash:""},c={},s=[];for(var l in r)if(Object.prototype.hasOwnProperty.call(r,l)){var v=M(l,""!==o?f(i,h(r[l])):r[l]);c[l]=v,s.push(v)}s.sort(function(e,r){return r.ranking-e.ranking});for(var g={},b=function(){var r=s[w];if(null!=r&&!r.isArea){var t=r.name;g[t]=function(r){return e.createPath(K(c[t],r))}}},w=0;w<s.length;w++)b();return p({useRoute:function(e){var r=JSON.stringify(e),n=u.useMemo(function(){return s.filter(function(r){return e.includes(r.name)})},[r]),a=L(),o=function(){return function(e,r){for(var t,n=d(r);!(t=n()).done;){var a=t.value,o=W(e,a);if(null!=o)return{key:e.key,name:a.name,params:o}}}(a(),n)};return t.useSyncExternalStoreWithSelector(I,o,o,m,S)},push:function(e){return C.push(K(c[e],y([].slice.call(arguments,1))))},replace:function(e){return C.replace(K(c[e],y([].slice.call(arguments,1))))}},g)},exports.decodeSearch=k,exports.encodeSearch=x,exports.getLocation=E,exports.pushUnsafe=q,exports.replaceUnsafe=T,exports.subscribeToLocation=I,exports.useFocusReset=function(e){var r=e.route,t=e.containerRef,n=null==r?void 0:r.key.split("-")[0];u.useEffect(function(){var e=t.current;if(e&&U)try{null!=e.getAttribute("tabIndex")||H[e.nodeName]||e.setAttribute("tabIndex","-1"),e.focus()}catch(e){}},[t,n])},exports.useLinkProps=_,exports.useLocation=function(){var e=L();return n.useSyncExternalStore(I,e,e)},exports.useNavigationBlocker=function(e,r){u.useEffect(function(){if(e){var t=C.block(function(e){window.confirm(r)&&(t(),e.retry())});return t}},[e])};
var e=require("history"),r=require("react"),t=require("use-sync-external-store/shim/with-selector.js"),n=require("use-sync-external-store/shim/index.js"),a=require("@emotion/hash");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach(function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}}),r.default=e,r}var u=/*#__PURE__*/i(r),c=/*#__PURE__*/o(a),s=function(e,r){return""===e?e:r+e},l=function(e){return"/"===e[0]?e:"/"+e},h=function(r){var t=e.parsePath(r),n=t.pathname,a=t.search,o=t.hash,i=void 0===o?"":o;return{path:void 0===n?"":n,search:(void 0===a?"":a).substring(1),hash:i.substring(1)}},f=function(e,r){var t=l(e.path),n=l(r.path),a="/"===t?n:"/"===n?t:t+n,o=""===e.search?r.search:e.search+s(r.search,"&"),i=""===r.hash?e.hash:r.hash;return a+s(o,"?")+s(i,"#")};function p(){return p=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},p.apply(this,arguments)}function v(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function d(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,r){if(e){if("string"==typeof e)return v(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?v(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var y=function(e){return e[0]},m=function(e){return e},g=function(e){return""!==e},b=function(e){return e.startsWith(":")},w=function(e,r){return e.length===r.length&&e.every(function(e,t){return e===r[t]})},S=function(e,r){return(null==e?void 0:e.key)===(null==r?void 0:r.key)},k=function(e){for(var r,t={},n=d(new URLSearchParams(e));!(r=n()).done;){var a=r.value,o=a[0],i=a[1],u=t[o];t[o]=null!=u?"string"==typeof u?[u,i]:u.concat(i):i}return t},O=function(e,r,t){var n=e+(""!==e?"&":"")+encodeURIComponent(r);return""!==t?n+"="+encodeURIComponent(t):n},x=function(e){var r=Object.keys(e);if(0===r.length)return"";var t="";r.sort();for(var n=0,a=r;n<a.length;n++){var o=a[n],i=e[o];if(null!=i)if("string"==typeof i)t=O(t,o,i);else for(var u,c=d(i);!(u=c()).done;)t=O(t,o,u.value)}return""===t?"":"?"+t},P=function(e,r){var t=e.search,n=e.hash,a=e.pathname.substring(1),o=""!==a?r?a.split("/").filter(g).map(decodeURIComponent):a.split("/").map(decodeURIComponent):[],i=""!==t?k(t):{},u=""!==n?decodeURIComponent(n.substring(1)):null,s="/"+o.map(encodeURIComponent).join("/"),l=x(i),h=null!=u?"#"+encodeURIComponent(u):"",f=s+l+h;return p({key:c.default(s)+"-"+c.default(l+h),path:o,search:i},null!==u&&{hash:u},{raw:{path:s,search:l,hash:h},toString:function(){return f}})},j=new Set,C="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?e.createBrowserHistory():e.createMemoryHistory(),R=P(C.location,!0),U=!1;R.toString()!==e.createPath(C.location)&&C.replace(R.toString()),C.listen(function(e){var r=P(e.location,!1);if(r.toString()!==R.toString()){U=!0;var t=r.raw.search!==R.raw.search,n=t?{}:R.search;if(t)for(var a in r.search)if(Object.prototype.hasOwnProperty.call(r.search,a)){var o=r.search[a];if(null==o)continue;var i=R.search[a];n[a]=null!=i&&"string"!=typeof i&&"string"!=typeof o&&w(o,i)?i:o}R=p({key:r.key,path:r.raw.path!==R.raw.path?r.path:R.path,search:n},null!=r.hash&&{hash:r.hash},{raw:r.raw,toString:r.toString}),j.forEach(function(e){return e(R)})}});var I=function(e){return j.add(e),function(){j.delete(e)}},E=function(){return R},A=u.createContext(E),N=A.Provider,L=function(){return u.useContext(A)},q=function(r){var t=e.parsePath(r),n=t.pathname,a=t.search,o=t.hash;C.push({pathname:void 0===n?"":n,search:void 0===a?"":a,hash:void 0===o?"":o})},T=function(r){var t=e.parsePath(r),n=t.pathname,a=t.search,o=t.hash;C.replace({pathname:void 0===n?"":n,search:void 0===a?"":a,hash:void 0===o?"":o})},M=function(r,t){var n,a=e.parsePath(t),o=a.pathname,i=void 0===o?"/":o,u=a.search,c=a.hash,s=i.endsWith("/*"),l=function(e){for(var r,t=e.split("/").filter(g),n=[],a=t.length>0?4*t.length:5,o=d(t);!(r=o()).done;){var i=r.value,u=b(i);a+=u?2:3,n.push(u?{name:i.substring(1)}:encodeURIComponent(i))}return{ranking:a,path:n}}(s?i.slice(0,-2):i),h=l.ranking,f={isArea:s,name:r,ranking:s?h-1:h,path:l.path,search:void 0,hash:void 0};if(null!=u){f.search={};for(var p,v=d(new URLSearchParams(u.substring(1)));!(p=v()).done;){var y=p.value[0];(n=y).startsWith(":")&&n.endsWith("[]")?f.search[y.substring(1,y.length-2)]="multiple":b(y)&&(f.search[y.substring(1,y.length)]="unique")}}return null!=c&&b(c.substring(1))&&(f.hash=c.substring(2)),f},W=function(e,r){var t=e.path,n=r.isArea,a=r.path;if(!(!n&&t.length!==a.length||n&&t.length<a.length)){for(var o={},i=0;i<a.length;i++){var u=t[i],c=a[i];if(null!=c)if("string"==typeof c){if(c!==u)return}else{if(null==u)return;o[c.name]=u}}for(var s in r.search)if(Object.prototype.hasOwnProperty.call(r.search,s)){var l=r.search[s],h=e.search[s];if(null==l||null==h)continue;if("multiple"===l){o[s]="string"==typeof h?[h]:h;continue}"string"==typeof h?o[s]=h:null!=h[0]&&(o[s]=h[0])}return null!=r.hash&&null!=e.hash&&(o[r.hash]=e.hash),o}},K=function(e,r){for(var t,n=d(r);!(t=n()).done;){var a=t.value,o=W(e,a);if(null!=o)return{key:e.key,name:a.name,params:o}}},_=function(e,r){void 0===r&&(r={});var t="/"+e.path.map(function(e){return encodeURIComponent("string"==typeof e?e:String(r[e.name]))}).join("/"),n="",a="";if(null!=e.search){var o={};for(var i in r){var u=r[i];Object.prototype.hasOwnProperty.call(r,i)&&Object.prototype.hasOwnProperty.call(e.search,i)&&null!=u&&(o[i]=u)}n=x(o)}if(null!=e.hash){var c=r[e.hash];"string"==typeof c&&(a="#"+encodeURIComponent(c))}return{pathname:t,search:n,hash:a}},B=function(r){var t=r.href,a=r.replace,o=void 0!==a&&a,i=r.target,c=u.useMemo(function(){return e.parsePath(t).pathname},[t]),s=L(),l=function(){return c===s().raw.path},h=n.useSyncExternalStore(I,l,l),f=o||h,p=null==i||"_self"===i;return{active:h,onClick:u.useCallback(function(e){e.defaultPrevented||!p||0!==e.button||e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),f?T(t):q(t))},[f,p,t])}},D=["onClick","className","replace","style","target","to","activeClassName","activeStyle"],H=u.forwardRef(function(e,r){var t=e.onClick,n=e.className,a=e.replace,o=e.style,i=e.target,c=e.to,s=e.activeClassName,l=e.activeStyle,h=function(e,r){if(null==e)return{};var t,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r.indexOf(t=o[n])>=0||(a[t]=e[t]);return a}(e,D),f=B({href:c,replace:a,target:i}),v=f.active,d=f.onClick;return u.createElement("a",p({},h,{ref:r,href:c,onClick:function(e){null==t||t(e),d(e)},target:i,className:v&&null!=s?null==n?s:n+" "+s:n,style:v&&null!=l?null==o?l:p({},o,l):o}))});H.displayName="Link";var F={A:!0,INPUT:!0,SELECT:!0,TEXTAREA:!0};exports.Link=H,exports.ServerUrlProvider=function(r){var t=r.children,n=e.parsePath(r.value),a=n.pathname,o=n.search,i=n.hash,c=P({pathname:void 0===a?"/":a,search:void 0===o?"":o,hash:void 0===i?"":i},!1);return u.createElement(N,{children:t,value:function(){return c}})},exports.createGroup=function(e,r,t){var n=h(r),a={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(a[e+o]=f(n,h(t[o])));return a},exports.createRouter=function(r,n){void 0===n&&(n={});var a=n.basePath,o=void 0===a?"":a,i={path:h(o).path,search:"",hash:""},c={},s=[];for(var l in r)if(Object.prototype.hasOwnProperty.call(r,l)){var v=M(l,""!==o?f(i,h(r[l])):r[l]);c[l]=v,s.push(v)}s.sort(function(e,r){return r.ranking-e.ranking});for(var d={},g=function(){var r=s[b];if(null!=r&&!r.isArea){var t=r.name;d[t]=function(r){return e.createPath(_(c[t],r))}}},b=0;b<s.length;b++)g();return p({useRoute:function(e){var r=JSON.stringify(e),n=u.useMemo(function(){return s.filter(function(r){return e.includes(r.name)})},[r]),a=L(),o=function(){return K(a(),n)};return t.useSyncExternalStoreWithSelector(I,o,o,m,S)},getRoute:function(e){var r=E(),t=s.filter(function(r){return e.includes(r.name)});return K(r,t)},push:function(e){return C.push(_(c[e],y([].slice.call(arguments,1))))},replace:function(e){return C.replace(_(c[e],y([].slice.call(arguments,1))))}},d)},exports.decodeSearch=k,exports.encodeSearch=x,exports.getLocation=E,exports.pushUnsafe=q,exports.replaceUnsafe=T,exports.subscribeToLocation=I,exports.useFocusReset=function(e){var r=e.route,t=e.containerRef,n=null==r?void 0:r.key.split("-")[0];u.useEffect(function(){var e=t.current;if(e&&U)try{null!=e.getAttribute("tabIndex")||F[e.nodeName]||e.setAttribute("tabIndex","-1"),e.focus()}catch(e){}},[t,n])},exports.useLinkProps=B,exports.useLocation=function(){var e=L();return n.useSyncExternalStore(I,e,e)},exports.useNavigationBlocker=function(e,r){u.useEffect(function(){if(e){var t=C.block(function(e){window.confirm(r)&&(t(),e.retry())});return t}},[e])};
//# sourceMappingURL=index.js.map

@@ -0,0 +0,0 @@ import * as React from "react";

import { Path as HistoryLocation } from "history";
import { Location } from "./types";
export declare const decodeLocation: ({ pathname, search, hash }: HistoryLocation, removeExtraSlashes: boolean) => Location;

@@ -0,0 +0,0 @@ import { Path as HistoryPath } from "history";

@@ -0,0 +0,0 @@ import { Search } from "./types";

@@ -0,0 +0,0 @@ import * as React from "react";

@@ -0,0 +0,0 @@ export type Search = Record<string, string | string[]>;

@@ -0,0 +0,0 @@ import * as React from "react";

@@ -0,0 +0,0 @@ import * as React from "react";

export declare const useNavigationBlocker: (blocked: boolean, message: string) => void;
{
"name": "@swan-io/chicane",
"version": "1.3.4",
"version": "1.4.0",
"license": "MIT",

@@ -37,3 +37,3 @@ "description": "A simple and safe router for React and TypeScript",

"test:watch": "vitest --watch",
"typecheck": "tsc --noEmit && tsc --noEmit __tests__/types.ts",
"typecheck": "tsc --noEmit && vitest typecheck --watch=false",
"prepack": "yarn typecheck && yarn lint && yarn test && yarn build"

@@ -53,3 +53,3 @@ },

"dependencies": {
"@emotion/hash": "^0.9.0",
"@emotion/hash": "^0.9.1",
"history": "^5.3.0",

@@ -60,18 +60,18 @@ "use-sync-external-store": "^1.2.0"

"@testing-library/react": "^12.1.5",
"@types/react": "^17.0.53",
"@types/react-dom": "^17.0.19",
"@types/react": "^17.0.59",
"@types/react-dom": "^17.0.20",
"@types/use-sync-external-store": "^0.0.3",
"@typescript-eslint/eslint-plugin": "^5.53.0",
"@typescript-eslint/parser": "^5.53.0",
"eslint": "^8.34.0",
"@typescript-eslint/eslint-plugin": "^5.59.7",
"@typescript-eslint/parser": "^5.59.7",
"eslint": "^8.41.0",
"eslint-plugin-react-hooks": "^4.6.0",
"jsdom": "^21.1.0",
"jsdom": "^22.0.0",
"microbundle": "^0.15.1",
"prettier": "^2.8.4",
"prettier": "^2.8.8",
"prettier-plugin-organize-imports": "^3.2.2",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"typescript": "^4.9.5",
"vitest": "^0.28.5"
"typescript": "^5.0.4",
"vitest": "^0.31.1"
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc