@solidjs/router
Advanced tools
Comparing version 0.8.4 to 0.9.0
/*@refresh skip*/ | ||
import { children, createMemo, createRoot, mergeProps, on, Show, splitProps } from "solid-js"; | ||
import { isServer } from "solid-js/web"; | ||
import { isServer, getRequestEvent } from "solid-js/web"; | ||
import { pathIntegration, staticIntegration } from "./integration"; | ||
@@ -8,4 +8,8 @@ import { createBranches, createRouteContext, createRouterContext, getRouteMatches, RouteContextObj, RouterContextObj, useHref, useLocation, useNavigate, useResolvedPath, useRoute, useRouter } from "./routing"; | ||
export const Router = (props) => { | ||
let e; | ||
const { source, url, base, data, out } = props; | ||
const integration = source || (isServer ? staticIntegration({ value: url || "" }) : pathIntegration()); | ||
const integration = source || | ||
(isServer | ||
? staticIntegration({ value: url || ((e = getRequestEvent()) && e.request.url) || "" }) | ||
: pathIntegration()); | ||
const routerState = createRouterContext(integration, base, data, out); | ||
@@ -12,0 +16,0 @@ return (<RouterContextObj.Provider value={routerState}>{props.children}</RouterContextObj.Provider>); |
@@ -1,2 +0,2 @@ | ||
import { isServer, delegateEvents, createComponent as createComponent$1, spread, mergeProps as mergeProps$1, template } from 'solid-js/web'; | ||
import { isServer, delegateEvents, getRequestEvent, createComponent as createComponent$1, spread, mergeProps as mergeProps$1, template } from 'solid-js/web'; | ||
import { createSignal, onCleanup, getOwner, runWithOwner, createMemo, createContext, useContext, untrack, createRenderEffect, createComponent, on, startTransition, resetErrorBoundaries, children, createRoot, Show, mergeProps, splitProps } from 'solid-js'; | ||
@@ -620,2 +620,4 @@ | ||
} | ||
const e = getRequestEvent(); | ||
e && (e.response = Response.redirect(resolvedTo, 302)); | ||
setSource({ | ||
@@ -765,4 +767,5 @@ value: resolvedTo, | ||
const _tmpl$ = /*#__PURE__*/template(`<a link></a>`, 2); | ||
const _tmpl$ = /*#__PURE__*/template(`<a link>`); | ||
const Router = props => { | ||
let e; | ||
const { | ||
@@ -776,3 +779,3 @@ source, | ||
const integration = source || (isServer ? staticIntegration({ | ||
value: url || "" | ||
value: url || (e = getRequestEvent()) && e.request.url || "" | ||
}) : pathIntegration()); | ||
@@ -900,3 +903,3 @@ const routerState = createRouterContext(integration, base, data, out); | ||
return (() => { | ||
const _el$ = _tmpl$.cloneNode(true); | ||
const _el$ = _tmpl$(); | ||
spread(_el$, mergeProps$1(rest, { | ||
@@ -903,0 +906,0 @@ get href() { |
import { createComponent, createContext, createMemo, createRenderEffect, createSignal, on, onCleanup, untrack, useContext, startTransition, resetErrorBoundaries } from "solid-js"; | ||
import { isServer, delegateEvents } from "solid-js/web"; | ||
import { isServer, delegateEvents, getRequestEvent } from "solid-js/web"; | ||
import { normalizeIntegration } from "./integration"; | ||
@@ -274,2 +274,4 @@ import { createBeforeLeave } from "./lifecycle"; | ||
} | ||
const e = getRequestEvent(); | ||
e && (e.response = Response.redirect(resolvedTo, 302)); | ||
setSource({ value: resolvedTo, replace, scroll, state: nextState }); | ||
@@ -276,0 +278,0 @@ } |
import { Component, JSX } from "solid-js"; | ||
declare module "solid-js/web" { | ||
interface RequestEvent { | ||
response?: Response; | ||
} | ||
} | ||
export type Params = Record<string, string>; | ||
@@ -3,0 +8,0 @@ export type SetParams = Record<string, string | number | boolean | null | undefined>; |
@@ -9,3 +9,3 @@ { | ||
"license": "MIT", | ||
"version": "0.8.4", | ||
"version": "0.9.0", | ||
"homepage": "https://github.com/solidjs/solid-router#readme", | ||
@@ -12,0 +12,0 @@ "repository": { |
@@ -7,2 +7,4 @@ <p> | ||
#### Note: v0.9.0 requires Solid 1.8.4 or later | ||
A router lets you change your view based on the URL in the browser. This allows your "single-page" application to simulate a traditional multipage site. To use Solid Router, you specify components called Routes that depend on the value of the URL (the "path"), and the router handles the mechanism of swapping them in and out. | ||
@@ -9,0 +11,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
97982
2085
719