active-table
Version:
Framework agnostic table component for editable data experience
15 lines • 783 B
TypeScript
export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
export type SetRequired<T, K extends keyof T> = T & {
[P in K]-?: T[P];
};
export type PropertiesOfType<T, Value> = {
[P in keyof T as T[P] extends Value | undefined ? P : never]: T[P];
};
type AssignNever<T, K> = K & {
[B in Exclude<keyof T, keyof K>]?: never;
};
export type BuildUniqueInterfaces<CompleteInterface, Interfaces> = Interfaces extends object ? AssignNever<CompleteInterface, Interfaces> : never;
type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
export type InterfacesUnion<Interfaces> = BuildUniqueInterfaces<UnionToIntersection<Interfaces>, Interfaces>;
export {};
//# sourceMappingURL=utilityTypes.d.ts.map