Skip to content

Commit f456ba2

Browse files
authoredApr 2, 2024··
use const type parameter for Config.withDefault (#2460)
1 parent 8206caf commit f456ba2

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed
 

‎.changeset/thirty-rules-remember.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"effect": patch
3+
---
4+
5+
use const type parameter for Config.withDefault
6+
7+
Which ensures that the fallback value type is not widened for literals.

‎packages/effect/src/Config.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -437,8 +437,8 @@ export const validate: {
437437
* @category utils
438438
*/
439439
export const withDefault: {
440-
<A2>(def: A2): <A>(self: Config<A>) => Config<A2 | A>
441-
<A, A2>(self: Config<A>, def: A2): Config<A | A2>
440+
<const A2>(def: A2): <A>(self: Config<A>) => Config<A2 | A>
441+
<A, const A2>(self: Config<A>, def: A2): Config<A | A2>
442442
} = internal.withDefault
443443

444444
/**

‎packages/effect/src/internal/config.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -582,8 +582,8 @@ export const validate = dual<
582582

583583
/** @internal */
584584
export const withDefault = dual<
585-
<A2>(def: A2) => <A>(self: Config.Config<A>) => Config.Config<A | A2>,
586-
<A, A2>(self: Config.Config<A>, def: A2) => Config.Config<A | A2>
585+
<const A2>(def: A2) => <A>(self: Config.Config<A>) => Config.Config<A | A2>,
586+
<A, const A2>(self: Config.Config<A>, def: A2) => Config.Config<A | A2>
587587
>(2, (self, def) =>
588588
orElseIf(self, {
589589
orElse: () => succeed(def),

0 commit comments

Comments
 (0)
Please sign in to comment.