nfkit 1.0.14 → 1.0.16

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.
@@ -0,0 +1,18 @@
1
+ import { Awaitable } from '../types';
2
+ export type AnyFunc = (...args: any[]) => any;
3
+ export type MiddlewareValue<F extends AnyFunc> = Awaited<ReturnType<F>>;
4
+ export type MiddlewareResult<F extends AnyFunc> = Promise<MiddlewareValue<F>>;
5
+ export type MiddlewareNextArgs<F extends AnyFunc> = Parameters<F> | [];
6
+ export type MiddlewareNext<F extends AnyFunc> = (...args: MiddlewareNextArgs<F>) => MiddlewareResult<F>;
7
+ export type MiddlewareArgs<F extends AnyFunc> = [
8
+ ...args: Parameters<F>,
9
+ next: MiddlewareNext<F>
10
+ ];
11
+ export type MiddlewareReturn<F extends AnyFunc> = Awaitable<MiddlewareValue<F>>;
12
+ export type Middleware<F extends AnyFunc> = (...args: MiddlewareArgs<F>) => MiddlewareReturn<F>;
13
+ export type MiddlewareAcceptResult<F extends AnyFunc> = (s: MiddlewareValue<F>) => Awaitable<boolean>;
14
+ export type MiddlewareErrorHandler<F extends AnyFunc> = (e: any, args: Parameters<F>, next: MiddlewareNext<F>) => Awaitable<MiddlewareValue<F>>;
15
+ export interface MiddlewareDispatcherOptions<F extends AnyFunc> {
16
+ acceptResult?: MiddlewareAcceptResult<F>;
17
+ errorHandler?: MiddlewareErrorHandler<F>;
18
+ }
@@ -1 +1,3 @@
1
1
  export type Awaitable<T> = T | Promise<T>;
2
+ export type AnyClass = new (...args: any[]) => any;
3
+ export type ClassType<T = any> = new (...args: any[]) => T;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nfkit",
3
3
  "description": "Common kits",
4
- "version": "1.0.14",
4
+ "version": "1.0.16",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",
7
7
  "types": "dist/index.d.ts",
@@ -1,26 +0,0 @@
1
- import { Awaitable } from './types';
2
- type AnyFunc = (...args: any[]) => any;
3
- type MiddlewareValue<F extends AnyFunc> = Awaited<ReturnType<F>>;
4
- type MiddlewareResult<F extends AnyFunc> = Promise<MiddlewareValue<F>>;
5
- type MiddlewareNext<F extends AnyFunc> = () => MiddlewareResult<F>;
6
- type MiddlewareArgs<F extends AnyFunc> = [
7
- ...args: Parameters<F>,
8
- next: MiddlewareNext<F>
9
- ];
10
- type MiddlewareReturn<F extends AnyFunc> = Awaitable<MiddlewareValue<F>>;
11
- export type Middleware<F extends AnyFunc> = (...args: MiddlewareArgs<F>) => MiddlewareReturn<F>;
12
- export type MiddlewareAcceptResult<F extends AnyFunc> = (s: MiddlewareValue<F>) => Awaitable<boolean>;
13
- export type MiddlewareErrorHandler<F extends AnyFunc> = (e: any, args: Parameters<F>, next: MiddlewareNext<F>) => Awaitable<MiddlewareValue<F>>;
14
- export interface MiddlewareDispatcherOptions<F extends AnyFunc> {
15
- acceptResult?: MiddlewareAcceptResult<F>;
16
- errorHandler?: MiddlewareErrorHandler<F>;
17
- }
18
- export declare class MiddlewareDispatcher<F extends AnyFunc> {
19
- private options;
20
- constructor(options?: MiddlewareDispatcherOptions<F>);
21
- middlewares: Middleware<F>[];
22
- middleware(mw: Middleware<F>, prior?: boolean): this;
23
- removeMiddleware(mw: Middleware<F>): this;
24
- dispatch(...args: Parameters<F>): MiddlewareResult<F>;
25
- }
26
- export {};