Files
memecoin-botV2/.pnpm-store/v10/files/aa/f1fd7446f068cd24fa6fb4a985e7e8333ec5032754e4192ddb32a194f2469ffd395354947ef08aed6202cb809c944af7a1b93f0af16feadfdb0c854df871b0

18 lines
604 B
Plaintext

export namespace enumUtil {
type UnionToIntersectionFn<T> = (T extends unknown ? (k: () => T) => void : never) extends (
k: infer Intersection
) => void
? Intersection
: never;
type GetUnionLast<T> = UnionToIntersectionFn<T> extends () => infer Last ? Last : never;
type UnionToTuple<T, Tuple extends unknown[] = []> = [T] extends [never]
? Tuple
: UnionToTuple<Exclude<T, GetUnionLast<T>>, [GetUnionLast<T>, ...Tuple]>;
type CastToStringTuple<T> = T extends [string, ...string[]] ? T : never;
export type UnionToTupleString<T> = CastToStringTuple<UnionToTuple<T>>;
}