osbtools
Version:
A set of tools for working with osu! storyboards
9 lines (7 loc) • 358 B
text/typescript
type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
type ValueUnion<T> = T[keyof T];
type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
type ConvertKeysToValue<T, V> = {
[key in keyof T]: V;
};
export type { UnionToIntersection, Expand, ValueUnion, ConvertKeysToValue };