Skip to content

Commit 7c2efbc

Browse files
committed
feat(type-helpers): ✨ Add ExtractUnion type utility for better union extraction from runtime enums
1 parent 5c0cc19 commit 7c2efbc

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

packages/toolkit-type-helpers/src/type-utils.ts

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ export type CallbackFn<in TParams, out TResult = void> = (...params: TParams[])
1212

1313
export type SelectorFn<TStore, TResult> = (state: TStore) => TResult;
1414

15+
export type ExtractUnion<TEnum extends Record<string, unknown> | unknown[]> = TEnum extends unknown[]
16+
? TEnum[number]
17+
: TEnum[keyof TEnum];
18+
1519
export type WriteableLevel = "deep" | "shallow";
1620

1721
export type Writeable<TObject, TType extends WriteableLevel = "shallow"> = {

0 commit comments

Comments
 (0)