UNPKG

@icebro/actionhero

Version:

The reusable, scalable, and quick node.js API server for stateless and stateful applications

27 lines (24 loc) 868 B
import { Input } from "./input"; import { Action } from "../classes/action"; import { Task } from "../classes/task"; import { CLI } from "../classes/cli"; export interface Inputs { [key: string]: Input; } export type ParamsFrom<A extends Action | Task | CLI> = A extends CLI ? { [Input in keyof A["inputs"]]: A["inputs"][Input]["variadic"] extends true ? A["inputs"][Input]["formatter"] extends (...ags: any[]) => any ? ReturnType<A["inputs"][Input]["formatter"]>[] : string[] : A["inputs"][Input]["formatter"] extends (...ags: any[]) => any ? ReturnType<A["inputs"][Input]["formatter"]> : string; } : { [Input in keyof A["inputs"]]: A["inputs"][Input]["formatter"] extends ( ...ags: any[] ) => any ? ReturnType<A["inputs"][Input]["formatter"]> : string; };