@bemedev/types
Version:
Type definitions for Bemedev projects
19 lines • 1.16 kB
TypeScript
import type { AnyArray, Fn } from './types/types';
type PartialCall_F = <T extends AnyArray = AnyArray, U extends AnyArray = AnyArray, R = any>(f: Fn<[...T, ...U], R>, ...headArgs: T) => (...tailArgs: U) => R;
export declare const partialCall: PartialCall_F;
export declare function isPlainObject(value: any): value is object;
export declare const _unknown: <T>(value?: unknown) => T;
export type FnBasic<Main extends Fn, Tr extends object> = Tr & Main;
export declare const castFn: <T>() => <const Tr extends object = object>(extensions?: Tr) => FnBasic<(arg: T) => T, Tr & {
readonly forceCast: (arg: unknown) => T;
readonly dynamic: <U extends T>(arg: U) => U;
}>;
export declare const typeFn: <T = any>() => <Tr extends object = object>(extensions?: Tr) => FnBasic<(_?: T) => T, Tr & {
readonly forceCast: (_?: unknown) => T;
readonly dynamic: <U extends T>(_?: U) => U;
readonly is: <U>(_?: U) => U extends T ? true : false;
readonly type: T;
}>;
export declare const expandFn: <Main extends Fn, const Tr extends object = object>(main: Main, extensions?: Tr) => FnBasic<Main, Tr>;
export {};
//# sourceMappingURL=utils.d.ts.map