openapi-backend
Advanced tools
Comparing version
import type { Options as AjvOpts } from 'ajv'; | ||
import { OpenAPIV3, OpenAPIV3_1 } from 'openapi-types'; | ||
import { OpenAPIRouter, Request, ParsedRequest, Operation } from './router'; | ||
import { OpenAPIRouter, Request, ParsedRequest, Operation, UnknownParams } from './router'; | ||
import { OpenAPIValidator, ValidationResult, AjvCustomizer } from './validation'; | ||
@@ -19,9 +19,6 @@ export type Document = OpenAPIV3_1.Document | OpenAPIV3.Document; | ||
* Passed context built for request. Passed as first argument for all handlers. | ||
* | ||
* @export | ||
* @interface Context | ||
*/ | ||
export interface Context<D extends Document = Document> { | ||
export interface Context<RequestBody = any, Params = UnknownParams, Query = UnknownParams, Headers = UnknownParams, Cookies = UnknownParams, D extends Document = Document> { | ||
api: OpenAPIBackend<D>; | ||
request: ParsedRequest; | ||
request: ParsedRequest<RequestBody, Params, Query, Headers, Cookies>; | ||
operation: Operation<D>; | ||
@@ -32,3 +29,6 @@ validation: ValidationResult; | ||
} | ||
export type Handler = (context: Context, ...args: any[]) => any | Promise<any>; | ||
/** | ||
* A handler for an operation with request Context and passed arguments from handleRequest | ||
*/ | ||
export type Handler<RequestBody = any, Params = UnknownParams, Query = UnknownParams, Headers = UnknownParams, Cookies = UnknownParams, D extends Document = Document> = (context: Context<RequestBody, Params, Query, Headers, Cookies, D>, ...args: any[]) => any | Promise<any>; | ||
export type BoolPredicate = (context: Context, ...args: any[]) => boolean; | ||
@@ -35,0 +35,0 @@ /** |
{ | ||
"name": "openapi-backend", | ||
"description": "Build, Validate, Route, Authenticate and Mock using OpenAPI definitions. Framework-agnostic", | ||
"version": "5.8.1", | ||
"version": "5.9.0", | ||
"author": "Viljami Kuosmanen <viljami@viljami.io>", | ||
@@ -45,3 +45,3 @@ "funding": "https://github.com/sponsors/anttiviljami", | ||
"dependencies": { | ||
"@apidevtools/json-schema-ref-parser": "^9.0.7", | ||
"@apidevtools/json-schema-ref-parser": "^10.1.0", | ||
"ajv": "^8.6.2", | ||
@@ -48,0 +48,0 @@ "bath-es5": "^3.0.3", |
@@ -30,3 +30,3 @@ <h1 align="center"><img alt="openapi-backend" src="./header.png" style="max-width:50rem"></h1> | ||
**New!** OpenAPI-backend documentation is now found on [openapistack.co](https://openapistack.co) | ||
**New!** OpenAPI Backend documentation is now found on [openapistack.co](https://openapistack.co) | ||
@@ -33,0 +33,0 @@ https://openapistack.co/docs/openapi-backend/intro |
@@ -30,13 +30,14 @@ import type { OpenAPIV3, OpenAPIV3_1 } from 'openapi-types'; | ||
} | ||
export interface ParsedRequest extends Request { | ||
params: { | ||
[key: string]: string | string[]; | ||
}; | ||
cookies: { | ||
[key: string]: string | string[]; | ||
}; | ||
query: { | ||
[key: string]: string | string[]; | ||
}; | ||
requestBody: any; | ||
export type UnknownParams = { | ||
[key: string]: string | string[]; | ||
}; | ||
export interface ParsedRequest<RequestBody = any, Params = UnknownParams, Query = UnknownParams, Headers = UnknownParams, Cookies = UnknownParams> { | ||
method: string; | ||
path: string; | ||
requestBody: RequestBody; | ||
params: Params; | ||
query: Query; | ||
headers: Headers; | ||
cookies: Cookies; | ||
body?: any; | ||
} | ||
@@ -43,0 +44,0 @@ /** |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
152390
0.37%2432
0.04%+ Added
+ Added
+ Added
+ Added
- Removed
- Removed