allons-y
Version:
Yet another JS/TS tools
21 lines (20 loc) • 686 B
TypeScript
import type { ArgumentsCamelCase, BuilderCallback } from 'yargs';
export type Prettify<T> = {
[K in keyof T]: T[K];
} & unknown;
export type CommandEvents = {
sigInt?: (fn: () => void) => void;
};
export type Command<T extends object = {
[argName: string]: unknown;
}> = {
cmd: string;
title: string;
description: string;
builder?: BuilderCallback<T, T>;
command: (argv: Prettify<ArgumentsCamelCase<T & {
startDate: Date;
}>>, on?: CommandEvents) => void | Promise<void>;
};
export declare const intervalReadable: (sec: number, short?: boolean) => string;
export declare const totalTimeReadable: (startDate: Date, short?: boolean) => string;