koa2-router
Advanced tools
Comparing version 1.2.3 to 2.0.1
@@ -22,3 +22,3 @@ /*! | ||
var deprecate = require('depd')('koa2-router') | ||
var flatten = require('array-flatten') | ||
var { flatten } = require('array-flatten') | ||
var parseUrl = require('parseurl') | ||
@@ -25,0 +25,0 @@ var setPrototypeOf = require('setprototypeof') |
@@ -15,3 +15,3 @@ /*! | ||
var pathRegexp = require('path-to-regexp') | ||
var pathToRegexp = require('path-to-regexp').pathToRegexp | ||
var debug = require('debug')('koa2-router:layer') | ||
@@ -43,3 +43,3 @@ | ||
this.name = fn._name || fn.name || '<anonymous>' | ||
this.regexp = pathRegexp(path, this.keys = [], opts) | ||
this.regexp = pathToRegexp(path, this.keys = [], opts) | ||
@@ -46,0 +46,0 @@ // temperary matched result for faster matching |
@@ -16,3 +16,3 @@ /*! | ||
var debug = require('debug')('koa2-router:route') | ||
var flatten = require('array-flatten') | ||
var flatten = require('array-flatten').flatten | ||
var methods = require('methods') | ||
@@ -19,0 +19,0 @@ var Layer = require('./layer') |
{ | ||
"name": "koa2-router", | ||
"version": "1.2.3", | ||
"version": "2.0.1", | ||
"description": "A express-liked router component for koa2", | ||
@@ -20,3 +20,3 @@ "main": "index.js", | ||
"dependencies": { | ||
"array-flatten": "^2.1.2", | ||
"array-flatten": "^3.0.0", | ||
"debug": "^4.1.1", | ||
@@ -27,4 +27,4 @@ "delegates": "^1.0.0", | ||
"methods": "^1.1.2", | ||
"parseurl": "^1.3.2", | ||
"path-to-regexp": "^2.4.0", | ||
"parseurl": "^1.3.3", | ||
"path-to-regexp": "^6.1.0", | ||
"setprototypeof": "^1.1.1", | ||
@@ -34,7 +34,8 @@ "utils-merge": "^1.0.1" | ||
"devDependencies": { | ||
"@types/koa": "^2.0.49", | ||
"delay": "^4.1.0", | ||
"http-errors": "^1.7.2", | ||
"koa": "^2.7.0", | ||
"koa-morgan": "^1.0.1" | ||
"@types/koa": "^2.11.2", | ||
"delay": "^4.3.0", | ||
"koa": "^2.11.0", | ||
"koa-morgan": "^1.0.1", | ||
"ts-node": "^8.6.2", | ||
"typescript": "^3.8.3" | ||
}, | ||
@@ -46,3 +47,9 @@ "files": [ | ||
"types.d.ts" | ||
] | ||
], | ||
"peerDependencies": { | ||
"@types/koa": "^2.11.2", | ||
"http-errors": "^1.7.3", | ||
"koa": "^2.11.0", | ||
"koa-morgan": "^1.0.1" | ||
} | ||
} |
@@ -111,3 +111,3 @@ # koa2-router | ||
1. Middleares using `.use()` in which path can just be `/` or `*`, insert `middlewares` to the original stack | ||
1. Middlewares using `.use()` in which path can just be `/` or `*`, insert `middlewares` to the original stack | ||
> in `Router.use(middlewares)`, `middlewares` are inserted into | ||
@@ -114,0 +114,0 @@ > the parent's middlewares, thus when the last one invokes `next()`, it |
// Type definitions for koa2-router | ||
// Project: https://github.com/xinpianchang/koa2-router | ||
// Definitions by: Tang Ye <https://github.com/tangye1234> | ||
// TypeScript Version: 2.3 | ||
// TypeScript Version: 3.8 | ||
@@ -14,7 +14,7 @@ /* =================== USAGE =================== | ||
import { Middleware, ParameterizedContext } from "koa" | ||
import { Middleware, ParameterizedContext, DefaultContext, DefaultState } from "koa" | ||
import { Path } from "path-to-regexp" | ||
declare module "koa" { | ||
interface BaseContext extends RouterContextInit {} | ||
interface DefaultContext extends RouterContextInit {} | ||
interface BaseRequest extends RouterRequestInit {} | ||
@@ -25,9 +25,9 @@ interface BaseResponse extends RouterResponseInit {} | ||
export interface RouterRequestInit { | ||
readonly params: Record<string | number, any>; | ||
readonly baseUrl: string; | ||
readonly matched: string[]; | ||
readonly params: Record<string | number, any> | ||
readonly baseUrl: string | ||
readonly matched: string[] | ||
} | ||
export interface RouterResponseInit { | ||
readonly responded?: boolean; | ||
readonly responded?: boolean | ||
} | ||
@@ -40,28 +40,28 @@ | ||
export interface RouteType { | ||
new <StateT = any, CustomT = {}>(path: string): Route<StateT, CustomT>; | ||
new <StateT = DefaultState, CustomT = DefaultContext>(path: string): Route<StateT, CustomT> | ||
} | ||
export interface Route<StateT = any, CustomT = {}> { | ||
export interface Route<StateT = DefaultState, CustomT = DefaultContext> { | ||
readonly path: Path; | ||
all: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT>; | ||
head: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT>; | ||
get: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT>; | ||
post: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT>; | ||
delete: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT>; | ||
del: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT>; | ||
put: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT>; | ||
patch: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT>; | ||
options: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT>; | ||
all: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT> | ||
head: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT> | ||
get: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT> | ||
post: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT> | ||
delete: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT> | ||
del: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT> | ||
put: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT> | ||
patch: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT> | ||
options: (...middlewares: Middleware<StateT, CustomT>[]) => Route<StateT, CustomT> | ||
} | ||
export type Options = string | { | ||
name?: string; | ||
caseSensitive?: boolean; | ||
strict?: boolean; | ||
name?: string | ||
caseSensitive?: boolean | ||
strict?: boolean | ||
mergeParams?: <C extends object = any, P extends object = any>(currentParams: C, parentParams: P) => Record<string | number, any> | ||
} | ||
export type Context<StateT = any, CustomT = {}> = ParameterizedContext<StateT, CustomT> & RouterContextInit | ||
export type Context<StateT = DefaultState, CustomT = DefaultContext> = ParameterizedContext<StateT, CustomT> & RouterContextInit | ||
export type ParamCallback<K = string | number, V = any, StateT = any, CustomT = {}> = ( | ||
export type ParamCallback<K = string | number, V = any, StateT = DefaultState, CustomT = DefaultContext> = ( | ||
context: Context<StateT, CustomT>, | ||
@@ -71,31 +71,31 @@ next: () => Promise<any>, | ||
name: K, | ||
) => any; | ||
) => any | ||
export interface AllowOptions<StateT = any, CustomT = {}> { | ||
throw?: boolean; | ||
methodNotAllowed?: (ctx: Context<StateT, CustomT>, methods: string[]) => any; | ||
notImplemented?: (ctx: Context<StateT, CustomT>) => any; | ||
throw?: boolean | ||
methodNotAllowed?: (ctx: Context<StateT, CustomT>, methods: string[]) => any | ||
notImplemented?: (ctx: Context<StateT, CustomT>) => any | ||
} | ||
export interface Router<StateT = any, CustomT = {}> extends Middleware<StateT, CustomT> { | ||
_name: string; | ||
route(path: Path): Route<StateT, CustomT>; | ||
param: <K extends string | number, V = any>(name: K, fn: ParamCallback<K, V, StateT, CustomT>) => Router<StateT, CustomT>; | ||
use: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT>; | ||
all: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT>; | ||
head: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT>; | ||
get: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT>; | ||
post: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT>; | ||
delete: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT>; | ||
del: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT>; | ||
put: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT>; | ||
patch: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT>; | ||
options: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT>; | ||
allowMethods: (options?: AllowOptions<StateT, CustomT>) => Middleware<StateT, CustomT>; | ||
export interface Router<StateT = DefaultState, CustomT = DefaultContext> extends Middleware<StateT, CustomT> { | ||
_name: string | ||
route(path: Path): Route<StateT, CustomT> | ||
param: <K extends string | number, V = any>(name: K, fn: ParamCallback<K, V, StateT, CustomT>) => Router<StateT, CustomT> | ||
use: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT> | ||
all: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT> | ||
head: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT> | ||
get: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT> | ||
post: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT> | ||
delete: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT> | ||
del: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT> | ||
put: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT> | ||
patch: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT> | ||
options: (pathOrMiddleware: Path | Middleware<StateT, CustomT>, ...middlewares: Middleware<StateT, CustomT>[]) => Router<StateT, CustomT> | ||
allowMethods: (options?: AllowOptions<StateT, CustomT>) => Middleware<StateT, CustomT> | ||
} | ||
interface RouterType { | ||
new <StateT = any, CustomT = {}>(options?: Options): Router<StateT, CustomT>; | ||
<StateT = any, CustomT = {}>(options?: Options): Router<StateT, CustomT>; | ||
Route: RouteType; | ||
new <StateT = DefaultState, CustomT = DefaultContext>(options?: Options): Router<StateT, CustomT> | ||
<StateT = DefaultState, CustomT = DefaultContext>(options?: Options): Router<StateT, CustomT> | ||
Route: RouteType | ||
} | ||
@@ -102,0 +102,0 @@ } |
41329
14
6
+ Added@types/accepts@1.3.7(transitive)
+ Added@types/body-parser@1.19.5(transitive)
+ Added@types/connect@3.4.38(transitive)
+ Added@types/content-disposition@0.5.8(transitive)
+ Added@types/cookies@0.9.0(transitive)
+ Added@types/express@5.0.0(transitive)
+ Added@types/express-serve-static-core@5.0.6(transitive)
+ Added@types/http-assert@1.5.6(transitive)
+ Added@types/http-errors@2.0.4(transitive)
+ Added@types/keygrip@1.0.6(transitive)
+ Added@types/koa@2.15.0(transitive)
+ Added@types/koa-compose@3.2.8(transitive)
+ Added@types/mime@1.3.5(transitive)
+ Added@types/node@22.13.4(transitive)
+ Added@types/qs@6.9.18(transitive)
+ Added@types/range-parser@1.2.7(transitive)
+ Added@types/send@0.17.4(transitive)
+ Added@types/serve-static@1.15.7(transitive)
+ Addedaccepts@1.3.8(transitive)
+ Addedarray-flatten@3.0.0(transitive)
+ Addedbasic-auth@2.0.1(transitive)
+ Addedcache-content-type@1.0.1(transitive)
+ Addedcall-bind-apply-helpers@1.0.2(transitive)
+ Addedcall-bound@1.0.3(transitive)
+ Addedco@4.6.0(transitive)
+ Addedcontent-disposition@0.5.4(transitive)
+ Addedcontent-type@1.0.5(transitive)
+ Addedcookies@0.9.1(transitive)
+ Addeddebug@2.6.9(transitive)
+ Addeddeep-equal@1.0.1(transitive)
+ Addeddepd@1.1.2(transitive)
+ Addeddestroy@1.2.0(transitive)
+ Addeddunder-proto@1.0.1(transitive)
+ Addedee-first@1.1.1(transitive)
+ Addedencodeurl@1.0.2(transitive)
+ Addedes-define-property@1.0.1(transitive)
+ Addedes-errors@1.3.0(transitive)
+ Addedes-object-atoms@1.1.1(transitive)
+ Addedescape-html@1.0.3(transitive)
+ Addedfresh@0.5.2(transitive)
+ Addedfunction-bind@1.1.2(transitive)
+ Addedget-intrinsic@1.2.7(transitive)
+ Addedget-proto@1.0.1(transitive)
+ Addedgopd@1.2.0(transitive)
+ Addedhas-symbols@1.1.0(transitive)
+ Addedhas-tostringtag@1.0.2(transitive)
+ Addedhasown@2.0.2(transitive)
+ Addedhttp-assert@1.5.0(transitive)
+ Addedhttp-errors@1.8.1(transitive)
+ Addedinherits@2.0.4(transitive)
+ Addedis-generator-function@1.1.0(transitive)
+ Addedis-regex@1.2.1(transitive)
+ Addedkeygrip@1.1.0(transitive)
+ Addedkoa@2.15.4(transitive)
+ Addedkoa-convert@2.0.0(transitive)
+ Addedkoa-morgan@1.0.1(transitive)
+ Addedmath-intrinsics@1.1.0(transitive)
+ Addedmedia-typer@0.3.0(transitive)
+ Addedmime-db@1.52.0(transitive)
+ Addedmime-types@2.1.35(transitive)
+ Addedmorgan@1.10.0(transitive)
+ Addedms@2.0.0(transitive)
+ Addednegotiator@0.6.3(transitive)
+ Addedon-finished@2.3.02.4.1(transitive)
+ Addedon-headers@1.0.2(transitive)
+ Addedonly@0.0.2(transitive)
+ Addedpath-to-regexp@6.3.0(transitive)
+ Addedsafe-buffer@5.1.25.2.1(transitive)
+ Addedsafe-regex-test@1.1.0(transitive)
+ Addedstatuses@1.5.0(transitive)
+ Addedtoidentifier@1.0.1(transitive)
+ Addedtsscmp@1.0.6(transitive)
+ Addedtype-is@1.6.18(transitive)
+ Addedundici-types@6.20.0(transitive)
+ Addedvary@1.1.2(transitive)
+ Addedylru@1.4.0(transitive)
- Removedarray-flatten@2.1.2(transitive)
- Removedpath-to-regexp@2.4.0(transitive)
Updatedarray-flatten@^3.0.0
Updatedparseurl@^1.3.3
Updatedpath-to-regexp@^6.1.0