monorepo-shared-assets
Version:
Shared assets used by various packages from nodemonorepo
26 lines (25 loc) • 1.07 kB
TypeScript
export declare namespace Dict {
type StringKeyed<Value> = {
[key: string]: Value | void;
};
type NumberKeyed<Value> = {
[key: number]: Value | void;
};
type StrKey<X> = StringKeyed<X>;
type NumKey<X> = NumberKeyed<X>;
}
export declare namespace Func {
type Comparator<X, Y = X> = (x: X, y: Y) => boolean;
}
export declare namespace PromiseRejectionWrapper {
type Main<Param, Result> = (x: Param) => Result | Promise<Result>;
type RejectionHandler<Param, Result> = (reason: any, param: Param) => Result | Promise<Result>;
type Result<Param, Success, Failure> = Async<Param, Success> | Async<Param, Success | Failure>;
type Async<Param, Result> = (x: Param) => Promise<Result>;
}
export declare namespace ErrorThrowingWrapper {
type Main<Param, Result> = (x: Param) => Result;
type ErrorHandler<Param, Result> = (error: any, param: Param) => Result;
type Result<Param, Success, Failure> = Sync<Param, Success> | Sync<Param, Success | Failure>;
type Sync<Param, Result> = (x: Param) => Result;
}