Skip to content

Commit 827bd5a

Browse files
committed
update kvs when default value is generated
1 parent 77aa01f commit 827bd5a

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

.changeset/old-rabbits-divide.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@effect-atom/atom": patch
3+
---
4+
5+
update kvs when default value is generated

packages/atom/src/Atom.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1826,7 +1826,13 @@ export const kvs = <A>(options: {
18261826
return writable(
18271827
(get) => {
18281828
get.mount(setAtom)
1829-
return Result.getOrElse(get(resultAtom), options.defaultValue)
1829+
const value = Result.value(get(resultAtom))
1830+
if (Option.isSome(value)) {
1831+
return value.value
1832+
}
1833+
const defaultValue = options.defaultValue()
1834+
get.set(setAtom, defaultValue)
1835+
return defaultValue
18301836
},
18311837
(ctx, value: A) => {
18321838
ctx.set(setAtom, value as any)

0 commit comments

Comments
 (0)