From e6fb48cee84bef4860979339bacd4f086c3ea7a3 Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Mon, 20 May 2019 10:21:15 -0500 Subject: [PATCH] Fix string type on router.query (#7387) --- packages/next-server/lib/router/router.ts | 7 ++++--- packages/next-server/server/render.tsx | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/next-server/lib/router/router.ts b/packages/next-server/lib/router/router.ts index cb62b0eb7c..319ea3f54f 100644 --- a/packages/next-server/lib/router/router.ts +++ b/packages/next-server/lib/router/router.ts @@ -5,6 +5,7 @@ import { parse } from 'url'; import mitt, {MittEmitter} from '../mitt'; import { formatWithValidation, getURL, loadGetInitialProps, NextPageContext, AppContextType } from '../utils'; import {rewriteUrlForNextExport} from './rewrite-url-for-export' +import { ParsedUrlQuery } from 'querystring'; function toRoute(path: string): string { return path.replace(/\/$/, '') || '/' @@ -13,7 +14,7 @@ function toRoute(path: string): string { export type BaseRouter = { route: string pathname: string - query: string + query: ParsedUrlQuery asPath: string, } @@ -31,7 +32,7 @@ type BeforePopStateCallback = (state: any) => boolean export default class Router implements BaseRouter { route: string pathname: string - query: string + query: ParsedUrlQuery asPath: string components: {[pathname: string]: RouteInfo} subscriptions: Set @@ -41,7 +42,7 @@ export default class Router implements BaseRouter { static events: MittEmitter = mitt() - constructor(pathname: string, query: any, as: string, { initialProps, pageLoader, App, Component, err }: {initialProps: any, pageLoader: any, Component: ComponentType, App: ComponentType, err?: Error}) { + constructor(pathname: string, query: ParsedUrlQuery, as: string, { initialProps, pageLoader, App, Component, err }: {initialProps: any, pageLoader: any, Component: ComponentType, App: ComponentType, err?: Error}) { // represents the current component key this.route = toRoute(pathname) diff --git a/packages/next-server/server/render.tsx b/packages/next-server/server/render.tsx index 088ef939b5..87baf49024 100644 --- a/packages/next-server/server/render.tsx +++ b/packages/next-server/server/render.tsx @@ -31,12 +31,12 @@ function noRouter() { class ServerRouter implements BaseRouter { route: string pathname: string - query: string + query: ParsedUrlQuery asPath: string // TODO: Remove in the next major version, as this would mean the user is adding event listeners in server-side `render` method static events: MittEmitter = mitt() - constructor(pathname: string, query: any, as: string) { + constructor(pathname: string, query: ParsedUrlQuery, as: string) { this.route = pathname.replace(/\/$/, '') || '/' this.pathname = pathname this.query = query -- GitLab