@magicdawn/x-args
Version:
play with cli commands like a composer
53 lines (48 loc) • 1.53 kB
TypeScript
import { Command, Usage } from 'clipanion';
declare abstract class BaseCommand extends Command {
/**
* glob
*/
files: string;
ignoreCase: boolean;
globCwd: string | undefined;
yes: boolean;
showTokens: boolean;
abstract execute(): Promise<number | void>;
}
interface FilenameTokens {
fullpath: string;
dir: string;
file: string;
name: string;
ext: string;
pdir: string;
rname: string;
}
declare function getFilenameTokens(item: string): FilenameTokens;
declare function renderFilenameTokens(template: string, options: FilenameTokens): string;
declare function printFilenameTokens(tokens: FilenameTokens): void;
declare class TxtCommand extends Command {
static paths?: string[][];
static usage: Usage;
txt: string;
command: string;
yes: boolean;
wait: boolean;
waitTimeout: string | undefined;
session: string;
execute(): Promise<number | void>;
}
declare enum SessionControl {
Start = "start",
ReStart = "restart",
Continue = "continue"
}
type TxtCommandArgs = Pick<TxtCommand, 'txt' | 'command' | 'yes' | 'wait' | 'waitTimeout'> & {
session: SessionControl;
};
declare const defaultTxtCommandArgs: {
session: SessionControl.Continue;
};
declare function startTxtCommand(args: TxtCommandArgs): Promise<void>;
export { BaseCommand, type FilenameTokens, SessionControl, TxtCommand, type TxtCommandArgs, defaultTxtCommandArgs, getFilenameTokens, printFilenameTokens, renderFilenameTokens, startTxtCommand };