surfer/src/types.d.ts
2022-10-20 22:08:27 +11:00

30 lines
841 B
TypeScript

// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
export interface Cmd {
cmd: string
description: string
/**
* A function that returns the controller as a promise. We want to dynamically
* load them to reduce the startup time of gluon, which, at the time of
* writing, is getting a touch long
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
requestController: () => Promise<(...arguments_: any) => void>
options?: CmdOption[]
aliases?: string[]
flags?: {
platforms?: CmdFlagPlatform[]
}
disableMiddleware?: boolean
}
export interface CmdOption {
arg: string
description: string
}
export type CmdFlagPlatform = NodeJS.Platform