zx-extra
Version:
zx with some useful extras
25 lines (24 loc) • 1.29 kB
TypeScript
import { $ as _$, ProcessPromise, type Options } from 'zx';
export * from 'zx';
export * from './goods.ts';
type Callback = (...args: any[]) => any;
export declare function ctx<C extends Callback>(cb: C, ref?: $Extra): ReturnType<C>;
type Zx = typeof _$;
type Extra = {
trim?: boolean;
raw: Zx;
silent: Zx;
o: Zx;
opt: Zx;
};
type $Extra = Zx & Extra;
export declare const $: $Extra;
type DropFirst<T extends unknown[]> = T extends [any, ...infer U] ? U : never;
type HookCallback = (this: HookProcess, p: HookProcess, ...args: any[]) => any;
type HookOptions = Partial<Record<any, any> & Options>;
interface HookProcess extends ProcessPromise {
[k: string | number | symbol]: any;
}
export declare function createHook<Callback extends HookCallback, O extends HookOptions>(opts: O, name: string, cb: Callback, configurable: false): (pieces: TemplateStringsArray | HookOptions, ...args: any) => ReturnType<Callback>;
export declare function createHook<Callback extends HookCallback, O extends HookOptions>(opts: O, name: string, cb: Callback, configurable: true): (...args: DropFirst<Parameters<Callback>>) => (pieces: TemplateStringsArray | HookOptions, ...args: any) => ReturnType<Callback>;
export declare const ver: (target: string, range?: string) => string;