0.1.13 #14
10
src/Types/UnionToTuple.ts
Normal file
10
src/Types/UnionToTuple.ts
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
import type { UnionToIntersection } from "type-fest"
|
||||||
|
|
||||||
|
|
||||||
|
type LastOf<T> = UnionToIntersection<T extends any ? (x: T) => void : never> extends (x: infer Last) => void
|
||||||
|
? Last
|
||||||
|
: never
|
||||||
|
|
||||||
|
export type UnionToTuple<T, Last = LastOf<T>> = [T] extends [never]
|
||||||
|
? []
|
||||||
|
: [...UnionToTuple<Exclude<T, Last>>, Last]
|
||||||
@@ -3,3 +3,4 @@ export * from "./Extend"
|
|||||||
export * from "./Merge"
|
export * from "./Merge"
|
||||||
export * as PrismaJson from "./PrismaJson"
|
export * as PrismaJson from "./PrismaJson"
|
||||||
export * from "./StaticType"
|
export * from "./StaticType"
|
||||||
|
export * from "./UnionToTuple"
|
||||||
|
|||||||
Reference in New Issue
Block a user