snap-on-openapi 1.0.22 → 1.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/OpenApi.d.ts CHANGED
@@ -21,10 +21,10 @@ import { InitialBuilder } from './types/InitialBuilder.js';
21
21
  import { DefaultRouteContextMap } from './services/ConfigBuilder/types/DefaultRouteContextMap.js';
22
22
  import { DefaultRouteParamsMap } from './services/ConfigBuilder/types/DefaultRouteParamsMap.js';
23
23
  import z from 'zod';
24
- import { OnResponseEvent } from './types/events/OnResponseEvent.js';
25
24
  import { RouteResponse } from './types/RouteResponse.js';
26
25
  import { ILogger } from './services/Logger/types/ILogger.js';
27
- import { RouteContext } from './types/config/RouteContext.js';
26
+ import { RouteContextMap } from './types/config/RouteContextMap.js';
27
+ import { OnResponseEventData } from './types/events/OnResponseEventData.js';
28
28
  export declare class OpenApi<TRouteTypes extends string, TErrorCodes extends string, TConfig extends AnyConfig<TRouteTypes, TErrorCodes>> {
29
29
  static readonly builder: InitialBuilder;
30
30
  readonly validators: ValidationUtils;
@@ -50,7 +50,7 @@ export declare class OpenApi<TRouteTypes extends string, TErrorCodes extends str
50
50
  addServer(url: string, description: string): void;
51
51
  protected getRouteForPath(path: string, method: string): AnyRoute<TRouteTypes> | null;
52
52
  processRootRoute(originalReq: Request): Promise<RouteResponse>;
53
- protected handleError(e: unknown, req: Request, eventPieces?: Partial<OnResponseEvent<TRouteTypes, TConfig['routes'][TRouteTypes]['extraProps'], RouteContext<TRouteTypes, TConfig>>>): Promise<{
53
+ protected handleError(e: unknown, req: Request, eventPieces?: Partial<OnResponseEventData<TRouteTypes, TConfig['routes'][TRouteTypes]['extraProps'], RouteContextMap<TRouteTypes, TConfig['routes'][TRouteTypes]['extraProps']>>>): Promise<{
54
54
  status: number;
55
55
  body: z.TypeOf<import("./index.js").OpenApiErrorConfigMap<TErrorCodes>[TErrorCodes]["responseValidator"]>;
56
56
  headers: {};
package/dist/OpenApi.js CHANGED
@@ -186,6 +186,7 @@ export class OpenApi {
186
186
  body: body,
187
187
  };
188
188
  onRoute = {
189
+ routeType: route.type,
189
190
  request: originalReq,
190
191
  logger,
191
192
  path: urlPath,
@@ -23,7 +23,7 @@ export declare class DefaultConfig implements Config<SampleRouteType, ErrorCode,
23
23
  onRequest?: () => Promise<void>;
24
24
  onRoute?: (e: OnRouteEvent<SampleRouteType, DefaultRouteParamsMap>) => Promise<void>;
25
25
  onHandler?: () => Promise<void>;
26
- onResponse?: (e: OnResponseEvent<SampleRouteType, DefaultRouteParamsMap, object>) => Promise<void>;
27
- onError?: (e: OnErrorEvent<SampleRouteType, DefaultRouteParamsMap, object>) => Promise<ErrorResponse<ErrorCode, DefaultErrorMap>>;
26
+ onResponse?: (e: OnResponseEvent<SampleRouteType, DefaultRouteParamsMap, DefaultRouteContextMap>) => Promise<void>;
27
+ onError?: (e: OnErrorEvent<SampleRouteType, DefaultRouteParamsMap, DefaultRouteContextMap>) => Promise<ErrorResponse<ErrorCode, DefaultErrorMap>>;
28
28
  skipDescriptionsCheck?: boolean;
29
29
  }
@@ -35,7 +35,7 @@ export type Config<TRouteTypes extends string, TErrorCodes extends string, TErro
35
35
  logLevel?: LogLevel;
36
36
  onRequest?: (e: OnRequestEvent) => Promise<void>;
37
37
  onRoute?: (e: OnRouteEvent<TRouteTypes, TRouteParamMap>) => Promise<void>;
38
- onHandler?: (e: OnHandlerEvent<TRouteTypes, TRouteParamMap, Awaited<ReturnType<TRouteContextMap[TRouteTypes]>>>) => Promise<void>;
39
- onResponse?: (e: OnResponseEvent<TRouteTypes, TRouteParamMap, Awaited<ReturnType<TRouteContextMap[TRouteTypes]>>>) => Promise<void>;
40
- onError?: (e: OnErrorEvent<TRouteTypes, TRouteParamMap, Awaited<ReturnType<TRouteContextMap[TRouteTypes]>>>) => Promise<ErrorResponse<TErrorCodes, TErrorConfigMap>>;
38
+ onHandler?: (e: OnHandlerEvent<TRouteTypes, TRouteParamMap, TRouteContextMap>) => Promise<void>;
39
+ onResponse?: (e: OnResponseEvent<TRouteTypes, TRouteParamMap, TRouteContextMap>) => Promise<void>;
40
+ onError?: (e: OnErrorEvent<TRouteTypes, TRouteParamMap, TRouteContextMap>) => Promise<ErrorResponse<TErrorCodes, TErrorConfigMap>>;
41
41
  };
@@ -1,8 +1,6 @@
1
- import { ILogger } from '../../services/Logger/types/ILogger.js';
1
+ import { RouteContextMap } from '../config/RouteContextMap.js';
2
2
  import { RouteExtraPropsMap } from '../config/RouteExtraPropsMap.js';
3
- import { OnResponseEvent } from './OnResponseEvent.js';
4
- export interface OnErrorEvent<TRouteType extends string, TContextMap extends RouteExtraPropsMap<TRouteType>, TContext extends object> extends Partial<OnResponseEvent<TRouteType, TContextMap, TContext>> {
5
- request: Request;
6
- logger: ILogger;
7
- error: unknown;
8
- }
3
+ import { OnErrorEventData } from './OnErrorEventData.js';
4
+ export type OnErrorEvent<TRouteType extends string, TExtraPropsMap extends RouteExtraPropsMap<TRouteType>, TContext extends RouteContextMap<TRouteType, TExtraPropsMap>> = {
5
+ [key in TRouteType]: OnErrorEventData<key, TExtraPropsMap, TContext>;
6
+ }[TRouteType];
@@ -0,0 +1,9 @@
1
+ import { ILogger } from '../../services/Logger/types/ILogger.js';
2
+ import { RouteContextMap } from '../config/RouteContextMap.js';
3
+ import { RouteExtraPropsMap } from '../config/RouteExtraPropsMap.js';
4
+ import { OnResponseEventData } from './OnResponseEventData.js';
5
+ export interface OnErrorEventData<TRouteType extends string, TExtraPropsMap extends RouteExtraPropsMap<TRouteType>, TContext extends RouteContextMap<TRouteType, TExtraPropsMap>> extends Partial<OnResponseEventData<TRouteType, TExtraPropsMap, TContext>> {
6
+ request: Request;
7
+ logger: ILogger;
8
+ error: unknown;
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,10 +1,6 @@
1
+ import { RouteContextMap } from '../config/RouteContextMap.js';
1
2
  import { RouteExtraPropsMap } from '../config/RouteExtraPropsMap.js';
2
- import { OnRouteEvent } from './OnRouteEvent.js';
3
- export interface OnHandlerEvent<TRouteType extends string, TContextMap extends RouteExtraPropsMap<TRouteType>, TContext extends object> extends OnRouteEvent<TRouteType, TContextMap> {
4
- validated: {
5
- query: Record<string, unknown>;
6
- path: Record<string, unknown>;
7
- body: unknown;
8
- };
9
- context: TContext;
10
- }
3
+ import { OnHandlerEventData } from './OnHandlerEventData.js';
4
+ export type OnHandlerEvent<TRouteType extends string, TExtraPropsMap extends RouteExtraPropsMap<TRouteType>, TContext extends RouteContextMap<TRouteType, TExtraPropsMap>> = {
5
+ [key in TRouteType]: OnHandlerEventData<key, TExtraPropsMap, TContext>;
6
+ }[TRouteType];
@@ -0,0 +1,11 @@
1
+ import { RouteContextMap } from '../config/RouteContextMap.js';
2
+ import { RouteExtraPropsMap } from '../config/RouteExtraPropsMap.js';
3
+ import { OnRouteEventData } from './OnRouteEventData.js';
4
+ export interface OnHandlerEventData<TRouteType extends string, TExtraPropsMap extends RouteExtraPropsMap<TRouteType>, TContext extends RouteContextMap<TRouteType, TExtraPropsMap>> extends OnRouteEventData<TRouteType, TExtraPropsMap> {
5
+ validated: {
6
+ query: Record<string, unknown>;
7
+ path: Record<string, unknown>;
8
+ body: unknown;
9
+ };
10
+ context: Awaited<ReturnType<TContext[TRouteType]>>;
11
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,6 @@
1
+ import { RouteContextMap } from '../config/RouteContextMap.js';
1
2
  import { RouteExtraPropsMap } from '../config/RouteExtraPropsMap.js';
2
- import { RouteResponse } from '../RouteResponse.js';
3
- import { OnHandlerEvent } from './OnHandlerEvent.js';
4
- export interface OnResponseEvent<TRouteType extends string, TContextMap extends RouteExtraPropsMap<TRouteType>, TContext extends object> extends OnHandlerEvent<TRouteType, TContextMap, TContext> {
5
- response: RouteResponse;
6
- }
3
+ import { OnResponseEventData } from './OnResponseEventData.js';
4
+ export type OnResponseEvent<TRouteType extends string, TExtraPropsMap extends RouteExtraPropsMap<TRouteType>, TContextMap extends RouteContextMap<TRouteType, TExtraPropsMap>> = {
5
+ [key in TRouteType]: OnResponseEventData<key, TExtraPropsMap, TContextMap>;
6
+ }[TRouteType];
@@ -0,0 +1,7 @@
1
+ import { RouteContextMap } from '../config/RouteContextMap.js';
2
+ import { RouteExtraPropsMap } from '../config/RouteExtraPropsMap.js';
3
+ import { RouteResponse } from '../RouteResponse.js';
4
+ import { OnHandlerEventData } from './OnHandlerEventData.js';
5
+ export interface OnResponseEventData<TRouteType extends string, TExtraPropsMap extends RouteExtraPropsMap<TRouteType>, TContext extends RouteContextMap<TRouteType, TExtraPropsMap>> extends OnHandlerEventData<TRouteType, TExtraPropsMap, TContext> {
6
+ response: RouteResponse;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,12 +1,5 @@
1
- import { AnyRoute } from '../AnyRoute.js';
2
- import { RouteExtraProps } from '../config/RouteExtraProps.js';
3
1
  import { RouteExtraPropsMap } from '../config/RouteExtraPropsMap.js';
4
- import { OnRequestEvent } from './OnRequestEvent.js';
5
- export interface OnRouteEvent<TRouteType extends string, TExtraPropsMap extends RouteExtraPropsMap<TRouteType>> extends OnRequestEvent {
6
- path: string;
7
- method: string;
8
- params: Record<string, string>;
9
- query: Record<string, string | string[]>;
10
- body: unknown;
11
- route: AnyRoute<TRouteType> & RouteExtraProps<TExtraPropsMap[TRouteType]>;
12
- }
2
+ import { OnRouteEventData } from './OnRouteEventData.js';
3
+ export type OnRouteEvent<TRouteType extends string, TExtraPropsMap extends RouteExtraPropsMap<TRouteType>> = {
4
+ [key in TRouteType]: OnRouteEventData<key, TExtraPropsMap>;
5
+ }[TRouteType];
@@ -0,0 +1,13 @@
1
+ import { AnyRoute } from '../AnyRoute.js';
2
+ import { RouteExtraProps } from '../config/RouteExtraProps.js';
3
+ import { RouteExtraPropsMap } from '../config/RouteExtraPropsMap.js';
4
+ import { OnRequestEvent } from './OnRequestEvent.js';
5
+ export interface OnRouteEventData<TRouteType extends string, TExtraPropsMap extends RouteExtraPropsMap<TRouteType>> extends OnRequestEvent {
6
+ routeType: TRouteType;
7
+ path: string;
8
+ method: string;
9
+ params: Record<string, string>;
10
+ query: Record<string, string | string[]>;
11
+ body: unknown;
12
+ route: AnyRoute<TRouteType> & RouteExtraProps<TExtraPropsMap[TRouteType]>;
13
+ }
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "snap-on-openapi",
3
3
  "author": "Alex Sarychev",
4
- "version": "1.0.22",
4
+ "version": "1.0.24",
5
5
  "description": "Swiftly build type-checked OpenAPI applications with Zod and TypeScript",
6
6
  "type": "module",
7
7
  "license": "ISC",