use-merge-state
Version:
A useState variant hook that merges updates.
19 lines (18 loc) • 554 B
TypeScript
import { PlainObject, Spread } from "../types";
interface MergeArrays {
<A, B>(a: A[], b: B[]): (A | B)[];
}
interface MergePlainObjects {
<A extends PlainObject, B extends PlainObject>(a: A, b: B): Spread<A, B>;
}
interface MergeMaps {
<A, B, C, D>(a: Map<A, C>, b: Map<B, D>): Map<A | B, C | D>;
}
interface MergeSets {
<A, B>(a: Set<A>, b: Set<B>): Set<A | B>;
}
interface Merge extends MergeArrays, MergePlainObjects, MergeMaps, MergeSets {
<A, B>(a: A, b: B): B;
}
export declare const merge: Merge;
export {};