UNPKG

zx-extra

Version:

zx with some useful extras

25 lines (24 loc) 1.29 kB
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;