-
Notifications
You must be signed in to change notification settings - Fork 995
/
middleware.d.ts
25 lines (25 loc) · 1.16 KB
/
middleware.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { YargsInstance, Arguments } from './yargs-factory.js';
export declare class GlobalMiddleware {
globalMiddleware: Middleware[];
yargs: YargsInstance;
frozens: Array<Middleware[]>;
constructor(yargs: YargsInstance);
addMiddleware(callback: MiddlewareCallback | MiddlewareCallback[], applyBeforeValidation: boolean, global?: boolean, mutates?: boolean): YargsInstance;
addCoerceMiddleware(callback: MiddlewareCallback, option: string): YargsInstance;
getMiddleware(): Middleware[];
freeze(): void;
unfreeze(): void;
reset(): void;
}
export declare function commandMiddlewareFactory(commandMiddleware?: MiddlewareCallback[]): Middleware[];
export declare function applyMiddleware(argv: Arguments | Promise<Arguments>, yargs: YargsInstance, middlewares: Middleware[], beforeValidation: boolean): Arguments | Promise<Arguments>;
export interface MiddlewareCallback {
(argv: Arguments, yargs: YargsInstance): Partial<Arguments> | Promise<Partial<Arguments>>;
}
export interface Middleware extends MiddlewareCallback {
applyBeforeValidation: boolean;
global: boolean;
option?: string;
mutates?: boolean;
applied?: boolean;
}