mirror of
https://github.com/directus/directus.git
synced 2026-02-02 21:55:24 -05:00
* merge components merge args, parser, docs, formatter, help and handlers * change directus command and add auto debug * output format fixes * adds back some reformatted and documented commands * better help output format * refactor all output flow * export cli types * more formatting fixes and param rework * fix table spacing * add yaml formatting and fix string colors * finished formatting docs * remove log * remove package-lock * update dependency versions * fix command description * workaround typescript loading * module loading fixes added command error rename human to table fix disconnect usage * add typescript loader redirect execution to local package if installed locally added command alias `directus-ctl` * fix module load directories * reimplement stdin pipe to work on linux * fix sdk server info type * info command * Fix stdin bug Disable community extensions to discourage use for now Added template to config files Added password stdin to connect to instances Fixed typescript command load * Added command suggestions and QOL features * Linter fixes * Add command hints * Separate positional options * Add back delete many, fix delete one location * Change score logic * Add whoami util command * Add short online docs * Fix typo * Fix typo * Update commands * Param consistency fix and docs update * Create commands * Update package.json version * Update package-lock * Fixed several linting problems * Update dependencies * Update lock * Remove locked dependencies * Stop conflicts when in home directory * Package lock update and npm audit fix * Fix formatting errors * Comment out extending cli section until we figure out cli ext * Update readme * Tweak dev/build/prebuild script naming * Use up to date deps * Fix dependency version in lock (fix build) Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
26 lines
933 B
TypeScript
26 lines
933 B
TypeScript
import { Command } from './command';
|
|
import { IOutput } from './output';
|
|
|
|
export type Listener<T extends any = any, P extends any = any, R = any> =
|
|
| ((...args: P[]) => Promise<R>)
|
|
| ((...args: P[]) => R)
|
|
| ((this: T, ...args: P[]) => Promise<R>)
|
|
| ((this: T, ...args: P[]) => R);
|
|
|
|
export type EventTypes = {
|
|
'command.initialize.before': (command: Command) => void | Promise<void>;
|
|
'command.initialize.after': (command: Command) => void | Promise<void>;
|
|
|
|
'command.execute.before': (command: Command, options: any) => void | Promise<void>;
|
|
'command.execute.after': (command: Command) => void | Promise<void>;
|
|
|
|
'command.options.register': (command: Command) => void;
|
|
|
|
'output.formats.register': (output: IOutput) => void;
|
|
};
|
|
|
|
export interface IEvents {
|
|
on<E extends keyof EventTypes>(event: E, listener: EventTypes[E]): void;
|
|
emit<E extends keyof EventTypes>(event: E, ...args: Parameters<EventTypes[E]>): Promise<void>;
|
|
}
|