Skip to content

Commit ed5c06a

Browse files
committed
Improve types
1 parent 30741fc commit ed5c06a

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

src/main.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,6 @@ export interface Switch<AddedEffects extends Effect = never> {
1616
) => AddedEffects | GetNewEffect<NewEffect>
1717
}
1818

19-
type GetNewEffect<NewEffect extends Effect> = NewEffect extends EffectFunction
20-
? ReturnType<NewEffect>
21-
: NewEffect
22-
23-
type EffectFunction = (value: unknown) => unknown
24-
2519
// `switchFunctional(value)[.case(...)].case(conditions, effect)`
2620
const addCase =
2721
<AddedEffects extends Effect>({ resolved, value }: Context) =>
@@ -89,7 +83,7 @@ const isObject = (value: Value): value is { [name: PropertyKey]: unknown } =>
8983
typeof value === 'object' && value !== null
9084

9185
const applyEffect = (value: Value, effect: Effect): unknown =>
92-
typeof effect === 'function' ? (effect as FunctionEffect)(value) : effect
86+
typeof effect === 'function' ? (effect as EffectFunction)(value) : effect
9387

9488
/**
9589
*
@@ -126,4 +120,8 @@ export type Condition =
126120

127121
type Effect = unknown
128122

129-
type FunctionEffect = (value: unknown) => unknown
123+
type GetNewEffect<NewEffect extends Effect> = NewEffect extends EffectFunction
124+
? ReturnType<NewEffect>
125+
: NewEffect
126+
127+
type EffectFunction = (value: unknown) => unknown

0 commit comments

Comments
 (0)