We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 77aa01f commit 827bd5aCopy full SHA for 827bd5a
.changeset/old-rabbits-divide.md
@@ -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
@@ -1826,7 +1826,13 @@ export const kvs = <A>(options: {
1826
return writable(
1827
(get) => {
1828
get.mount(setAtom)
1829
- return Result.getOrElse(get(resultAtom), options.defaultValue)
+ 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
1836
},
1837
(ctx, value: A) => {
1838
ctx.set(setAtom, value as any)
0 commit comments