49 lines
No EOL
4.6 KiB
TypeScript
49 lines
No EOL
4.6 KiB
TypeScript
import { TarOptions, TarOptionsAsyncFile, TarOptionsAsyncNoFile, TarOptionsSyncFile, TarOptionsSyncNoFile, TarOptionsWithAliases, TarOptionsWithAliasesAsync, TarOptionsWithAliasesAsyncFile, TarOptionsWithAliasesAsyncNoFile, TarOptionsWithAliasesFile, TarOptionsWithAliasesNoFile, TarOptionsWithAliasesSync, TarOptionsWithAliasesSyncFile, TarOptionsWithAliasesSyncNoFile } from './options.js';
|
|
export type CB = (er?: Error) => any;
|
|
export type TarCommand<AsyncClass, SyncClass extends {
|
|
sync: true;
|
|
}> = {
|
|
(): AsyncClass;
|
|
(opt: TarOptionsWithAliasesAsyncNoFile): AsyncClass;
|
|
(entries: string[]): AsyncClass;
|
|
(opt: TarOptionsWithAliasesAsyncNoFile, entries: string[]): AsyncClass;
|
|
} & {
|
|
(opt: TarOptionsWithAliasesSyncNoFile): SyncClass;
|
|
(opt: TarOptionsWithAliasesSyncNoFile, entries: string[]): SyncClass;
|
|
} & {
|
|
(opt: TarOptionsWithAliasesAsyncFile): Promise<void>;
|
|
(opt: TarOptionsWithAliasesAsyncFile, entries: string[]): Promise<void>;
|
|
(opt: TarOptionsWithAliasesAsyncFile, cb: CB): Promise<void>;
|
|
(opt: TarOptionsWithAliasesAsyncFile, entries: string[], cb: CB): Promise<void>;
|
|
} & {
|
|
(opt: TarOptionsWithAliasesSyncFile): void;
|
|
(opt: TarOptionsWithAliasesSyncFile, entries: string[]): void;
|
|
} & {
|
|
(opt: TarOptionsWithAliasesSync): typeof opt extends (TarOptionsWithAliasesFile) ? void : typeof opt extends TarOptionsWithAliasesNoFile ? SyncClass : void | SyncClass;
|
|
(opt: TarOptionsWithAliasesSync, entries: string[]): typeof opt extends TarOptionsWithAliasesFile ? void : typeof opt extends TarOptionsWithAliasesNoFile ? SyncClass : void | SyncClass;
|
|
} & {
|
|
(opt: TarOptionsWithAliasesAsync): typeof opt extends (TarOptionsWithAliasesFile) ? Promise<void> : typeof opt extends TarOptionsWithAliasesNoFile ? AsyncClass : Promise<void> | AsyncClass;
|
|
(opt: TarOptionsWithAliasesAsync, entries: string[]): typeof opt extends TarOptionsWithAliasesFile ? Promise<void> : typeof opt extends TarOptionsWithAliasesNoFile ? AsyncClass : Promise<void> | AsyncClass;
|
|
(opt: TarOptionsWithAliasesAsync, cb: CB): Promise<void>;
|
|
(opt: TarOptionsWithAliasesAsync, entries: string[], cb: CB): typeof opt extends TarOptionsWithAliasesFile ? Promise<void> : typeof opt extends TarOptionsWithAliasesNoFile ? never : Promise<void>;
|
|
} & {
|
|
(opt: TarOptionsWithAliasesFile): Promise<void> | void;
|
|
(opt: TarOptionsWithAliasesFile, entries: string[]): typeof opt extends TarOptionsWithAliasesSync ? void : typeof opt extends TarOptionsWithAliasesAsync ? Promise<void> : Promise<void> | void;
|
|
(opt: TarOptionsWithAliasesFile, cb: CB): Promise<void>;
|
|
(opt: TarOptionsWithAliasesFile, entries: string[], cb: CB): typeof opt extends TarOptionsWithAliasesSync ? never : typeof opt extends TarOptionsWithAliasesAsync ? Promise<void> : Promise<void>;
|
|
} & {
|
|
(opt: TarOptionsWithAliasesNoFile): typeof opt extends (TarOptionsWithAliasesSync) ? SyncClass : typeof opt extends TarOptionsWithAliasesAsync ? AsyncClass : SyncClass | AsyncClass;
|
|
(opt: TarOptionsWithAliasesNoFile, entries: string[]): typeof opt extends TarOptionsWithAliasesSync ? SyncClass : typeof opt extends TarOptionsWithAliasesAsync ? AsyncClass : SyncClass | AsyncClass;
|
|
} & {
|
|
(opt: TarOptionsWithAliases): typeof opt extends (TarOptionsWithAliasesFile) ? typeof opt extends TarOptionsWithAliasesSync ? void : typeof opt extends TarOptionsWithAliasesAsync ? Promise<void> : void | Promise<void> : typeof opt extends TarOptionsWithAliasesNoFile ? typeof opt extends TarOptionsWithAliasesSync ? SyncClass : typeof opt extends TarOptionsWithAliasesAsync ? AsyncClass : SyncClass | AsyncClass : typeof opt extends TarOptionsWithAliasesSync ? SyncClass | void : typeof opt extends TarOptionsWithAliasesAsync ? AsyncClass | Promise<void> : SyncClass | void | AsyncClass | Promise<void>;
|
|
} & {
|
|
syncFile: (opt: TarOptionsSyncFile, entries: string[]) => void;
|
|
asyncFile: (opt: TarOptionsAsyncFile, entries: string[], cb?: CB) => Promise<void>;
|
|
syncNoFile: (opt: TarOptionsSyncNoFile, entries: string[]) => SyncClass;
|
|
asyncNoFile: (opt: TarOptionsAsyncNoFile, entries: string[]) => AsyncClass;
|
|
validate?: (opt: TarOptions, entries?: string[]) => void;
|
|
};
|
|
export declare const makeCommand: <AsyncClass, SyncClass extends {
|
|
sync: true;
|
|
}>(syncFile: (opt: TarOptionsSyncFile, entries: string[]) => void, asyncFile: (opt: TarOptionsAsyncFile, entries: string[], cb?: CB) => Promise<void>, syncNoFile: (opt: TarOptionsSyncNoFile, entries: string[]) => SyncClass, asyncNoFile: (opt: TarOptionsAsyncNoFile, entries: string[]) => AsyncClass, validate?: (opt: TarOptions, entries?: string[]) => void) => TarCommand<AsyncClass, SyncClass>;
|
|
//# sourceMappingURL=make-command.d.ts.map
|