@effect-atom/atom 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,36 +5,47 @@ import type { RpcClientError } from "@effect/rpc/RpcClientError";
5
5
  import type * as RpcGroup from "@effect/rpc/RpcGroup";
6
6
  import type { RequestId } from "@effect/rpc/RpcMessage";
7
7
  import * as RpcSchema from "@effect/rpc/RpcSchema";
8
+ import * as Context from "effect/Context";
8
9
  import * as Duration from "effect/Duration";
10
+ import * as Layer from "effect/Layer";
9
11
  import type { ReadonlyRecord } from "effect/Record";
12
+ import type { NoInfer } from "effect/Types";
10
13
  import * as Atom from "./Atom.js";
11
14
  import type * as Result from "./Result.js";
12
15
  /**
13
16
  * @since 1.0.0
14
17
  * @category Models
15
18
  */
16
- export interface AtomRpcClient<Rpcs extends Rpc.Any, E> {
17
- readonly client: Atom.Atom<Result.Result<RpcClient.RpcClient.Flat<Rpcs, RpcClientError>, E>>;
19
+ export interface AtomRpcClient<Self, Id extends string, Rpcs extends Rpc.Any, E> extends Context.Tag<Self, RpcClient.RpcClient.Flat<Rpcs, RpcClientError>> {
20
+ new (_: never): Context.TagClassShape<Id, RpcClient.RpcClient.Flat<Rpcs, RpcClientError>>;
21
+ readonly layer: Layer.Layer<Self, E>;
22
+ readonly runtime: Atom.AtomRuntime<Self, E>;
18
23
  readonly mutation: <Tag extends Rpc.Tag<Rpcs>>(arg: Tag) => Rpc.ExtractTag<Rpcs, Tag> extends Rpc.Rpc<infer _Tag, infer _Payload, infer _Success, infer _Error, infer _Middleware> ? [_Success] extends [RpcSchema.Stream<infer _A, infer _E>] ? never : Atom.AtomResultFn<{
19
24
  readonly payload: Rpc.PayloadConstructor<Rpc.ExtractTag<Rpcs, Tag>>;
20
- readonly reactivityKeys?: ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined;
25
+ readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined;
21
26
  readonly headers?: Headers.Input | undefined;
22
27
  }, _Success["Type"], _Error["Type"] | E | _Middleware["failure"]["Type"]> : never;
23
28
  readonly query: <Tag extends Rpc.Tag<Rpcs>>(tag: Tag, payload: Rpc.PayloadConstructor<Rpc.ExtractTag<Rpcs, Tag>>, options?: {
24
29
  readonly headers?: Headers.Input | undefined;
25
- readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined;
30
+ readonly reactivityKeys?: ReadonlyArray<unknown> | undefined;
26
31
  readonly timeToLive?: Duration.DurationInput | undefined;
27
32
  }) => Rpc.ExtractTag<Rpcs, Tag> extends Rpc.Rpc<infer _Tag, infer _Payload, infer _Success, infer _Error, infer _Middleware> ? [_Success] extends [RpcSchema.Stream<infer _A, infer _E>] ? Atom.Writable<Atom.PullResult<_A["Type"], _E["Type"] | _Error["Type"] | E | _Middleware["failure"]["Type"]>, void> : Atom.Atom<Result.Result<_Success["Type"], _Error["Type"] | E | _Middleware["failure"]["Type"]>> : never;
28
33
  }
34
+ declare global {
35
+ interface ErrorConstructor {
36
+ stackTraceLimit: number;
37
+ }
38
+ }
29
39
  /**
30
40
  * @since 1.0.0
31
41
  * @category Constructors
32
42
  */
33
- export declare const make: <Rpcs extends Rpc.Any, ER>(group: RpcGroup.RpcGroup<Rpcs>, options: {
34
- readonly runtime: Atom.AtomRuntime<RpcClient.Protocol | Rpc.MiddlewareClient<Rpcs> | Rpc.Context<Rpcs>, ER>;
43
+ export declare const Tag: <Self>() => <const Id extends string, Rpcs extends Rpc.Any, ER>(id: Id, options: {
44
+ readonly group: RpcGroup.RpcGroup<Rpcs>;
45
+ readonly protocol: Layer.Layer<RpcClient.Protocol | Rpc.MiddlewareClient<NoInfer<Rpcs>> | Rpc.Context<NoInfer<Rpcs>>, ER>;
35
46
  readonly spanPrefix?: string | undefined;
36
47
  readonly spanAttributes?: Record<string, unknown> | undefined;
37
48
  readonly generateRequestId?: (() => RequestId) | undefined;
38
49
  readonly disableTracing?: boolean | undefined;
39
- }) => AtomRpcClient<Rpcs, ER>;
50
+ }) => AtomRpcClient<Self, Id, Rpcs, ER>;
40
51
  //# sourceMappingURL=AtomRpc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AtomRpc.d.ts","sourceRoot":"","sources":["../../src/AtomRpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AtomRpc.d.ts","sourceRoot":"","sources":["../../src/AtomRpc.ts"],"names":[],"mappings":"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"}
package/dist/esm/Atom.js CHANGED
@@ -23,6 +23,7 @@ import * as Layer from "effect/Layer";
23
23
  import * as MutableHashMap from "effect/MutableHashMap";
24
24
  import * as Option from "effect/Option";
25
25
  import { pipeArguments } from "effect/Pipeable";
26
+ import { hasProperty } from "effect/Predicate";
26
27
  import * as Runtime from "effect/Runtime";
27
28
  import * as Schema from "effect/Schema";
28
29
  import * as Scope from "effect/Scope";
@@ -39,6 +40,11 @@ import * as Result from "./Result.js";
39
40
  * @category type ids
40
41
  */
41
42
  export const TypeId = "~effect-atom/atom/Atom";
43
+ /**
44
+ * @since 1.0.0
45
+ * @category Guards
46
+ */
47
+ export const isAtom = u => hasProperty(u, TypeId);
42
48
  /**
43
49
  * @since 1.0.0
44
50
  * @category type ids
@@ -739,8 +745,10 @@ export const optimistic = self => {
739
745
  const writeAtom = state([counter, undefined]);
740
746
  return writable(get => {
741
747
  let lastValue = get.once(self);
748
+ let needsRefresh = false;
742
749
  get.subscribe(self, value => {
743
750
  lastValue = value;
751
+ needsRefresh = false;
744
752
  if (!Result.isResult(value)) {
745
753
  return get.setSelf(value);
746
754
  }
@@ -786,11 +794,16 @@ export const optimistic = self => {
786
794
  cancels.delete(cancel);
787
795
  cancel();
788
796
  }
797
+ if (!needsRefresh && !Result.isFailure(result)) {
798
+ needsRefresh = true;
799
+ }
789
800
  if (transitions.size === 0) {
790
- if (Result.isFailure(result)) {
801
+ if (needsRefresh) {
802
+ needsRefresh = false;
803
+ get.refresh(self);
804
+ } else {
791
805
  get.setSelf(lastValue);
792
806
  }
793
- get.refresh(self);
794
807
  }
795
808
  }, {
796
809
  immediate: true
@@ -1 +1 @@
1
- {"version":3,"file":"Atom.js","names":["Reactivity","KeyValueStore","Arr","NoSuchElementException","Cause","Channel","Chunk","EffectContext","Duration","Effect","Either","Exit","Fiber","FiberRef","constant","constVoid","dual","pipe","globalValue","Inspectable","Layer","MutableHashMap","Option","pipeArguments","Runtime","Schema","Scope","Stream","Subscribable","SubscriptionRef","internalRegistry","runCallbackSync","Registry","AtomRegistry","Result","TypeId","WritableTypeId","AtomProto","arguments","toJSON","_id","keepAlive","lazy","label","toString","format","NodeInspectSymbol","RuntimeProto","atom","arg","options","read","makeRead","readable","get","previous","self","runtimeResult","_tag","replacePrevious","value","fn","length","makeFnRuntime","pull","pullSignal","state","pullAtom","makeEffect","makeStreamPullEffect","initial","makeStreamPull","subscriptionRef","ref","makeSubRef","SubscriptionRefTypeId","runtime","getOrThrow","readSubscribable","subscribable","makeSubscribable","isSubscribable","write","argAtom","makeResultFn","reactivityKeys","a","effect","isEffect","mutation","ensuring","invalidate","writable","WritableProto","isWritable","refresh","Object","create","constSetSelf","ctx","setSelf","make","readOrAtom","isDataType","u","providedRuntime","EffectTypeId","StreamTypeId","stream","initialValue","_get","undefined","success","uninterruptible","defaultRuntime","scope","runSync","addFinalizer","runFork","close","void","contextMap","Map","context","unsafeMap","set","key","registry","scopedRuntime","unsafeMake","fiberRefs","runtimeFlags","syncResult","isAsync","cancel","exit","fromExitWithPrevious","waitingFrom","waiting","globalLayer","layer","factory","layerAtom","provideMerge","build","flatMap","buildWithMemoMap","memoMap","provide","addGlobalLayer","reactivityAtom","scopeWith","map","withReactivity","keys","transform","reactivity","unsafeRegister","subscribe","once","defaultMemoMap","makeMemoMap","makeStream","writer","readWithCause","onInput","input","suspend","last","onFailure","cause","sync","failureWithPrevious","onDone","_done","match","onNone","failWithPrevious","onSome","registryRuntime","add","runDrain","pipeTo","toChannel","sub","changes","runForEach","runCallback","refAtom","isSuccess","subAtom","fnSync","args","makeFnSync","f","hasInitialValue","isFn","counter","none","some","batch","refreshSelf","Reset","Symbol","for","makeFn","toPull","pullChunk","semaphore","unsafeMakeSemaphore","fiber","getCurrentFiber","currentContext","acc","empty","locally","onLeft","items","toReadonlyArray","isNonEmptyArray","fail","succeed","done","onRight","chunk","disableAccumulation","appendAll","arr","pullWithSemaphore","withPermits","getFiberRefs","cancels","Set","delete","result","pending","size","_","family","WeakRef","FinalizationRegistry","atoms","atomEntry","newAtom","remove","flatMapNullable","deref","register","withFallback","fallback","assign","getPrototypeOf","autoDispose","setLazy","withLabel","name","Error","stack","split","setIdleTTL","duration","idleTTL","toMillis","mapResult","debounce","millis","timeout","update","clearTimeout","val","setTimeout","optimistic","writeAtom","lastValue","isResult","current","getOrUndefined","isInitial","timestamp","transitions","has","isFailure","immediate","clear","optimisticFn","transition","reducer","onExit","suspendOnWaiting","fromExit","as","windowFocusSignal","count","document","visibilityState","window","addEventListener","removeEventListener","makeRefreshOnSignal","signal","refreshOnWindowFocus","kvs","setAtom","fnUntraced","store","forSchema","schema","resultAtom","flatten","mount","getOrElse","defaultValue","searchParam","decode","decodeEither","encode","encodeEither","handleUpdate","searchParamState","updating","searchParams","URLSearchParams","location","search","newValue","getRight","encoded","v","updates","zipRight","updateSearchParams","entries","newUrl","pathname","history","pushState","toStream","unwrap","toStreamResult","modify","getResult","SerializableTypeId","isSerializable","serializable","encodeSync","decodeSync","ServerValueTypeId","withServerValue","withServerValueInitial","getServerValue"],"sources":["../../src/Atom.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Atom.js","names":["Reactivity","KeyValueStore","Arr","NoSuchElementException","Cause","Channel","Chunk","EffectContext","Duration","Effect","Either","Exit","Fiber","FiberRef","constant","constVoid","dual","pipe","globalValue","Inspectable","Layer","MutableHashMap","Option","pipeArguments","hasProperty","Runtime","Schema","Scope","Stream","Subscribable","SubscriptionRef","internalRegistry","runCallbackSync","Registry","AtomRegistry","Result","TypeId","isAtom","u","WritableTypeId","AtomProto","arguments","toJSON","_id","keepAlive","lazy","label","toString","format","NodeInspectSymbol","RuntimeProto","atom","arg","options","read","makeRead","readable","get","previous","self","runtimeResult","_tag","replacePrevious","value","fn","length","makeFnRuntime","pull","pullSignal","state","pullAtom","makeEffect","makeStreamPullEffect","initial","makeStreamPull","subscriptionRef","ref","makeSubRef","SubscriptionRefTypeId","runtime","getOrThrow","readSubscribable","subscribable","makeSubscribable","isSubscribable","write","argAtom","makeResultFn","reactivityKeys","a","effect","isEffect","mutation","ensuring","invalidate","writable","WritableProto","isWritable","refresh","Object","create","constSetSelf","ctx","setSelf","make","readOrAtom","isDataType","providedRuntime","EffectTypeId","StreamTypeId","stream","initialValue","_get","undefined","success","uninterruptible","defaultRuntime","scope","runSync","addFinalizer","runFork","close","void","contextMap","Map","context","unsafeMap","set","key","registry","scopedRuntime","unsafeMake","fiberRefs","runtimeFlags","syncResult","isAsync","cancel","exit","fromExitWithPrevious","waitingFrom","waiting","globalLayer","layer","factory","layerAtom","provideMerge","build","flatMap","buildWithMemoMap","memoMap","provide","addGlobalLayer","reactivityAtom","scopeWith","map","withReactivity","keys","transform","reactivity","unsafeRegister","subscribe","once","defaultMemoMap","makeMemoMap","makeStream","writer","readWithCause","onInput","input","suspend","last","onFailure","cause","sync","failureWithPrevious","onDone","_done","match","onNone","failWithPrevious","onSome","registryRuntime","add","runDrain","pipeTo","toChannel","sub","changes","runForEach","runCallback","refAtom","isSuccess","subAtom","fnSync","args","makeFnSync","f","hasInitialValue","isFn","counter","none","some","batch","refreshSelf","Reset","Symbol","for","makeFn","toPull","pullChunk","semaphore","unsafeMakeSemaphore","fiber","getCurrentFiber","currentContext","acc","empty","locally","onLeft","items","toReadonlyArray","isNonEmptyArray","fail","succeed","done","onRight","chunk","disableAccumulation","appendAll","arr","pullWithSemaphore","withPermits","getFiberRefs","cancels","Set","delete","result","pending","size","_","family","WeakRef","FinalizationRegistry","atoms","atomEntry","newAtom","remove","flatMapNullable","deref","register","withFallback","fallback","assign","getPrototypeOf","autoDispose","setLazy","withLabel","name","Error","stack","split","setIdleTTL","duration","idleTTL","toMillis","mapResult","debounce","millis","timeout","update","clearTimeout","val","setTimeout","optimistic","writeAtom","lastValue","needsRefresh","isResult","current","getOrUndefined","isInitial","timestamp","transitions","has","isFailure","immediate","clear","optimisticFn","transition","reducer","onExit","suspendOnWaiting","fromExit","as","windowFocusSignal","count","document","visibilityState","window","addEventListener","removeEventListener","makeRefreshOnSignal","signal","refreshOnWindowFocus","kvs","setAtom","fnUntraced","store","forSchema","schema","resultAtom","flatten","mount","getOrElse","defaultValue","searchParam","decode","decodeEither","encode","encodeEither","handleUpdate","searchParamState","updating","searchParams","URLSearchParams","location","search","newValue","getRight","encoded","v","updates","zipRight","updateSearchParams","entries","newUrl","pathname","history","pushState","toStream","unwrap","toStreamResult","modify","getResult","SerializableTypeId","isSerializable","serializable","encodeSync","decodeSync","ServerValueTypeId","withServerValue","withServerValueInitial","getServerValue"],"sources":["../../src/Atom.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -5,30 +5,34 @@ import * as Reactivity from "@effect/experimental/Reactivity";
5
5
  import * as Headers from "@effect/platform/Headers";
6
6
  import * as RpcClient from "@effect/rpc/RpcClient";
7
7
  import * as RpcSchema from "@effect/rpc/RpcSchema";
8
+ import * as Context from "effect/Context";
8
9
  import * as Data from "effect/Data";
9
10
  import * as Duration from "effect/Duration";
10
11
  import * as Effect from "effect/Effect";
11
12
  import * as Equal from "effect/Equal";
12
13
  import { pipe } from "effect/Function";
13
14
  import * as Hash from "effect/Hash";
15
+ import * as Layer from "effect/Layer";
14
16
  import * as Stream from "effect/Stream";
15
17
  import * as Atom from "./Atom.js";
16
18
  /**
17
19
  * @since 1.0.0
18
20
  * @category Constructors
19
21
  */
20
- export const make = (group, options) => {
21
- const client = options.runtime.atom(RpcClient.make(group, {
22
+ export const Tag = () => (id, options) => {
23
+ const self = Context.Tag(id)();
24
+ self.layer = Layer.scoped(self, RpcClient.make(options.group, {
22
25
  ...options,
23
26
  flatten: true
24
- }));
25
- const mutation = Atom.family(tag => options.runtime.fn()(Effect.fnUntraced(function* ({
27
+ })).pipe(Layer.provide(options.protocol));
28
+ self.runtime = Atom.runtime(self.layer);
29
+ self.mutation = Atom.family(tag => self.runtime.fn()(Effect.fnUntraced(function* ({
26
30
  headers,
27
31
  payload,
28
32
  reactivityKeys
29
- }, get) {
30
- const c = yield* get.result(client);
31
- const effect = c(tag, payload, {
33
+ }) {
34
+ const client = yield* self;
35
+ const effect = client(tag, payload, {
32
36
  headers
33
37
  });
34
38
  return yield* reactivityKeys ? Reactivity.mutation(effect, reactivityKeys) : effect;
@@ -40,29 +44,25 @@ export const make = (group, options) => {
40
44
  tag,
41
45
  timeToLive
42
46
  }) => {
43
- const rpc = group.requests.get(tag);
44
- let atom = RpcSchema.isStreamSchema(rpc.successSchema) ? Atom.pull(get => get.result(client).pipe(Effect.map(client => client(tag, payload, {
47
+ const rpc = options.group.requests.get(tag);
48
+ let atom = RpcSchema.isStreamSchema(rpc.successSchema) ? self.runtime.pull(self.pipe(Effect.map(client => client(tag, payload, {
45
49
  headers
46
- })), Stream.unwrap)) : Atom.make(get => get.result(client).pipe(Effect.flatMap(client => client(tag, payload, {
50
+ })), Stream.unwrap)) : self.runtime.atom(Effect.flatMap(self, client => client(tag, payload, {
47
51
  headers
48
- }))));
52
+ })));
49
53
  if (timeToLive) {
50
54
  atom = Duration.isFinite(timeToLive) ? Atom.setIdleTTL(atom, timeToLive) : Atom.keepAlive(atom);
51
55
  }
52
- return reactivityKeys ? options.runtime.factory.withReactivity(reactivityKeys)(atom) : atom;
56
+ return reactivityKeys ? self.runtime.factory.withReactivity(reactivityKeys)(atom) : atom;
53
57
  });
54
- const query = (tag, payload, options) => queryFamily(new QueryKey({
58
+ self.query = (tag, payload, options) => queryFamily(new QueryKey({
55
59
  tag,
56
60
  payload: Data.struct(payload),
57
61
  headers: options?.headers ? Data.unsafeStruct(Headers.fromInput(options.headers)) : undefined,
58
62
  reactivityKeys: options?.reactivityKeys ? Data.array(options.reactivityKeys) : undefined,
59
63
  timeToLive: options?.timeToLive ? Duration.decode(options.timeToLive) : undefined
60
64
  }));
61
- return {
62
- client,
63
- mutation,
64
- query
65
- };
65
+ return self;
66
66
  };
67
67
  class QueryKey extends Data.Class {
68
68
  [Equal.symbol](that) {
@@ -1 +1 @@
1
- {"version":3,"file":"AtomRpc.js","names":["Reactivity","Headers","RpcClient","RpcSchema","Data","Duration","Effect","Equal","pipe","Hash","Stream","Atom","make","group","options","client","runtime","atom","flatten","mutation","family","tag","fn","fnUntraced","headers","payload","reactivityKeys","get","c","result","effect","queryFamily","timeToLive","rpc","requests","isStreamSchema","successSchema","pull","map","unwrap","flatMap","isFinite","setIdleTTL","keepAlive","factory","withReactivity","query","QueryKey","struct","unsafeStruct","fromInput","undefined","array","decode","Class","symbol","that","equals","string","combine","hash","cached"],"sources":["../../src/AtomRpc.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AtomRpc.js","names":["Reactivity","Headers","RpcClient","RpcSchema","Context","Data","Duration","Effect","Equal","pipe","Hash","Layer","Stream","Atom","Tag","id","options","self","layer","scoped","make","group","flatten","provide","protocol","runtime","mutation","family","tag","fn","fnUntraced","headers","payload","reactivityKeys","client","effect","queryFamily","timeToLive","rpc","requests","get","atom","isStreamSchema","successSchema","pull","map","unwrap","flatMap","isFinite","setIdleTTL","keepAlive","factory","withReactivity","query","QueryKey","struct","unsafeStruct","fromInput","undefined","array","decode","Class","symbol","that","equals","string","combine","hash","cached"],"sources":["../../src/AtomRpc.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-atom/atom",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "Reactive toolkit for Effect",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,7 +11,7 @@
11
11
  "author": "Effect contributors",
12
12
  "homepage": "https://github.com/tim-smart/effect-atom",
13
13
  "peerDependencies": {
14
- "@effect/experimental": "^0.54.3",
14
+ "@effect/experimental": "^0.54.5",
15
15
  "@effect/platform": "^0.90.0",
16
16
  "@effect/rpc": "^0.68.3",
17
17
  "effect": "^3.17.0"
package/src/Atom.ts CHANGED
@@ -24,6 +24,7 @@ import * as Layer from "effect/Layer"
24
24
  import * as MutableHashMap from "effect/MutableHashMap"
25
25
  import * as Option from "effect/Option"
26
26
  import { type Pipeable, pipeArguments } from "effect/Pipeable"
27
+ import { hasProperty } from "effect/Predicate"
27
28
  import type { ReadonlyRecord } from "effect/Record"
28
29
  import * as Runtime from "effect/Runtime"
29
30
  import * as Schema from "effect/Schema"
@@ -64,6 +65,12 @@ export interface Atom<A> extends Pipeable, Inspectable.Inspectable {
64
65
  readonly idleTTL?: number
65
66
  }
66
67
 
68
+ /**
69
+ * @since 1.0.0
70
+ * @category Guards
71
+ */
72
+ export const isAtom = (u: unknown): u is Atom<any> => hasProperty(u, TypeId)
73
+
67
74
  /**
68
75
  * @since 1.0.0
69
76
  */
@@ -1472,9 +1479,7 @@ export const debounce: {
1472
1479
  * @since 1.0.0
1473
1480
  * @category Optimistic
1474
1481
  */
1475
- export const optimistic = <A>(
1476
- self: Atom<A>
1477
- ): Writable<A, Atom<Result.Result<A, unknown>>> => {
1482
+ export const optimistic = <A>(self: Atom<A>): Writable<A, Atom<Result.Result<A, unknown>>> => {
1478
1483
  let counter = 0
1479
1484
  const writeAtom = state(
1480
1485
  [
@@ -1485,8 +1490,10 @@ export const optimistic = <A>(
1485
1490
  return writable(
1486
1491
  (get) => {
1487
1492
  let lastValue = get.once(self)
1493
+ let needsRefresh = false
1488
1494
  get.subscribe(self, (value) => {
1489
1495
  lastValue = value
1496
+ needsRefresh = false
1490
1497
  if (!Result.isResult(value)) {
1491
1498
  return get.setSelf(value)
1492
1499
  }
@@ -1529,11 +1536,16 @@ export const optimistic = <A>(
1529
1536
  cancels.delete(cancel)
1530
1537
  cancel()
1531
1538
  }
1539
+ if (!needsRefresh && !Result.isFailure(result)) {
1540
+ needsRefresh = true
1541
+ }
1532
1542
  if (transitions.size === 0) {
1533
- if (Result.isFailure(result)) {
1543
+ if (needsRefresh) {
1544
+ needsRefresh = false
1545
+ get.refresh(self)
1546
+ } else {
1534
1547
  get.setSelf(lastValue)
1535
1548
  }
1536
- get.refresh(self)
1537
1549
  }
1538
1550
  }, { immediate: true })
1539
1551
  if (transitions.has(atom)) {