@ionre/utils
Version:
utility functions
38 lines (37 loc) • 1.24 kB
TypeScript
export declare let adjust: <T>(f: (val: T) => T) => (prop: string) => (obj: {
[x: string]: T;
}) => {
[x: string]: T;
};
export declare let assign: <T>(diff: {
[K in keyof T]?: T[K];
}) => (object: T) => T;
export declare let assoc: <P extends keyof T, T>(key: P) => (val: T[P]) => (obj: T) => T;
export declare let deepMerge: (objects: {}[]) => {};
export declare let equal: (obj1: {
[s: string]: any;
}) => (obj2: {
[s: string]: any;
}) => boolean;
export declare let evolve: <A>(fobj: {
[K in keyof A]?: ((a: A[K]) => A[K]);
}) => (object: A) => A;
export declare let keys: (obj: object) => string[];
export declare let pairs: <T>(obj: {
[s: string]: T;
}) => [string, T][];
export declare let prop: <P extends keyof T, T>(key: P) => (obj: T) => T[P];
export declare let remove: <P extends keyof T, T>(key: P) => (obj: T) => Partial<T>;
export declare let values: <T>(obj: {
[s: string]: T;
} | ArrayLike<T>) => T[];
export declare let method: <K extends keyof {
[k: string]: (a: A) => B;
}, A, B>(key: K) => (arg: A) => (obj: {
[k: string]: (a: A) => B;
}) => B;
export declare let method0: <K extends keyof {
[k: string]: () => A;
}, A>(key: K) => (obj: {
[k: string]: () => A;
}) => A;