@effect-atom/atom 0.1.0 → 0.1.2

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.
package/dist/cjs/Atom.js CHANGED
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.writable = exports.withServerValueInitial = exports.withServerValue = exports.withLabel = exports.withFallback = exports.windowFocusSignal = exports.update = exports.transform = exports.toStreamResult = exports.toStream = exports.subscriptionRef = exports.subscribable = exports.setLazy = exports.setIdleTTL = exports.set = exports.serializable = exports.searchParam = exports.runtime = exports.refreshOnWindowFocus = exports.refresh = exports.readable = exports.pull = exports.optimisticFn = exports.optimistic = exports.modify = exports.mapResult = exports.map = exports.makeRefreshOnSignal = exports.make = exports.kvs = exports.keepAlive = exports.isWritable = exports.isSerializable = exports.initialValue = exports.getServerValue = exports.getResult = exports.get = exports.fnSync = exports.fn = exports.family = exports.defaultMemoMap = exports.debounce = exports.context = exports.batch = exports.autoDispose = exports.WritableTypeId = exports.TypeId = exports.ServerValueTypeId = exports.SerializableTypeId = exports.Reset = void 0;
6
+ exports.writable = exports.withServerValueInitial = exports.withServerValue = exports.withReactivity = exports.withLabel = exports.withFallback = exports.windowFocusSignal = exports.update = exports.transform = exports.toStreamResult = exports.toStream = exports.subscriptionRef = exports.subscribable = exports.setLazy = exports.setIdleTTL = exports.set = exports.serializable = exports.searchParam = exports.runtime = exports.refreshOnWindowFocus = exports.refresh = exports.readable = exports.pull = exports.optimisticFn = exports.optimistic = exports.modify = exports.mapResult = exports.map = exports.makeRefreshOnSignal = exports.make = exports.kvs = exports.keepAlive = exports.isWritable = exports.isSerializable = exports.initialValue = exports.getServerValue = exports.getResult = exports.get = exports.fnSync = exports.fn = exports.family = exports.defaultMemoMap = exports.debounce = exports.context = exports.batch = exports.autoDispose = exports.WritableTypeId = exports.TypeId = exports.ServerValueTypeId = exports.SerializableTypeId = exports.Reset = void 0;
7
+ var Reactivity = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@effect/experimental/Reactivity"));
7
8
  var KeyValueStore = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@effect/platform/KeyValueStore"));
8
9
  var Arr = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Array"));
9
10
  var _Cause = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Cause"));
@@ -151,7 +152,10 @@ const RuntimeProto = {
151
152
  }
152
153
  };
153
154
  const makeFnRuntime = (self, arg, options) => {
154
- const [read, write, argAtom] = makeResultFn(arg, options);
155
+ const [read, write, argAtom] = makeResultFn(options?.reactivityKeys ? (a, get) => {
156
+ const effect = arg(a, get);
157
+ return Effect.isEffect(effect) ? Reactivity.mutation(effect, options.reactivityKeys) : Stream.ensuring(effect, Reactivity.invalidate(options.reactivityKeys));
158
+ } : arg, options);
155
159
  return writable(get => {
156
160
  get.get(argAtom);
157
161
  const previous = get.self();
@@ -295,13 +299,13 @@ function makeEffect(ctx, effect, initialValue, runtime = Runtime.defaultRuntime,
295
299
  * @category constructors
296
300
  */
297
301
  const context = options => {
298
- let globalLayer;
302
+ let globalLayer = Reactivity.layer;
299
303
  function factory(create) {
300
304
  const self = Object.create(RuntimeProto);
301
305
  self.keepAlive = false;
302
306
  self.lazy = true;
303
307
  self.refresh = undefined;
304
- const layerAtom = keepAlive(typeof create === "function" ? readable(get => globalLayer ? Layer.provideMerge(create(get), globalLayer) : create(get)) : readable(() => globalLayer ? Layer.provideMerge(create, globalLayer) : create));
308
+ const layerAtom = keepAlive(typeof create === "function" ? readable(get => Layer.provideMerge(create(get), globalLayer)) : readable(() => Layer.provideMerge(create, globalLayer)));
305
309
  self.layer = layerAtom;
306
310
  self.read = function read(get) {
307
311
  const layer = get(layerAtom);
@@ -314,12 +318,17 @@ const context = options => {
314
318
  }
315
319
  factory.memoMap = options.memoMap;
316
320
  factory.addGlobalLayer = layer => {
317
- if (globalLayer === undefined) {
318
- globalLayer = layer;
319
- } else {
320
- globalLayer = Layer.provideMerge(globalLayer, layer);
321
- }
321
+ globalLayer = Layer.provideMerge(globalLayer, Layer.provide(layer, Reactivity.layer));
322
322
  };
323
+ const reactivityAtom = make(Effect.scopeWith(scope => Layer.buildWithMemoMap(Reactivity.layer, options.memoMap, scope)).pipe(Effect.map(EffectContext.get(Reactivity.Reactivity))));
324
+ factory.withReactivity = keys => atom => transform(atom, get => {
325
+ const reactivity = Result.getOrThrow(get(reactivityAtom));
326
+ get.addFinalizer(reactivity.unsafeRegister(keys, () => {
327
+ get.refresh(atom);
328
+ }));
329
+ get.subscribe(atom, value => get.setSelf(value));
330
+ return get.once(atom);
331
+ });
323
332
  return factory;
324
333
  };
325
334
  /**
@@ -335,6 +344,14 @@ const defaultMemoMap = exports.defaultMemoMap = /*#__PURE__*/(0, _GlobalValue.gl
335
344
  const runtime = exports.runtime = /*#__PURE__*/(0, _GlobalValue.globalValue)("@effect-atom/atom/Atom/defaultContext", () => context({
336
345
  memoMap: defaultMemoMap
337
346
  }));
347
+ /**
348
+ * An alias to `Rx.runtime.withReactivity`, for refreshing an atom whenever the
349
+ * keys change in the `Reactivity` service.
350
+ *
351
+ * @since 1.0.0
352
+ * @category Reactivity
353
+ */
354
+ const withReactivity = exports.withReactivity = runtime.withReactivity;
338
355
  // -----------------------------------------------------------------------------
339
356
  // constructors - stream
340
357
  // -----------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"Atom.js","names":["KeyValueStore","_interopRequireWildcard","require","Arr","_Cause","Cause","Channel","Chunk","EffectContext","Duration","Effect","Either","Exit","Fiber","FiberRef","_Function","_GlobalValue","Inspectable","Layer","MutableHashMap","Option","_Pipeable","Runtime","Schema","Scope","Stream","Subscribable","SubscriptionRef","internalRegistry","_runtime","_Registry","Registry","Result","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","WritableTypeId","AtomProto","pipe","pipeArguments","arguments","toJSON","_id","keepAlive","lazy","label","toString","format","NodeInspectSymbol","RuntimeProto","atom","arg","options","read","makeRead","readable","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","writable","WritableProto","isWritable","refresh","create","constSetSelf","ctx","setSelf","make","readOrAtom","isDataType","u","providedRuntime","EffectTypeId","effect","StreamTypeId","stream","initialValue","_get","undefined","success","uninterruptible","defaultRuntime","scope","runSync","addFinalizer","runFork","close","void","contextMap","Map","context","unsafeMap","key","AtomRegistry","registry","scopedRuntime","unsafeMake","fiberRefs","runtimeFlags","syncResult","isAsync","cancel","runCallbackSync","exit","fromExitWithPrevious","waitingFrom","waiting","globalLayer","factory","layerAtom","provideMerge","layer","build","flatMap","buildWithMemoMap","memoMap","provide","addGlobalLayer","defaultMemoMap","globalValue","makeMemoMap","makeStream","writer","readWithCause","onInput","input","suspend","last","onFailure","cause","sync","failureWithPrevious","onDone","_done","match","onNone","failWithPrevious","NoSuchElementException","onSome","a","registryRuntime","add","runDrain","pipeTo","toChannel","constVoid","sub","changes","runForEach","runCallback","refAtom","isSuccess","subAtom","fnSync","args","makeFnSync","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","once","subscribe","delete","result","pending","size","_","family","WeakRef","FinalizationRegistry","atoms","atomEntry","newAtom","remove","flatMapNullable","deref","register","withFallback","dual","fallback","assign","getPrototypeOf","autoDispose","setLazy","withLabel","name","Error","stack","split","setIdleTTL","duration","idleTTL","toMillis","transform","map","mapResult","debounce","millis","timeout","update","clearTimeout","val","setTimeout","optimistic","writeAtom","lastValue","isResult","current","getOrUndefined","timestamp","transitions","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","constant","getServerValue"],"sources":["../../src/Atom.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Atom.js","names":["Reactivity","_interopRequireWildcard","require","KeyValueStore","Arr","_Cause","Cause","Channel","Chunk","EffectContext","Duration","Effect","Either","Exit","Fiber","FiberRef","_Function","_GlobalValue","Inspectable","Layer","MutableHashMap","Option","_Pipeable","Runtime","Schema","Scope","Stream","Subscribable","SubscriptionRef","internalRegistry","_runtime","_Registry","Registry","Result","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","WritableTypeId","AtomProto","pipe","pipeArguments","arguments","toJSON","_id","keepAlive","lazy","label","toString","format","NodeInspectSymbol","RuntimeProto","atom","arg","options","read","makeRead","readable","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","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","key","AtomRegistry","registry","scopedRuntime","unsafeMake","fiberRefs","runtimeFlags","syncResult","isAsync","cancel","runCallbackSync","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","globalValue","makeMemoMap","makeStream","writer","readWithCause","onInput","input","suspend","last","onFailure","cause","sync","failureWithPrevious","onDone","_done","match","onNone","failWithPrevious","NoSuchElementException","onSome","registryRuntime","add","runDrain","pipeTo","toChannel","constVoid","sub","changes","runForEach","runCallback","refAtom","isSuccess","subAtom","fnSync","args","makeFnSync","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","dual","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","timestamp","transitions","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","constant","getServerValue"],"sources":["../../src/Atom.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
+ import * as Reactivity from "@effect/experimental/Reactivity";
4
5
  import * as KeyValueStore from "@effect/platform/KeyValueStore";
5
6
  import * as Arr from "effect/Array";
6
7
  import { NoSuchElementException } from "effect/Cause";
@@ -12,6 +13,7 @@ import * as Inspectable from "effect/Inspectable";
12
13
  import * as Layer from "effect/Layer";
13
14
  import * as Option from "effect/Option";
14
15
  import { type Pipeable } from "effect/Pipeable";
16
+ import type { ReadonlyRecord } from "effect/Record";
15
17
  import * as Runtime from "effect/Runtime";
16
18
  import * as Schema from "effect/Schema";
17
19
  import * as Scope from "effect/Scope";
@@ -171,50 +173,59 @@ export declare const make: {
171
173
  export interface AtomRuntime<R, ER> extends Atom<Result.Result<Runtime.Runtime<R>, ER>> {
172
174
  readonly layer: Atom<Layer.Layer<R, ER>>;
173
175
  readonly atom: {
174
- <A, E>(create: (get: Context) => Effect.Effect<A, E, Scope.Scope | R | AtomRegistry>, options?: {
176
+ <A, E>(create: (get: Context) => Effect.Effect<A, E, Scope.Scope | R | AtomRegistry | Reactivity.Reactivity>, options?: {
175
177
  readonly initialValue?: A;
176
178
  }): Atom<Result.Result<A, E | ER>>;
177
- <A, E>(effect: Effect.Effect<A, E, Scope.Scope | R>, options?: {
179
+ <A, E>(effect: Effect.Effect<A, E, Scope.Scope | R | AtomRegistry | Reactivity.Reactivity>, options?: {
178
180
  readonly initialValue?: A;
179
181
  }): Atom<Result.Result<A, E | ER>>;
180
- <A, E>(create: (get: Context) => Stream.Stream<A, E, AtomRegistry | R>, options?: {
182
+ <A, E>(create: (get: Context) => Stream.Stream<A, E, AtomRegistry | Reactivity.Reactivity | R>, options?: {
181
183
  readonly initialValue?: A;
182
184
  }): Atom<Result.Result<A, E | ER>>;
183
- <A, E>(stream: Stream.Stream<A, E, AtomRegistry | R>, options?: {
185
+ <A, E>(stream: Stream.Stream<A, E, AtomRegistry | Reactivity.Reactivity | R>, options?: {
184
186
  readonly initialValue?: A;
185
187
  }): Atom<Result.Result<A, E | ER>>;
186
188
  };
187
189
  readonly fn: {
188
190
  <Arg>(): {
189
- <E, A>(fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry | R>, options?: {
190
- readonly initialValue?: A;
191
+ <E, A>(fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry | Reactivity.Reactivity | R>, options?: {
192
+ readonly initialValue?: A | undefined;
193
+ readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined;
191
194
  }): AtomResultFn<Arg, A, E | ER>;
192
- <E, A>(fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry | R>, options?: {
193
- readonly initialValue?: A;
195
+ <E, A>(fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry | Reactivity.Reactivity | R>, options?: {
196
+ readonly initialValue?: A | undefined;
197
+ readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined;
194
198
  }): AtomResultFn<Arg, A, E | ER | NoSuchElementException>;
195
199
  };
196
- <E, A, Arg = void>(fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry | R>, options?: {
197
- readonly initialValue?: A;
200
+ <E, A, Arg = void>(fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry | Reactivity.Reactivity | R>, options?: {
201
+ readonly initialValue?: A | undefined;
202
+ readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined;
198
203
  }): AtomResultFn<Arg, A, E | ER>;
199
- <E, A, Arg = void>(fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry | R>, options?: {
200
- readonly initialValue?: A;
204
+ <E, A, Arg = void>(fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry | Reactivity.Reactivity | R>, options?: {
205
+ readonly initialValue?: A | undefined;
206
+ readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined;
201
207
  }): AtomResultFn<Arg, A, E | ER | NoSuchElementException>;
202
208
  };
203
- readonly pull: <A, E>(create: ((get: Context) => Stream.Stream<A, E, R | AtomRegistry>) | Stream.Stream<A, E, R | AtomRegistry>, options?: {
209
+ readonly pull: <A, E>(create: ((get: Context) => Stream.Stream<A, E, R | AtomRegistry | Reactivity.Reactivity>) | Stream.Stream<A, E, R | AtomRegistry | Reactivity.Reactivity>, options?: {
204
210
  readonly disableAccumulation?: boolean;
205
211
  readonly initialValue?: ReadonlyArray<A>;
206
212
  }) => Writable<PullResult<A, E | ER>, void>;
207
- readonly subscriptionRef: <A, E>(create: Effect.Effect<SubscriptionRef.SubscriptionRef<A>, E, R | AtomRegistry> | ((get: Context) => Effect.Effect<SubscriptionRef.SubscriptionRef<A>, E, R | AtomRegistry>)) => Writable<Result.Result<A, E>, A>;
208
- readonly subscribable: <A, E, E1 = never>(create: Effect.Effect<Subscribable.Subscribable<A, E, R>, E1, R | AtomRegistry> | ((get: Context) => Effect.Effect<Subscribable.Subscribable<A, E, R>, E1, R | AtomRegistry>)) => Atom<Result.Result<A, E | E1>>;
213
+ readonly subscriptionRef: <A, E>(create: Effect.Effect<SubscriptionRef.SubscriptionRef<A>, E, R | AtomRegistry | Reactivity.Reactivity> | ((get: Context) => Effect.Effect<SubscriptionRef.SubscriptionRef<A>, E, R | AtomRegistry | Reactivity.Reactivity>)) => Writable<Result.Result<A, E>, A>;
214
+ readonly subscribable: <A, E, E1 = never>(create: Effect.Effect<Subscribable.Subscribable<A, E, R>, E1, R | AtomRegistry | Reactivity.Reactivity> | ((get: Context) => Effect.Effect<Subscribable.Subscribable<A, E, R>, E1, R | AtomRegistry | Reactivity.Reactivity>)) => Atom<Result.Result<A, E | E1>>;
209
215
  }
210
216
  /**
211
217
  * @since 1.0.0
212
218
  * @category models
213
219
  */
214
220
  export interface RuntimeFactory {
215
- <R, E>(create: Layer.Layer<R, E, AtomRegistry> | ((get: Context) => Layer.Layer<R, E, AtomRegistry>)): AtomRuntime<R, E>;
221
+ <R, E>(create: Layer.Layer<R, E, AtomRegistry | Reactivity.Reactivity> | ((get: Context) => Layer.Layer<R, E, AtomRegistry | Reactivity.Reactivity>)): AtomRuntime<R, E>;
216
222
  readonly memoMap: Layer.MemoMap;
217
- readonly addGlobalLayer: <A, E>(layer: Layer.Layer<A, E, AtomRegistry>) => void;
223
+ readonly addGlobalLayer: <A, E>(layer: Layer.Layer<A, E, AtomRegistry | Reactivity.Reactivity>) => void;
224
+ /**
225
+ * Uses the `Reactivity` service from the runtime to refresh the atom whenever
226
+ * the keys change.
227
+ */
228
+ readonly withReactivity: (keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>) => <A extends Atom<any>>(atom: A) => A;
218
229
  }
219
230
  /**
220
231
  * @since 1.0.0
@@ -233,6 +244,14 @@ export declare const defaultMemoMap: Layer.MemoMap;
233
244
  * @category context
234
245
  */
235
246
  export declare const runtime: RuntimeFactory;
247
+ /**
248
+ * An alias to `Rx.runtime.withReactivity`, for refreshing an atom whenever the
249
+ * keys change in the `Reactivity` service.
250
+ *
251
+ * @since 1.0.0
252
+ * @category Reactivity
253
+ */
254
+ export declare const withReactivity: (keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>) => <A extends Atom<any>>(atom: A) => A;
236
255
  /**
237
256
  * @since 1.0.0
238
257
  * @category constructors
@@ -294,16 +313,16 @@ export type Reset = typeof Reset;
294
313
  */
295
314
  export declare const fn: {
296
315
  <Arg>(): <E, A>(fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry>, options?: {
297
- readonly initialValue?: A;
316
+ readonly initialValue?: A | undefined;
298
317
  }) => AtomResultFn<Arg, A, E>;
299
318
  <E, A, Arg = void>(fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry>, options?: {
300
- readonly initialValue?: A;
319
+ readonly initialValue?: A | undefined;
301
320
  }): AtomResultFn<Arg, A, E>;
302
321
  <Arg>(): <E, A>(fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry>, options?: {
303
- readonly initialValue?: A;
322
+ readonly initialValue?: A | undefined;
304
323
  }) => AtomResultFn<Arg, A, E | NoSuchElementException>;
305
324
  <E, A, Arg = void>(fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry>, options?: {
306
- readonly initialValue?: A;
325
+ readonly initialValue?: A | undefined;
307
326
  }): AtomResultFn<Arg, A, E | NoSuchElementException>;
308
327
  };
309
328
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Atom.d.ts","sourceRoot":"","sources":["../../src/Atom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Atom.d.ts","sourceRoot":"","sources":["../../src/Atom.ts"],"names":[],"mappings":"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"}
package/dist/esm/Atom.js CHANGED
@@ -2,6 +2,7 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  /* eslint-disable @typescript-eslint/no-empty-object-type */
5
+ import * as Reactivity from "@effect/experimental/Reactivity";
5
6
  import * as KeyValueStore from "@effect/platform/KeyValueStore";
6
7
  import * as Arr from "effect/Array";
7
8
  import { NoSuchElementException } from "effect/Cause";
@@ -124,7 +125,10 @@ const RuntimeProto = {
124
125
  }
125
126
  };
126
127
  const makeFnRuntime = (self, arg, options) => {
127
- const [read, write, argAtom] = makeResultFn(arg, options);
128
+ const [read, write, argAtom] = makeResultFn(options?.reactivityKeys ? (a, get) => {
129
+ const effect = arg(a, get);
130
+ return Effect.isEffect(effect) ? Reactivity.mutation(effect, options.reactivityKeys) : Stream.ensuring(effect, Reactivity.invalidate(options.reactivityKeys));
131
+ } : arg, options);
128
132
  return writable(get => {
129
133
  get.get(argAtom);
130
134
  const previous = get.self();
@@ -264,13 +268,13 @@ function makeEffect(ctx, effect, initialValue, runtime = Runtime.defaultRuntime,
264
268
  * @category constructors
265
269
  */
266
270
  export const context = options => {
267
- let globalLayer;
271
+ let globalLayer = Reactivity.layer;
268
272
  function factory(create) {
269
273
  const self = Object.create(RuntimeProto);
270
274
  self.keepAlive = false;
271
275
  self.lazy = true;
272
276
  self.refresh = undefined;
273
- const layerAtom = keepAlive(typeof create === "function" ? readable(get => globalLayer ? Layer.provideMerge(create(get), globalLayer) : create(get)) : readable(() => globalLayer ? Layer.provideMerge(create, globalLayer) : create));
277
+ const layerAtom = keepAlive(typeof create === "function" ? readable(get => Layer.provideMerge(create(get), globalLayer)) : readable(() => Layer.provideMerge(create, globalLayer)));
274
278
  self.layer = layerAtom;
275
279
  self.read = function read(get) {
276
280
  const layer = get(layerAtom);
@@ -283,12 +287,17 @@ export const context = options => {
283
287
  }
284
288
  factory.memoMap = options.memoMap;
285
289
  factory.addGlobalLayer = layer => {
286
- if (globalLayer === undefined) {
287
- globalLayer = layer;
288
- } else {
289
- globalLayer = Layer.provideMerge(globalLayer, layer);
290
- }
290
+ globalLayer = Layer.provideMerge(globalLayer, Layer.provide(layer, Reactivity.layer));
291
291
  };
292
+ const reactivityAtom = make(Effect.scopeWith(scope => Layer.buildWithMemoMap(Reactivity.layer, options.memoMap, scope)).pipe(Effect.map(EffectContext.get(Reactivity.Reactivity))));
293
+ factory.withReactivity = keys => atom => transform(atom, get => {
294
+ const reactivity = Result.getOrThrow(get(reactivityAtom));
295
+ get.addFinalizer(reactivity.unsafeRegister(keys, () => {
296
+ get.refresh(atom);
297
+ }));
298
+ get.subscribe(atom, value => get.setSelf(value));
299
+ return get.once(atom);
300
+ });
292
301
  return factory;
293
302
  };
294
303
  /**
@@ -303,6 +312,14 @@ export const defaultMemoMap = /*#__PURE__*/globalValue("@effect-atom/atom/Atom/d
303
312
  export const runtime = /*#__PURE__*/globalValue("@effect-atom/atom/Atom/defaultContext", () => context({
304
313
  memoMap: defaultMemoMap
305
314
  }));
315
+ /**
316
+ * An alias to `Rx.runtime.withReactivity`, for refreshing an atom whenever the
317
+ * keys change in the `Reactivity` service.
318
+ *
319
+ * @since 1.0.0
320
+ * @category Reactivity
321
+ */
322
+ export const withReactivity = runtime.withReactivity;
306
323
  // -----------------------------------------------------------------------------
307
324
  // constructors - stream
308
325
  // -----------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"Atom.js","names":["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","writable","WritableProto","isWritable","refresh","Object","create","constSetSelf","ctx","setSelf","make","readOrAtom","isDataType","u","providedRuntime","EffectTypeId","effect","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","factory","layerAtom","provideMerge","layer","build","flatMap","buildWithMemoMap","memoMap","provide","addGlobalLayer","defaultMemoMap","makeMemoMap","makeStream","writer","readWithCause","onInput","input","suspend","last","onFailure","cause","sync","failureWithPrevious","onDone","_done","match","onNone","failWithPrevious","onSome","a","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","once","subscribe","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","transform","map","mapResult","debounce","millis","timeout","update","clearTimeout","val","setTimeout","optimistic","writeAtom","lastValue","isResult","current","getOrUndefined","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":"AAAA;;;AAGA;AACA,OAAO,KAAKA,aAAa,MAAM,gCAAgC;AAC/D,OAAO,KAAKC,GAAG,MAAM,cAAc;AACnC,SAASC,sBAAsB,QAAQ,cAAc;AACrD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,aAAa,MAAM,gBAAgB;AAC/C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAE3C,SAASC,QAAQ,EAAEC,SAAS,EAAEC,IAAI,EAAEC,IAAI,QAAQ,iBAAiB;AACjE,SAASC,WAAW,QAAQ,oBAAoB;AAChD,OAAO,KAAKC,WAAW,MAAM,oBAAoB;AACjD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,cAAc,MAAM,uBAAuB;AACvD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAAwBC,aAAa,QAAQ,iBAAiB;AAC9D,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,YAAY,MAAM,qBAAqB;AACnD,OAAO,KAAKC,eAAe,MAAM,wBAAwB;AAEzD,OAAO,KAAKC,gBAAgB,MAAM,wBAAwB;AAC1D,SAASC,eAAe,QAAQ,uBAAuB;AACvD,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,SAASC,YAA4B,QAAQ,eAAe;AAC5D,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;;AAIA,OAAO,MAAMC,MAAM,GAAW,wBAAwB;AAgDtD;;;;AAIA,OAAO,MAAMC,cAAc,GAAmB,iCAAiC;AAiE/E,MAAMC,SAAS,GAAG;EAChB,CAACF,MAAM,GAAGA,MAAM;EAChBlB,IAAIA,CAAA;IACF,OAAOM,aAAa,CAAC,IAAI,EAAEe,SAAS,CAAC;EACvC,CAAC;EACDC,MAAMA,CAAA;IACJ,OAAO;MACLC,GAAG,EAAE,MAAM;MACXC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBC,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,KAAK,EAAE,IAAI,CAACA;KACb;EACH,CAAC;EACDC,QAAQA,CAAA;IACN,OAAOzB,WAAW,CAAC0B,MAAM,CAAC,IAAI,CAAC;EACjC,CAAC;EACD,CAAC1B,WAAW,CAAC2B,iBAAiB,IAAC;IAC7B,OAAO,IAAI,CAACP,MAAM,EAAE;EACtB;CACQ;AAEV,MAAMQ,YAAY,GAAG;EACnB,GAAGV,SAAS;EACZW,IAAIA,CAA8BC,GAAQ,EAAEC,OAA6C;IACvF,MAAMC,IAAI,GAAGC,QAAQ,CAACH,GAAG,EAAEC,OAAO,CAAC;IACnC,OAAOG,QAAQ,CAAEC,GAAG,IAAI;MACtB,MAAMC,QAAQ,GAAGD,GAAG,CAACE,IAAI,EAA2B;MACpD,MAAMC,aAAa,GAAGH,GAAG,CAAC,IAAI,CAAC;MAC/B,IAAIG,aAAa,CAACC,IAAI,KAAK,SAAS,EAAE;QACpC,OAAOxB,MAAM,CAACyB,eAAe,CAACF,aAAa,EAAEF,QAAQ,CAAC;MACxD;MACA,OAAOJ,IAAI,CAACG,GAAG,EAAEG,aAAa,CAACG,KAAK,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC;EAEDC,EAAEA,CAA8BZ,GAAQ,EAAEC,OAA6C;IACrF,IAAIZ,SAAS,CAACwB,MAAM,KAAK,CAAC,EAAE;MAC1B,OAAO,CAACb,GAAQ,EAAEC,OAA6C,KAAKa,aAAa,CAAC,IAAI,EAAEd,GAAG,EAAEC,OAAO,CAAC;IACvG;IACA,OAAOa,aAAa,CAAC,IAAI,EAAEd,GAAG,EAAEC,OAAO,CAAC;EAC1C,CAAC;EAEDc,IAAIA,CAA8Bf,GAAQ,EAAEC,OAG3C;IACC,MAAMe,UAAU,GAAGC,KAAK,CAAC,CAAC,CAAC;IAC3B,MAAMC,QAAQ,GAAGd,QAAQ,CAAEC,GAAG,IAAI;MAChC,MAAMC,QAAQ,GAAGD,GAAG,CAACE,IAAI,EAA2B;MACpD,MAAMC,aAAa,GAAGH,GAAG,CAAC,IAAI,CAAC;MAC/B,IAAIG,aAAa,CAACC,IAAI,KAAK,SAAS,EAAE;QACpC,OAAOxB,MAAM,CAACyB,eAAe,CAACF,aAAa,EAAEF,QAAQ,CAAC;MACxD;MACA,OAAOa,UAAU,CACfd,GAAG,EACHe,oBAAoB,CAACf,GAAG,EAAEW,UAAU,EAAEhB,GAAG,EAAEC,OAAO,CAAC,EACnDhB,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,EACpBb,aAAa,CAACG,KAAK,CACpB;IACH,CAAC,CAAC;IACF,OAAOW,cAAc,CAACN,UAAU,EAAEE,QAAQ,CAAC;EAC7C,CAAC;EAEDK,eAAeA,CAA8BC,GAAQ;IACnD,OAAOC,UAAU,CACfrB,QAAQ,CAAEC,GAAG,IAAI;MACf,MAAMC,QAAQ,GAAGD,GAAG,CAACE,IAAI,EAA2B;MACpD,MAAMC,aAAa,GAAGH,GAAG,CAAC,IAAI,CAAC;MAC/B,IAAIG,aAAa,CAACC,IAAI,KAAK,SAAS,EAAE;QACpC,OAAOxB,MAAM,CAACyB,eAAe,CAACF,aAAa,EAAEF,QAAQ,CAAC;MACxD;MACA,MAAMK,KAAK,GAAG,OAAOa,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACnB,GAAG,CAAC,GAAGmB,GAAG;MACxD,OAAO5C,eAAe,CAAC8C,qBAAqB,IAAIf,KAAK,GACjDA,KAAK,GACLQ,UAAU,CAACd,GAAG,EAAEM,KAAK,EAAE1B,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,EAAEb,aAAa,CAACG,KAAK,CAAC;IACvE,CAAC,CAAC,EACF,CAACN,GAAG,EAAEmB,GAAG,KAAI;MACX,MAAMG,OAAO,GAAG1C,MAAM,CAAC2C,UAAU,CAACvB,GAAG,CAAC,IAAI,CAAC,CAAC;MAC5C,OAAOwB,gBAAgB,CAACxB,GAAG,EAAEmB,GAAG,EAAEG,OAAO,CAAC;IAC5C,CAAC,CACF;EACH,CAAC;EAEDG,YAAYA,CAA8B9B,GAAQ;IAChD,OAAO+B,gBAAgB,CACrB3B,QAAQ,CAAEC,GAAG,IAAI;MACf,MAAMC,QAAQ,GAAGD,GAAG,CAACE,IAAI,EAA2B;MACpD,MAAMC,aAAa,GAAGH,GAAG,CAAC,IAAI,CAAC;MAC/B,IAAIG,aAAa,CAACC,IAAI,KAAK,SAAS,EAAE;QACpC,OAAOxB,MAAM,CAACyB,eAAe,CAACF,aAAa,EAAEF,QAAQ,CAAC;MACxD;MACA,MAAMK,KAAK,GAAG,OAAOX,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACK,GAAG,CAAC,GAAGL,GAAG;MACxD,OAAOrB,YAAY,CAACqD,cAAc,CAACrB,KAAK,CAAC,GACvCA,KAA4C,GAC1CQ,UAAU,CAACd,GAAG,EAAEM,KAAK,EAAE1B,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,EAAEb,aAAa,CAACG,KAAK,CAAC;IACvE,CAAC,CAAC,EACF,CAACN,GAAG,EAAEmB,GAAG,KAAI;MACX,MAAMG,OAAO,GAAG1C,MAAM,CAAC2C,UAAU,CAACvB,GAAG,CAAC,IAAI,CAAC,CAAC;MAC5C,OAAOwB,gBAAgB,CAACxB,GAAG,EAAEmB,GAAG,EAAEG,OAAO,CAAC;IAC5C,CAAC,CACF;EACH;CACD;AAED,MAAMb,aAAa,GAAGA,CAACP,IAA2B,EAAEP,GAAQ,EAAEC,OAA6C,KAAI;EAC7G,MAAM,CAACC,IAAI,EAAE+B,KAAK,EAAEC,OAAO,CAAC,GAAGC,YAAY,CAACnC,GAAG,EAAEC,OAAO,CAAC;EACzD,OAAOmC,QAAQ,CAAE/B,GAAG,IAAI;IACtBA,GAAG,CAACA,GAAG,CAAC6B,OAAO,CAAC;IAChB,MAAM5B,QAAQ,GAAGD,GAAG,CAACE,IAAI,EAA2B;IACpD,MAAMC,aAAa,GAAGH,GAAG,CAACA,GAAG,CAACE,IAAI,CAAC;IACnC,IAAIC,aAAa,CAACC,IAAI,KAAK,SAAS,EAAE;MACpC,OAAOxB,MAAM,CAACyB,eAAe,CAACF,aAAa,EAAEF,QAAQ,CAAC;IACxD;IACA,OAAOJ,IAAI,CAACG,GAAG,EAAEG,aAAa,CAACG,KAAK,CAAC;EACvC,CAAC,EAAEsB,KAAK,CAAC;AACX,CAAC;AAED,MAAMI,aAAa,GAAG;EACpB,GAAGjD,SAAS;EACZ,CAACD,cAAc,GAAGA;CACV;AAEV;;;;AAIA,OAAO,MAAMmD,UAAU,GAAUvC,IAAa,IAA6BZ,cAAc,IAAIY,IAAI;AAEjG;;;;AAIA,OAAO,MAAMK,QAAQ,GAAGA,CACtBF,IAAyB,EACzBqC,OAAiD,KACtC;EACX,MAAMhC,IAAI,GAAGiC,MAAM,CAACC,MAAM,CAACrD,SAAS,CAAC;EACrCmB,IAAI,CAACf,SAAS,GAAG,KAAK;EACtBe,IAAI,CAACd,IAAI,GAAG,IAAI;EAChBc,IAAI,CAACL,IAAI,GAAGA,IAAI;EAChBK,IAAI,CAACgC,OAAO,GAAGA,OAAO;EACtB,OAAOhC,IAAI;AACb,CAAC;AAED;;;;AAIA,OAAO,MAAM6B,QAAQ,GAAGA,CACtBlC,IAAyB,EACzB+B,KAA+C,EAC/CM,OAAiD,KAC/B;EAClB,MAAMhC,IAAI,GAAGiC,MAAM,CAACC,MAAM,CAACJ,aAAa,CAAC;EACzC9B,IAAI,CAACf,SAAS,GAAG,KAAK;EACtBe,IAAI,CAACd,IAAI,GAAG,IAAI;EAChBc,IAAI,CAACL,IAAI,GAAGA,IAAI;EAChBK,IAAI,CAAC0B,KAAK,GAAGA,KAAK;EAClB1B,IAAI,CAACgC,OAAO,GAAGA,OAAO;EACtB,OAAOhC,IAAI;AACb,CAAC;AAED,SAASmC,YAAYA,CAAIC,GAAoB,EAAEhC,KAAQ;EACrDgC,GAAG,CAACC,OAAO,CAACjC,KAAK,CAAC;AACpB;AAEA;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAMkC,IAAI,GAebA,CAAC7C,GAAQ,EAAEC,OAA6C,KAAI;EAC9D,MAAM6C,UAAU,GAAG3C,QAAQ,CAACH,GAAG,EAAEC,OAAO,CAAC;EACzC,IAAIf,MAAM,IAAI4D,UAAU,EAAE;IACxB,OAAOA,UAAiB;EAC1B;EACA,OAAO1C,QAAQ,CAAC0C,UAAU,CAAC;AAC7B,CAAC;AAED;AACA;AACA;AAEA,MAAMC,UAAU,GAAIC,CAAS,IAC3B3E,MAAM,CAACa,MAAM,IAAI8D,CAAC,IAClBvF,MAAM,CAACyB,MAAM,IAAI8D,CAAC;AAEpB,MAAM7C,QAAQ,GAeVA,CACFH,GAMK,EACLC,OAA6C,KAC3C;EACF,IAAI,OAAOD,GAAG,KAAK,UAAU,EAAE;IAC7B,MAAMyC,MAAM,GAAGzC,GAA4B;IAC3C,OAAO,UAASK,GAAY,EAAE4C,eAAsC;MAClE,MAAMtC,KAAK,GAAG8B,MAAM,CAACpC,GAAG,CAAC;MACzB,IAAI,OAAOM,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE;QAC/C,IAAIoC,UAAU,CAACpC,KAAK,CAAC,EAAE;UACrB,OAAOA,KAAK;QACd,CAAC,MAAM,IAAInD,MAAM,CAAC0F,YAAY,IAAIvC,KAAK,EAAE;UACvC,OAAOwC,MAAM,CAAC9C,GAAG,EAAEM,KAAY,EAAEV,OAAO,EAAEgD,eAAe,CAAC;QAC5D,CAAC,MAAM,IAAIvE,MAAM,CAAC0E,YAAY,IAAIzC,KAAK,EAAE;UACvC,OAAO0C,MAAM,CAAChD,GAAG,EAAEM,KAAK,EAAEV,OAAO,EAAEgD,eAAe,CAAC;QACrD;MACF;MACA,OAAOtC,KAAK;IACd,CAAC;EACH,CAAC,MAAM,IAAI,OAAOX,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,EAAE;IAClD,IAAI+C,UAAU,CAAC/C,GAAG,CAAC,EAAE;MACnB,OAAOiB,KAAK,CAACjB,GAAG,CAAC;IACnB,CAAC,MAAM,IAAIxC,MAAM,CAAC0F,YAAY,IAAIlD,GAAG,EAAE;MACrC,OAAO,UAASK,GAAY,EAAE4C,eAAsC;QAClE,OAAOE,MAAM,CAAC9C,GAAG,EAAEL,GAAG,EAAEC,OAAO,EAAEgD,eAAe,CAAC;MACnD,CAAC;IACH,CAAC,MAAM,IAAIvE,MAAM,CAAC0E,YAAY,IAAIpD,GAAG,EAAE;MACrC,OAAO,UAASK,GAAY,EAAE4C,eAAsC;QAClE,OAAOI,MAAM,CAAChD,GAAG,EAAEL,GAAG,EAAEC,OAAO,EAAEgD,eAAe,CAAC;MACnD,CAAC;IACH;EACF;EAEA,OAAOhC,KAAK,CAACjB,GAAG,CAAQ;AAC1B,CAAC;AAED,MAAMiB,KAAK,GACTqC,YAAe,IAEflB,QAAQ,CAAC,UAASmB,IAAI;EACpB,OAAOD,YAAY;AACrB,CAAC,EAAEZ,YAAY,CAAC;AAElB,MAAMS,MAAM,GAAGA,CACb9C,GAAY,EACZ8C,MAAuD,EACvDlD,OAA2E,EAC3E0B,OAA8B,KACP;EACvB,MAAM2B,YAAY,GAAGrD,OAAO,EAAEqD,YAAY,KAAKE,SAAS,GACpDvE,MAAM,CAACwE,OAAO,CAAOxD,OAAO,CAACqD,YAAY,CAAC,GAC1CrE,MAAM,CAACoC,OAAO,EAAQ;EAC1B,OAAOF,UAAU,CAACd,GAAG,EAAE8C,MAAM,EAAEG,YAAY,EAAE3B,OAAO,EAAE1B,OAAO,EAAEyD,eAAe,CAAC;AACjF,CAAC;AAED,SAASvC,UAAUA,CACjBwB,GAAY,EACZQ,MAAuD,EACvDG,YAAiC,EACjC3B,OAAO,GAAGpD,OAAO,CAACoF,cAAc,EAChCD,eAAe,GAAG,KAAK;EAEvB,MAAMpD,QAAQ,GAAGqC,GAAG,CAACpC,IAAI,EAAuB;EAEhD,MAAMqD,KAAK,GAAGpG,MAAM,CAACqG,OAAO,CAACpF,KAAK,CAACoE,IAAI,EAAE,CAAC;EAC1CF,GAAG,CAACmB,YAAY,CAAC,MAAK;IACpBtG,MAAM,CAACuG,OAAO,CAACtF,KAAK,CAACuF,KAAK,CAACJ,KAAK,EAAElG,IAAI,CAACuG,IAAI,CAAC,CAAC;EAC/C,CAAC,CAAC;EACF,MAAMC,UAAU,GAAG,IAAIC,GAAG,CAACxC,OAAO,CAACyC,OAAO,CAACC,SAAS,CAAC;EACrDH,UAAU,CAACI,GAAG,CAAC7F,KAAK,CAACA,KAAK,CAAC8F,GAAG,EAAEX,KAAK,CAAC;EACtCM,UAAU,CAACI,GAAG,CAACtF,YAAY,CAACuF,GAAG,EAAE5B,GAAG,CAAC6B,QAAQ,CAAC;EAC9C,MAAMC,aAAa,GAAGlG,OAAO,CAACsE,IAAI,CAAC;IACjCuB,OAAO,EAAE9G,aAAa,CAACoH,UAAU,CAACR,UAAU,CAAC;IAC7CS,SAAS,EAAEhD,OAAO,CAACgD,SAAS;IAC5BC,YAAY,EAAEjD,OAAO,CAACiD;GACvB,CAAC;EACF,IAAIC,UAA2C;EAC/C,IAAIC,OAAO,GAAG,KAAK;EACnB,MAAMC,MAAM,GAAGjG,eAAe,CAAC2F,aAAa,CAAC,CAC3CtB,MAAM,EACN,UAAS6B,IAAI;IACXH,UAAU,GAAG5F,MAAM,CAACgG,oBAAoB,CAACD,IAAI,EAAE1E,QAAQ,CAAC;IACxD,IAAIwE,OAAO,EAAEnC,GAAG,CAACC,OAAO,CAACiC,UAAU,CAAC;EACtC,CAAC,EACDnB,eAAe,CAChB;EACDoB,OAAO,GAAG,IAAI;EACd,IAAIC,MAAM,KAAKvB,SAAS,EAAE;IACxBb,GAAG,CAACmB,YAAY,CAACiB,MAAM,CAAC;EAC1B;EACA,IAAIF,UAAU,KAAKrB,SAAS,EAAE;IAC5B,OAAOqB,UAAU;EACnB,CAAC,MAAM,IAAIvE,QAAQ,CAACG,IAAI,KAAK,MAAM,EAAE;IACnC,OAAOxB,MAAM,CAACiG,WAAW,CAAC5E,QAAQ,CAAC;EACrC;EACA,OAAOrB,MAAM,CAACkG,OAAO,CAAC7B,YAAY,CAAC;AACrC;AAiFA;;;;AAIA,OAAO,MAAMc,OAAO,GAEInE,OAAO,IAAI;EACjC,IAAImF,WAA4D;EAChE,SAASC,OAAOA,CACd5C,MAA6F;IAE7F,MAAMlC,IAAI,GAAGiC,MAAM,CAACC,MAAM,CAAC3C,YAAY,CAAC;IACxCS,IAAI,CAACf,SAAS,GAAG,KAAK;IACtBe,IAAI,CAACd,IAAI,GAAG,IAAI;IAChBc,IAAI,CAACgC,OAAO,GAAGiB,SAAS;IAExB,MAAM8B,SAAS,GAAG9F,SAAS,CACzB,OAAOiD,MAAM,KAAK,UAAU,GACxBrC,QAAQ,CAAEC,GAAG,IAAK+E,WAAW,GAAGjH,KAAK,CAACoH,YAAY,CAAC9C,MAAM,CAACpC,GAAG,CAAC,EAAE+E,WAAW,CAAC,GAAG3C,MAAM,CAACpC,GAAG,CAAC,CAAC,GAC3FD,QAAQ,CAAC,MAAMgF,WAAW,GAAGjH,KAAK,CAACoH,YAAY,CAAC9C,MAAM,EAAE2C,WAAW,CAAC,GAAG3C,MAAM,CAAC,CACnF;IACDlC,IAAI,CAACiF,KAAK,GAAGF,SAAS;IAEtB/E,IAAI,CAACL,IAAI,GAAG,SAASA,IAAIA,CAACG,GAAY;MACpC,MAAMmF,KAAK,GAAGnF,GAAG,CAACiF,SAAS,CAAC;MAC5B,MAAMG,KAAK,GAAGjI,MAAM,CAACkI,OAAO,CAC1BlI,MAAM,CAACkI,OAAO,CAAClI,MAAM,CAACoG,KAAK,EAAGA,KAAK,IAAKzF,KAAK,CAACwH,gBAAgB,CAACH,KAAK,EAAEvF,OAAO,CAAC2F,OAAO,EAAEhC,KAAK,CAAC,CAAC,EAC7FQ,OAAO,IAAK5G,MAAM,CAACqI,OAAO,CAACrI,MAAM,CAACmE,OAAO,EAAK,EAAEyC,OAAO,CAAC,CAC1D;MACD,OAAOjB,MAAM,CAAC9C,GAAG,EAAEoF,KAAK,EAAE;QAAE/B,eAAe,EAAE;MAAI,CAAE,CAAC;IACtD,CAAC;IAED,OAAOnD,IAAI;EACb;EACA8E,OAAO,CAACO,OAAO,GAAG3F,OAAO,CAAC2F,OAAO;EACjCP,OAAO,CAACS,cAAc,GAAIN,KAA0C,IAAI;IACtE,IAAIJ,WAAW,KAAK5B,SAAS,EAAE;MAC7B4B,WAAW,GAAGI,KAAK;IACrB,CAAC,MAAM;MACLJ,WAAW,GAAGjH,KAAK,CAACoH,YAAY,CAACH,WAAW,EAAEI,KAAK,CAAC;IACtD;EACF,CAAC;EACD,OAAOH,OAAO;AAChB,CAAC;AAED;;;;AAIA,OAAO,MAAMU,cAAc,gBAAkB9H,WAAW,CACtD,uCAAuC,EACvC,MAAMT,MAAM,CAACqG,OAAO,CAAC1F,KAAK,CAAC6H,WAAW,CAAC,CACxC;AAED;;;;AAIA,OAAO,MAAMrE,OAAO,gBAAmB1D,WAAW,CAChD,uCAAuC,EACvC,MAAMmG,OAAO,CAAC;EAAEwB,OAAO,EAAEG;AAAc,CAAE,CAAC,CAC3C;AAED;AACA;AACA;AAEA,MAAM1C,MAAM,GAAGA,CACbhD,GAAY,EACZgD,MAAyC,EACzCpD,OAAuC,EACvC0B,OAA8B,KACkB;EAChD,MAAM2B,YAAY,GAAGrD,OAAO,EAAEqD,YAAY,KAAKE,SAAS,GACpDvE,MAAM,CAACwE,OAAO,CAAOxD,OAAO,CAACqD,YAAY,CAAC,GAC1CrE,MAAM,CAACoC,OAAO,EAAQ;EAC1B,OAAO4E,UAAU,CAAC5F,GAAG,EAAEgD,MAAM,EAAEC,YAAY,EAAE3B,OAAO,CAAC;AACvD,CAAC;AAED,SAASsE,UAAUA,CACjBtD,GAAY,EACZU,MAAyC,EACzCC,YAA0D,EAC1D3B,OAAO,GAAGpD,OAAO,CAACoF,cAAc;EAEhC,MAAMrD,QAAQ,GAAGqC,GAAG,CAACpC,IAAI,EAAgD;EAEzE,MAAM2F,MAAM,GAAqD9I,OAAO,CAAC+I,aAAa,CAAC;IACrFC,OAAOA,CAACC,KAAqB;MAC3B,OAAOjJ,OAAO,CAACkJ,OAAO,CAAC,MAAK;QAC1B,MAAMC,IAAI,GAAGlJ,KAAK,CAACkJ,IAAI,CAACF,KAAK,CAAC;QAC9B,IAAIE,IAAI,CAAC9F,IAAI,KAAK,MAAM,EAAE;UACxBkC,GAAG,CAACC,OAAO,CAAC3D,MAAM,CAACwE,OAAO,CAAC8C,IAAI,CAAC5F,KAAK,EAAE;YACrCwE,OAAO,EAAE;WACV,CAAC,CAAC;QACL;QACA,OAAOe,MAAM;MACf,CAAC,CAAC;IACJ,CAAC;IACDM,SAASA,CAACC,KAAqB;MAC7B,OAAOrJ,OAAO,CAACsJ,IAAI,CAAC,MAAK;QACvB/D,GAAG,CAACC,OAAO,CAAC3D,MAAM,CAAC0H,mBAAmB,CAACF,KAAK,EAAE;UAAEnG;QAAQ,CAAE,CAAC,CAAC;MAC9D,CAAC,CAAC;IACJ,CAAC;IACDsG,MAAMA,CAACC,KAAc;MACnB,OAAOzJ,OAAO,CAACsJ,IAAI,CAAC,MAAK;QACvB1I,IAAI,CACF2E,GAAG,CAACpC,IAAI,EAAgD,EACxDlC,MAAM,CAACqH,OAAO,CAACzG,MAAM,CAAC0B,KAAK,CAAC,EAC5BtC,MAAM,CAACyI,KAAK,CAAC;UACXC,MAAM,EAAEA,CAAA,KAAMpE,GAAG,CAACC,OAAO,CAAC3D,MAAM,CAAC+H,gBAAgB,CAAC,IAAI9J,sBAAsB,EAAE,EAAE;YAAEoD;UAAQ,CAAE,CAAC,CAAC;UAC9F2G,MAAM,EAAGC,CAAC,IAAKvE,GAAG,CAACC,OAAO,CAAC3D,MAAM,CAACwE,OAAO,CAACyD,CAAC,CAAC;SAC7C,CAAC,CACH;MACH,CAAC,CAAC;IACJ;GACD,CAAC;EAEF,MAAMC,eAAe,GAAG5I,OAAO,CAACsE,IAAI,CAAC;IACnCuB,OAAO,EAAE9G,aAAa,CAAC8J,GAAG,CAACzF,OAAO,CAACyC,OAAO,EAAEpF,YAAY,EAAE2D,GAAG,CAAC6B,QAAQ,CAAC;IACvEG,SAAS,EAAEhD,OAAO,CAACgD,SAAS;IAC5BC,YAAY,EAAEjD,OAAO,CAACiD;GACvB,CAAC;EAEF,MAAMG,MAAM,GAAGjG,eAAe,CAACqI,eAAe,CAAC,CAC7C/J,OAAO,CAACiK,QAAQ,CAACjK,OAAO,CAACkK,MAAM,CAAC5I,MAAM,CAAC6I,SAAS,CAAClE,MAAM,CAAC,EAAE6C,MAAM,CAAC,CAAC,EAClEpI,SAAS,CACV;EACD,IAAIiH,MAAM,KAAKvB,SAAS,EAAE;IACxBb,GAAG,CAACmB,YAAY,CAACiB,MAAM,CAAC;EAC1B;EAEA,IAAIzE,QAAQ,CAACG,IAAI,KAAK,MAAM,EAAE;IAC5B,OAAOxB,MAAM,CAACiG,WAAW,CAAC5E,QAAQ,CAAC;EACrC;EACA,OAAOrB,MAAM,CAACkG,OAAO,CAAC7B,YAAY,CAAC;AACrC;AAEA;AACA;AACA;AAEA;AACA,MAAMzB,gBAAgB,GAAGA,CACvBxB,GAAY,EACZmH,GAE2D,EAC3D7F,OAAO,GAAGpD,OAAO,CAACoF,cAAc,KAC9B;EACF,IAAIhF,YAAY,CAACO,MAAM,IAAIsI,GAAG,EAAE;IAC9BnH,GAAG,CAACyD,YAAY,CACd0D,GAAG,CAACC,OAAO,CAACzJ,IAAI,CACdU,MAAM,CAACgJ,UAAU,CAAE/G,KAAK,IAAI;MAC1BN,GAAG,CAACuC,OAAO,CAACjC,KAAK,CAAC;MAClB,OAAOnD,MAAM,CAACyG,IAAI;IACpB,CAAC,CAAC,EACF1F,OAAO,CAACoJ,WAAW,CAAChG,OAAO,CAAC,CAC7B,CACF;IACD,OAAOpD,OAAO,CAACsF,OAAO,CAAClC,OAAO,CAAC,CAAC6F,GAAG,CAACnH,GAAG,CAAC;EAC1C,CAAC,MAAM,IAAImH,GAAG,CAAC/G,IAAI,KAAK,SAAS,EAAE;IACjC,OAAO+G,GAAG;EACZ;EACA,OAAOvB,UAAU,CAAC5F,GAAG,EAAEmH,GAAG,CAAC7G,KAAK,CAAC8G,OAAO,EAAExI,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,EAAEM,OAAO,CAAC;AAC1E,CAAC;AAED,MAAMF,UAAU,GAAGA,CACjBmG,OAA8G,EAC9G1H,IAGQ,KACN;EACF,SAAS+B,KAAKA,CAACU,GAAuD,EAAEhC,KAAU;IAChF,MAAMa,GAAG,GAAGmB,GAAG,CAACtC,GAAG,CAACuH,OAAO,CAAC;IAC5B,IAAIhJ,eAAe,CAAC8C,qBAAqB,IAAIF,GAAG,EAAE;MAChDhE,MAAM,CAACqG,OAAO,CAACjF,eAAe,CAAC0F,GAAG,CAAC9C,GAAG,EAAEb,KAAK,CAAC,CAAC;IACjD,CAAC,MAAM,IAAI1B,MAAM,CAAC4I,SAAS,CAACrG,GAAG,CAAC,EAAE;MAChChE,MAAM,CAACqG,OAAO,CAACjF,eAAe,CAAC0F,GAAG,CAAC9C,GAAG,CAACb,KAAK,EAAEA,KAAK,CAAC,CAAC;IACvD;EACF;EACA,OAAOyB,QAAQ,CAAE/B,GAAG,IAAI;IACtB,MAAMmB,GAAG,GAAGnB,GAAG,CAACuH,OAAO,CAAC;IACxB,IAAIhJ,eAAe,CAAC8C,qBAAqB,IAAIF,GAAG,EAAE;MAChD,OAAOtB,IAAI,CAACG,GAAG,EAAEmB,GAAG,CAAC;IACvB,CAAC,MAAM,IAAIvC,MAAM,CAAC4I,SAAS,CAACrG,GAAG,CAAC,EAAE;MAChC,OAAOtB,IAAI,CAACG,GAAG,EAAEmB,GAAG,CAAC;IACvB;IACA,OAAOA,GAAG;EACZ,CAAC,EAAES,KAAK,CAAC;AACX,CAAC;AAED;;;;AAIA,OAAO,MAAMV,eAAe,GAQ1BC,GAI4G,IAE5GC,UAAU,CACRrB,QAAQ,CAAEC,GAAG,IAAI;EACf,MAAMM,KAAK,GAAG,OAAOa,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACnB,GAAG,CAAC,GAAGmB,GAAG;EACxD,OAAO5C,eAAe,CAAC8C,qBAAqB,IAAIf,KAAK,GACjDA,KAAK,GACLQ,UAAU,CAACd,GAAG,EAAEM,KAAK,EAAE1B,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC,EACFQ,gBAAgB,CACjB;AAEH;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAMC,YAAY,GAUvBN,GAI2G,IAE3GO,gBAAgB,CACd3B,QAAQ,CAAEC,GAAG,IAAI;EACf,MAAMM,KAAK,GAAG,OAAOa,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACnB,GAAG,CAAC,GAAGmB,GAAG;EACxD,OAAO7C,YAAY,CAACqD,cAAc,CAACrB,KAAK,CAAC,GACrCA,KAAK,GACLQ,UAAU,CAACd,GAAG,EAAEM,KAAK,EAAE1B,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC,EACFQ,gBAAgB,CACjB;AAEH,MAAME,gBAAgB,GAAGA,CACvB+F,OAA4G,EAC5G5H,IAGQ,KAERE,QAAQ,CAAEC,GAAG,IAAI;EACf,MAAMmH,GAAG,GAAGnH,GAAG,CAACyH,OAAO,CAAC;EACxB,IAAInJ,YAAY,CAACqD,cAAc,CAACwF,GAAG,CAAC,EAAE;IACpC,OAAOtH,IAAI,CAACG,GAAG,EAAEmH,GAAG,CAAC;EACvB,CAAC,MAAM,IAAIvI,MAAM,CAAC4I,SAAS,CAACL,GAAG,CAAC,EAAE;IAChC,OAAOtH,IAAI,CAACG,GAAG,EAAEmH,GAAG,CAAC;EACvB;EACA,OAAOA,GAAG;AACZ,CAAC,CAAC;AAcJ;;;;AAIA,OAAO,MAAMO,MAAM,GAiBf,SAAAA,CAAS,GAAGC,IAAwB;EACtC,IAAIA,IAAI,CAACnH,MAAM,KAAK,CAAC,EAAE;IACrB,OAAOoH,UAAU;EACnB;EACA,OAAOA,UAAU,CAAC,GAAGD,IAAkB,CAAQ;AACjD,CAAC;AAED,MAAMC,UAAU,GAAGA,CAASC,CAAkC,EAAEjI,OAE/D,KAAyC;EACxC,MAAMiC,OAAO,GAAGjB,KAAK,CAAgB,CAAC,CAAC,EAAEuC,SAAgB,CAAC,CAAC;EAC3D,MAAM2E,eAAe,GAAGlI,OAAO,EAAEqD,YAAY,KAAKE,SAAS;EAC3D,OAAOpB,QAAQ,CAAC,UAAS/B,GAAG;IAC1B;IAAEA,GAAW,CAAC+H,IAAI,GAAG,IAAI;IACzB,MAAM,CAACC,OAAO,EAAErI,GAAG,CAAC,GAAGK,GAAG,CAACA,GAAG,CAAC6B,OAAO,CAAC;IACvC,IAAImG,OAAO,KAAK,CAAC,EAAE;MACjB,OAAOF,eAAe,GAAGlI,OAAO,CAACqD,YAAY,GAAGjF,MAAM,CAACiK,IAAI,EAAE;IAC/D;IACA,OAAOH,eAAe,GAAGD,CAAC,CAAClI,GAAG,EAAEK,GAAG,CAAC,GAAGhC,MAAM,CAACkK,IAAI,CAACL,CAAC,CAAClI,GAAG,EAAEK,GAAG,CAAC,CAAC;EACjE,CAAC,EAAE,UAASsC,GAAG,EAAE3C,GAAG;IAClBwI,KAAK,CAAC,MAAK;MACT7F,GAAG,CAAC2B,GAAG,CAACpC,OAAO,EAAE,CAACS,GAAG,CAACtC,GAAG,CAAC6B,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAElC,GAAU,CAAC,CAAC;MACvD2C,GAAG,CAAC8F,WAAW,EAAE;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAQD;;;;AAIA,OAAO,MAAMC,KAAK,gBAAGC,MAAM,CAACC,GAAG,CAAC,8BAA8B,CAAC;AAQ/D;;;;AAIA,OAAO,MAAMhI,EAAE,GAaX,SAAAA,CAAS,GAAGoH,IAAwB;EACtC,IAAIA,IAAI,CAACnH,MAAM,KAAK,CAAC,EAAE;IACrB,OAAOgI,MAAM;EACf;EACA,OAAOA,MAAM,CAAC,GAAGb,IAAkB,CAAQ;AAC7C,CAAC;AAED,MAAMa,MAAM,GAAGA,CACbX,CAAoH,EACpHjI,OAEC,KACmD;EACpD,MAAM,CAACC,IAAI,EAAE+B,KAAK,CAAC,GAAGE,YAAY,CAAC+F,CAAC,EAAEjI,OAAO,CAAC;EAC9C,OAAOmC,QAAQ,CAAClC,IAAI,EAAE+B,KAAK,CAAQ;AACrC,CAAC;AAED,SAASE,YAAYA,CACnB+F,CAAoH,EACpHjI,OAAuC;EAEvC,MAAMiC,OAAO,GAAGjB,KAAK,CAAgB,CAAC,CAAC,EAAEuC,SAAgB,CAAC,CAAC;EAC3D,MAAMF,YAAY,GAAGrD,OAAO,EAAEqD,YAAY,KAAKE,SAAS,GACpDvE,MAAM,CAACwE,OAAO,CAAOxD,OAAO,CAACqD,YAAY,CAAC,GAC1CrE,MAAM,CAACoC,OAAO,EAAQ;EAE1B,SAASnB,IAAIA,CAACG,GAAY,EAAEsB,OAA8B;IACxD;IAAEtB,GAAW,CAAC+H,IAAI,GAAG,IAAI;IACzB,MAAM,CAACC,OAAO,EAAErI,GAAG,CAAC,GAAGK,GAAG,CAACA,GAAG,CAAC6B,OAAO,CAAC;IACvC,IAAImG,OAAO,KAAK,CAAC,EAAE;MACjB,OAAO/E,YAAY;IACrB;IACA,MAAM3C,KAAK,GAAGuH,CAAC,CAAClI,GAAG,EAAEK,GAAG,CAAC;IACzB,IAAI7C,MAAM,CAAC0F,YAAY,IAAIvC,KAAK,EAAE;MAChC,OAAOQ,UAAU,CAACd,GAAG,EAAEM,KAAK,EAAE2C,YAAY,EAAE3B,OAAO,CAAC;IACtD;IACA,OAAOsE,UAAU,CAAC5F,GAAG,EAAEM,KAAK,EAAE2C,YAAY,EAAE3B,OAAO,CAAC;EACtD;EACA,SAASM,KAAKA,CAACU,GAA+D,EAAE3C,GAAgB;IAC9FwI,KAAK,CAAC,MAAK;MACT,IAAIxI,GAAG,KAAK0I,KAAK,EAAE;QACjB/F,GAAG,CAAC2B,GAAG,CAACpC,OAAO,EAAE,CAAC,CAAC,EAAEsB,SAAgB,CAAC,CAAC;MACzC,CAAC,MAAM;QACLb,GAAG,CAAC2B,GAAG,CAACpC,OAAO,EAAE,CAACS,GAAG,CAACtC,GAAG,CAAC6B,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAElC,GAAG,CAAC,CAAC;MAClD;MACA2C,GAAG,CAAC8F,WAAW,EAAE;IACnB,CAAC,CAAC;EACJ;EACA,OAAO,CAACvI,IAAI,EAAE+B,KAAK,EAAEC,OAAO,CAAU;AACxC;AAWA;;;;AAIA,OAAO,MAAMnB,IAAI,GAAGA,CAClB0B,MAAiG,EACjGxC,OAEC,KACmC;EACpC,MAAMe,UAAU,GAAGC,KAAK,CAAC,CAAC,CAAC;EAC3B,MAAMC,QAAQ,GAAGd,QAAQ,CACvBD,QAAQ,CAAC,UAASE,GAAG;IACnB,OAAOe,oBAAoB,CAACf,GAAG,EAAEW,UAAU,EAAEyB,MAAM,EAAExC,OAAO,CAAC;EAC/D,CAAC,CAAC,CACH;EACD,OAAOqB,cAAc,CAACN,UAAU,EAAEE,QAAQ,CAAC;AAC7C,CAAC;AAED,MAAME,oBAAoB,GAAGA,CAC3Bf,GAAY,EACZW,UAAwB,EACxByB,MAAiG,EACjGxC,OAEC,KAMDzC,MAAM,CAACkI,OAAO,CACZtI,OAAO,CAAC0L,MAAM,CACZpK,MAAM,CAAC6I,SAAS,CAAC,OAAO9E,MAAM,KAAK,UAAU,GAAGA,MAAM,CAACpC,GAAG,CAAC,GAAGoC,MAAM,CAAC,CACtE,EACAsG,SAAS,IAAI;EACZ,MAAMC,SAAS,GAAGxL,MAAM,CAACyL,mBAAmB,CAAC,CAAC,CAAC;EAC/C,MAAMC,KAAK,GAAG7K,MAAM,CAACuD,UAAU,CAACjE,KAAK,CAACwL,eAAe,EAAE,CAAC;EACxD,MAAM/E,OAAO,GAAG8E,KAAK,CAACE,cAAmE;EACzF,IAAIC,GAAG,GAAGhM,KAAK,CAACiM,KAAK,EAAK;EAC1B,MAAMvI,IAAI,GAONvD,MAAM,CAACkI,OAAO,CAChBlI,MAAM,CAAC+L,OAAO,CACZ/L,MAAM,CAAC8I,OAAO,CAAC,MAAMyC,SAAS,CAAC,EAC/BnL,QAAQ,CAACwL,cAAc,EACvBhF,OAAO,CACR,EACD3G,MAAM,CAACqJ,KAAK,CAAC;IACX0C,MAAM,EAAEA,CAAA,KAGJ;MACF,MAAMC,KAAK,GAAGpM,KAAK,CAACqM,eAAe,CAACL,GAAG,CAAa;MACpD,IAAI,CAACpM,GAAG,CAAC0M,eAAe,CAACF,KAAK,CAAC,EAAE;QAC/B,OAAOjM,MAAM,CAACoM,IAAI,CAAC,IAAIzM,KAAK,CAACD,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;MAC7E;MACA,OAAOM,MAAM,CAACqM,OAAO,CAAC;QAAEC,IAAI,EAAE,IAAI;QAAEL;MAAK,CAAE,CAAC;IAC9C,CAAC;IACDM,OAAOA,CAACC,KAAK;MACX,IAAIP,KAAqB;MACzB,IAAIxJ,OAAO,EAAEgK,mBAAmB,EAAE;QAChCR,KAAK,GAAGO,KAAK;MACf,CAAC,MAAM;QACLP,KAAK,GAAGpM,KAAK,CAAC6M,SAAS,CAACb,GAAG,EAAEW,KAAK,CAAC;QACnCX,GAAG,GAAGI,KAAK;MACb;MACA,MAAMU,GAAG,GAAG9M,KAAK,CAACqM,eAAe,CAACD,KAAK,CAAa;MACpD,IAAI,CAACxM,GAAG,CAAC0M,eAAe,CAACQ,GAAG,CAAC,EAAE;QAC7B,OAAOpJ,IAAI;MACb;MACA,OAAOvD,MAAM,CAACqM,OAAO,CAAC;QAAEC,IAAI,EAAE,KAAK;QAAEL,KAAK,EAAEU;MAAG,CAAE,CAAC;IACpD;GACD,CAAC,CACH;EACD,MAAMC,iBAAiB,GAAGpB,SAAS,CAACqB,WAAW,CAAC,CAAC,CAAC,CAACtJ,IAAI,CAAC;EAExD,MAAM4G,WAAW,GAAG7I,eAAe,CAACP,OAAO,CAACsE,IAAI,CAAC;IAC/CuB,OAAO;IACPO,SAAS,EAAEuE,KAAK,CAACoB,YAAY,EAAE;IAC/B1F,YAAY,EAAErG,OAAO,CAACoF,cAAc,CAACiB;GACtC,CAAC,CAAC;EACH,MAAM2F,OAAO,GAAG,IAAIC,GAAG,EAAc;EACrCnK,GAAG,CAACyD,YAAY,CAAC,MAAK;IACpB,KAAK,MAAMiB,MAAM,IAAIwF,OAAO,EAAExF,MAAM,EAAE;EACxC,CAAC,CAAC;EACF1E,GAAG,CAACoK,IAAI,CAACzJ,UAAU,CAAC;EACpBX,GAAG,CAACqK,SAAS,CAAC1J,UAAU,EAAE,MAAK;IAC7BX,GAAG,CAACuC,OAAO,CAAC3D,MAAM,CAACiG,WAAW,CAAC7E,GAAG,CAACE,IAAI,EAAoB,CAAC,CAAC;IAC7D,IAAIwE,MAAgC;IACpC;IACAA,MAAM,GAAG4C,WAAW,CAACyC,iBAAiB,EAAGpF,IAAI,IAAI;MAC/C,IAAID,MAAM,EAAEwF,OAAO,CAACI,MAAM,CAAC5F,MAAM,CAAC;MAClC,MAAM6F,MAAM,GAAG3L,MAAM,CAACgG,oBAAoB,CAACD,IAAI,EAAE3E,GAAG,CAACE,IAAI,EAAE,CAAC;MAC5D,MAAMsK,OAAO,GAAGN,OAAO,CAACO,IAAI,GAAG,CAAC;MAChCzK,GAAG,CAACuC,OAAO,CAACiI,OAAO,GAAG5L,MAAM,CAACkG,OAAO,CAACyF,MAAM,CAAC,GAAGA,MAAM,CAAC;IACxD,CAAC,CAAC;IACF,IAAI7F,MAAM,EAAEwF,OAAO,CAACnD,GAAG,CAACrC,MAAM,CAAC;EACjC,CAAC,CAAC;EAEF,OAAOhE,IAAI;AACb,CAAC,CACF;AAEH,MAAMO,cAAc,GAAGA,CACrBN,UAA4B,EAC5BE,QAAgC,KAEhCkB,QAAQ,CAAClB,QAAQ,CAAChB,IAAI,EAAE,UAASyC,GAAG,EAAEoI,CAAC;EACrCpI,GAAG,CAAC2B,GAAG,CAACtD,UAAU,EAAE2B,GAAG,CAACtC,GAAG,CAACW,UAAU,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEJ;;;;AAIA,OAAO,MAAMgK,MAAM,GAAG,OAAOC,OAAO,KAAK,WAAW,IAAI,OAAOC,oBAAoB,KAAK,WAAW,GAE/FhD,CAAkB,IACC;EACnB,MAAMiD,KAAK,GAAG/M,cAAc,CAACkL,KAAK,EAAU;EAC5C,OAAO,UAAStJ,GAAG;IACjB,MAAMoL,SAAS,GAAGhN,cAAc,CAACiC,GAAG,CAAC8K,KAAK,EAAEnL,GAAG,CAAC;IAChD,IAAIoL,SAAS,CAAC3K,IAAI,KAAK,MAAM,EAAE;MAC7B,OAAO2K,SAAS,CAACzK,KAAK;IACxB;IACA,MAAM0K,OAAO,GAAGnD,CAAC,CAAClI,GAAG,CAAC;IACtB5B,cAAc,CAACkG,GAAG,CAAC6G,KAAK,EAAEnL,GAAG,EAAEqL,OAAO,CAAC;IACvC,OAAOA,OAAO;EAChB,CAAC;AACH,CAAC,GAECnD,CAAkB,IACC;EACnB,MAAMiD,KAAK,GAAG/M,cAAc,CAACkL,KAAK,EAAmB;EACrD,MAAM9E,QAAQ,GAAG,IAAI0G,oBAAoB,CAAOlL,GAAG,IAAI;IACrD5B,cAAc,CAACkN,MAAM,CAACH,KAAK,EAAEnL,GAAG,CAAC;EACnC,CAAC,CAAC;EACF,OAAO,UAASA,GAAG;IACjB,MAAMoL,SAAS,GAAGhN,cAAc,CAACiC,GAAG,CAAC8K,KAAK,EAAEnL,GAAG,CAAC,CAAChC,IAAI,CACnDK,MAAM,CAACkN,eAAe,CAAE/J,GAAG,IAAKA,GAAG,CAACgK,KAAK,EAAE,CAAC,CAC7C;IAED,IAAIJ,SAAS,CAAC3K,IAAI,KAAK,MAAM,EAAE;MAC7B,OAAO2K,SAAS,CAACzK,KAAK;IACxB;IACA,MAAM0K,OAAO,GAAGnD,CAAC,CAAClI,GAAG,CAAC;IACtB5B,cAAc,CAACkG,GAAG,CAAC6G,KAAK,EAAEnL,GAAG,EAAE,IAAIiL,OAAO,CAACI,OAAO,CAAC,CAAC;IACpD7G,QAAQ,CAACiH,QAAQ,CAACJ,OAAO,EAAErL,GAAG,CAAC;IAC/B,OAAOqL,OAAO;EAChB,CAAC;AACH,CAAC;AAEH;;;;AAIA,OAAO,MAAMK,YAAY,gBAcrB3N,IAAI,CAAC,CAAC,EAAE,CACVwC,IAAO,EACPoL,QAAqC,KAG6D;EAElG,SAASD,YAAYA,CAACrL,GAAY;IAChC,MAAMuK,MAAM,GAAGvK,GAAG,CAACE,IAAI,CAAC;IACxB,IAAIqK,MAAM,CAACnK,IAAI,KAAK,SAAS,EAAE;MAC7B,OAAOxB,MAAM,CAACkG,OAAO,CAAC9E,GAAG,CAACsL,QAAQ,CAAC,CAAC;IACtC;IACA,OAAOf,MAAM;EACf;EACA,OAAOtI,UAAU,CAAC/B,IAAI,CAAC,GACnB6B,QAAQ,CACRsJ,YAAY,EACZnL,IAAI,CAAC0B,KAAK,EACV1B,IAAI,CAACgC,OAAO,IAAI,UAASA,OAAO;IAC9BA,OAAO,CAAChC,IAAI,CAAC;EACf,CAAC,CACK,GACNH,QAAQ,CACRsL,YAAY,EACZnL,IAAI,CAACgC,OAAO,IAAI,UAASA,OAAO;IAC9BA,OAAO,CAAChC,IAAI,CAAC;EACf,CAAC,CACK;AACZ,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMf,SAAS,GAAyBe,IAAO,IACpDiC,MAAM,CAACoJ,MAAM,CAACpJ,MAAM,CAACC,MAAM,CAACD,MAAM,CAACqJ,cAAc,CAACtL,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACPf,SAAS,EAAE;CACZ,CAAC;AAEJ;;;;;;;;;AASA,OAAO,MAAMsM,WAAW,GAAyBvL,IAAO,IACtDiC,MAAM,CAACoJ,MAAM,CAACpJ,MAAM,CAACC,MAAM,CAACD,MAAM,CAACqJ,cAAc,CAACtL,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACPf,SAAS,EAAE;CACZ,CAAC;AAEJ;;;;AAIA,OAAO,MAAMuM,OAAO,gBAGhBhO,IAAI,CAAC,CAAC,EAAE,CAAsBwC,IAAO,EAAEd,IAAa,KACtD+C,MAAM,CAACoJ,MAAM,CAACpJ,MAAM,CAACC,MAAM,CAACD,MAAM,CAACqJ,cAAc,CAACtL,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACPd;CACD,CAAC,CAAC;AAEL;;;;AAIA,OAAO,MAAMuM,SAAS,gBAGlBjO,IAAI,CAGN,CAAC,EAAE,CAACwC,IAAI,EAAE0L,IAAI,KACdzJ,MAAM,CAACoJ,MAAM,CAACpJ,MAAM,CAACC,MAAM,CAACD,MAAM,CAACqJ,cAAc,CAACtL,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACPb,KAAK,EAAE,CAACuM,IAAI,EAAE,IAAIC,KAAK,EAAE,CAACC,KAAK,EAAEC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;CACtD,CAAC,CAAC;AAEL;;;;AAIA,OAAO,MAAMC,UAAU,gBAGnBtO,IAAI,CAGN,CAAC,EAAE,CAACwC,IAAI,EAAE+L,QAAQ,KAClB9J,MAAM,CAACoJ,MAAM,CAACpJ,MAAM,CAACC,MAAM,CAACD,MAAM,CAACqJ,cAAc,CAACtL,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACPf,SAAS,EAAE,KAAK;EAChB+M,OAAO,EAAEhP,QAAQ,CAACiP,QAAQ,CAACF,QAAQ;CACpC,CAAC,CAAC;AAEL;;;;AAIA,OAAO,MAAMhJ,YAAY,gBAGrBvF,IAAI,CAGN,CAAC,EAAE,CAACwC,IAAI,EAAE+C,YAAY,KAAK,CAAC/C,IAAI,EAAE+C,YAAY,CAAC,CAAC;AAElD;;;;AAIA,OAAO,MAAMmJ,SAAS,gBAQlB1O,IAAI,CACN,CAAC,EACA,CAAOwC,IAAa,EAAE2H,CAAsB,KAC3C5F,UAAU,CAAC/B,IAAI,CAAC,GACZ6B,QAAQ,CACR8F,CAAC,EACD,UAASvF,GAAG,EAAEhC,KAAK;EACjBgC,GAAG,CAAC2B,GAAG,CAAC/D,IAAI,EAAEI,KAAK,CAAC;AACtB,CAAC,EACDJ,IAAI,CAACgC,OAAO,IAAI,UAASA,OAAO;EAC9BA,OAAO,CAAChC,IAAI,CAAC;AACf,CAAC,CACF,GACCH,QAAQ,CACR8H,CAAC,EACD3H,IAAI,CAACgC,OAAO,IAAI,UAASA,OAAO;EAC9BA,OAAO,CAAChC,IAAI,CAAC;AACf,CAAC,CACM,CACd;AAED;;;;AAIA,OAAO,MAAMmM,GAAG,gBAQZ3O,IAAI,CACN,CAAC,EACD,CAAOwC,IAAa,EAAE2H,CAAc,KAAcuE,SAAS,CAAClM,IAAI,EAAGF,GAAG,IAAK6H,CAAC,CAAC7H,GAAG,CAACE,IAAI,CAAC,CAAC,CAAC,CACzF;AAED;;;;AAIA,OAAO,MAAMoM,SAAS,gBAYlB5O,IAAI,CAAC,CAAC,EAAE,CACVwC,IAAO,EACP2H,CAA2C,KAEiBwE,GAAG,CAACnM,IAAI,EAAEtB,MAAM,CAACyN,GAAG,CAACxE,CAAC,CAAC,CAAC,CAAC;AAEvF;;;;AAIA,OAAO,MAAM0E,QAAQ,gBAGjB7O,IAAI,CACN,CAAC,EACD,CAAIwC,IAAa,EAAE+L,QAAgC,KAAa;EAC9D,MAAMO,MAAM,GAAGtP,QAAQ,CAACiP,QAAQ,CAACF,QAAQ,CAAC;EAC1C,OAAOG,SAAS,CAAClM,IAAI,EAAE,UAASF,GAAG;IACjC,IAAIyM,OAA2B;IAC/B,IAAInM,KAAK,GAAGN,GAAG,CAACoK,IAAI,CAAClK,IAAI,CAAC;IAC1B,SAASwM,MAAMA,CAAA;MACbD,OAAO,GAAGtJ,SAAS;MACnBnD,GAAG,CAACuC,OAAO,CAACjC,KAAK,CAAC;IACpB;IACAN,GAAG,CAACyD,YAAY,CAAC;MACf,IAAIgJ,OAAO,EAAEE,YAAY,CAACF,OAAO,CAAC;IACpC,CAAC,CAAC;IACFzM,GAAG,CAACqK,SAAS,CAACnK,IAAI,EAAE,UAAS0M,GAAG;MAC9BtM,KAAK,GAAGsM,GAAG;MACX,IAAIH,OAAO,EAAEE,YAAY,CAACF,OAAO,CAAC;MAClCA,OAAO,GAAGI,UAAU,CAACH,MAAM,EAAEF,MAAM,CAAC;IACtC,CAAC,CAAC;IACF,OAAOlM,KAAK;EACd,CAAC,CAAC;AACJ,CAAC,CACF;AAED;;;;AAIA,OAAO,MAAMwM,UAAU,GACrB5M,IAAa,IACmC;EAChD,IAAI8H,OAAO,GAAG,CAAC;EACf,MAAM+E,SAAS,GAAGnM,KAAK,CACrB,CACEoH,OAAO,EACP7E,SAAmD,CAC3C,CACX;EACD,OAAOpB,QAAQ,CACZ/B,GAAG,IAAI;IACN,IAAIgN,SAAS,GAAGhN,GAAG,CAACoK,IAAI,CAAClK,IAAI,CAAC;IAC9BF,GAAG,CAACqK,SAAS,CAACnK,IAAI,EAAGI,KAAK,IAAI;MAC5B0M,SAAS,GAAG1M,KAAK;MACjB,IAAI,CAAC1B,MAAM,CAACqO,QAAQ,CAAC3M,KAAK,CAAC,EAAE;QAC3B,OAAON,GAAG,CAACuC,OAAO,CAACjC,KAAK,CAAC;MAC3B;MACA,MAAM4M,OAAO,GAAGlP,MAAM,CAACmP,cAAc,CAACnN,GAAG,CAACE,IAAI,EAA2B,CAAE;MAC3E,IAAItB,MAAM,CAAC4I,SAAS,CAAC0F,OAAO,CAAC,IAAItO,MAAM,CAAC4I,SAAS,CAAClH,KAAK,CAAC,EAAE;QACxD,IAAIA,KAAK,CAAC8M,SAAS,IAAIF,OAAO,CAACE,SAAS,EAAE;UACxCpN,GAAG,CAACuC,OAAO,CAACjC,KAAK,CAAC;QACpB;MACF,CAAC,MAAM;QACLN,GAAG,CAACuC,OAAO,CAACjC,KAAK,CAAC;MACpB;IACF,CAAC,CAAC;IACF,MAAM+M,WAAW,GAAG,IAAIlD,GAAG,EAAmC;IAC9D,MAAMD,OAAO,GAAG,IAAIC,GAAG,EAAc;IACrCnK,GAAG,CAACqK,SAAS,CAAC0C,SAAS,EAAE,CAAC,GAAGrN,IAAI,CAAC,KAAI;MACpC,IAAI2N,WAAW,CAACC,GAAG,CAAC5N,IAAI,CAAC,EAAE;MAC3B2N,WAAW,CAACtG,GAAG,CAACrH,IAAI,CAAC;MACrB,IAAIgF,MAAgC;MACpC;MACAA,MAAM,GAAG1E,GAAG,CAACmE,QAAQ,CAACkG,SAAS,CAAC3K,IAAI,EAAG6K,MAAM,IAAI;QAC/C,IAAI3L,MAAM,CAAC4I,SAAS,CAAC+C,MAAM,CAAC,IAAIA,MAAM,CAACzF,OAAO,EAAE;UAC9C,OAAO9E,GAAG,CAACuC,OAAO,CAACgI,MAAM,CAACjK,KAAK,CAAC;QAClC;QACA+M,WAAW,CAAC/C,MAAM,CAAC5K,IAAI,CAAC;QACxB,IAAIgF,MAAM,EAAE;UACVwF,OAAO,CAACI,MAAM,CAAC5F,MAAM,CAAC;UACtBA,MAAM,EAAE;QACV;QACA,IAAI2I,WAAW,CAAC5C,IAAI,KAAK,CAAC,EAAE;UAC1B,IAAI7L,MAAM,CAAC2O,SAAS,CAAChD,MAAM,CAAC,EAAE;YAC5BvK,GAAG,CAACuC,OAAO,CAACyK,SAAS,CAAC;UACxB;UACAhN,GAAG,CAACkC,OAAO,CAAChC,IAAI,CAAC;QACnB;MACF,CAAC,EAAE;QAAEsN,SAAS,EAAE;MAAI,CAAE,CAAC;MACvB,IAAIH,WAAW,CAACC,GAAG,CAAC5N,IAAI,CAAC,EAAE;QACzBwK,OAAO,CAACnD,GAAG,CAACrC,MAAM,CAAC;MACrB,CAAC,MAAM;QACLA,MAAM,EAAE;MACV;IACF,CAAC,CAAC;IACF1E,GAAG,CAACyD,YAAY,CAAC,MAAK;MACpB,KAAK,MAAMiB,MAAM,IAAIwF,OAAO,EAAExF,MAAM,EAAE;MACtC2I,WAAW,CAACI,KAAK,EAAE;MACnBvD,OAAO,CAACuD,KAAK,EAAE;IACjB,CAAC,CAAC;IACF,OAAOT,SAAS;EAClB,CAAC,EACD,CAAC1K,GAAG,EAAE5C,IAAI,KAAK4C,GAAG,CAAC2B,GAAG,CAAC8I,SAAS,EAAE,CAAC,EAAE/E,OAAO,EAAEtI,IAAI,CAAC,CAAC,EACnDwC,OAAO,IAAKA,OAAO,CAAChC,IAAI,CAAC,CAC3B;AACH,CAAC;AAED;;;;AAIA,OAAO,MAAMwN,YAAY,gBAoBrBhQ,IAAI,CAAC,CAAC,EAAE,CACVwC,IAAkD,EAClDN,OAKC,KAC2B;EAC5B,MAAM+N,UAAU,GAAG/M,KAAK,CAA4BhC,MAAM,CAACoC,OAAO,EAAE,CAAC;EACrE,OAAOT,EAAE,CAAC,CAACZ,GAAO,EAAEK,GAAG,KAAI;IACzB,IAAIM,KAAK,GAAGV,OAAO,CAACgO,OAAO,CAAC5N,GAAG,CAACE,IAAI,CAAC,EAAEP,GAAG,CAAC;IAC3C,IAAIf,MAAM,CAACqO,QAAQ,CAAC3M,KAAK,CAAC,IAAI,CAACA,KAAK,CAACwE,OAAO,EAAE;MAC5CxE,KAAK,GAAG1B,MAAM,CAACkG,OAAO,CAACxE,KAAK,CAAC;IAC/B;IACAN,GAAG,CAACiE,GAAG,CAAC0J,UAAU,EAAE/O,MAAM,CAACwE,OAAO,CAAC9C,KAAK,EAAE;MAAEwE,OAAO,EAAE;IAAI,CAAE,CAAC,CAAC;IAC7D9E,GAAG,CAACiE,GAAG,CAAC/D,IAAI,EAAEyN,UAAU,CAAC;IACzB,MAAMpN,EAAE,GAAG,OAAOX,OAAO,CAACW,EAAE,KAAK,UAAU,GACvCkL,WAAW,CAAC7L,OAAO,CAACW,EAAE,CAAED,KAAK,IAC7BN,GAAG,CAACiE,GAAG,CACL0J,UAAU,EACV/O,MAAM,CAACwE,OAAO,CAACxE,MAAM,CAACqO,QAAQ,CAAC3M,KAAK,CAAC,GAAG1B,MAAM,CAACkG,OAAO,CAACxE,KAAK,CAAC,GAAGA,KAAK,EAAE;MAAEwE,OAAO,EAAE;IAAI,CAAE,CAAC,CAC1F,CACF,CAAC,GACAlF,OAAO,CAACW,EAAE;IACdP,GAAG,CAACiE,GAAG,CAAC1D,EAAE,EAAEZ,GAAG,CAAC;IAChB,OAAOxC,MAAM,CAAC0Q,MAAM,CAAC7N,GAAG,CAACuK,MAAM,CAAChK,EAAE,EAAE;MAAEuN,gBAAgB,EAAE;IAAI,CAAE,CAAC,EAAGnJ,IAAI,IAAI;MACxE3E,GAAG,CAACiE,GAAG,CAAC0J,UAAU,EAAE/O,MAAM,CAACmP,QAAQ,CAAC1Q,IAAI,CAAC2Q,EAAE,CAACrJ,IAAI,EAAErE,KAAK,CAAC,CAAC,CAAC;MAC1D,OAAOnD,MAAM,CAACyG,IAAI;IACpB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMuE,KAAK,GAA4B3J,gBAAgB,CAAC2J,KAAK;AAEpE;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAM8F,iBAAiB,gBAAiBlO,QAAQ,CAAEC,GAAG,IAAI;EAC9D,IAAIkO,KAAK,GAAG,CAAC;EACb,SAASxB,MAAMA,CAAA;IACb,IAAIyB,QAAQ,CAACC,eAAe,KAAK,SAAS,EAAE;MAC1CpO,GAAG,CAACuC,OAAO,CAAC,EAAE2L,KAAK,CAAC;IACtB;EACF;EACAG,MAAM,CAACC,gBAAgB,CAAC,kBAAkB,EAAE5B,MAAM,CAAC;EACnD1M,GAAG,CAACyD,YAAY,CAAC,MAAK;IACpB4K,MAAM,CAACE,mBAAmB,CAAC,kBAAkB,EAAE7B,MAAM,CAAC;EACxD,CAAC,CAAC;EACF,OAAOwB,KAAK;AACd,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMM,mBAAmB,GAAOC,MAAe,IAA2BvO,IAAO,IACtFkM,SAAS,CAAClM,IAAI,EAAGF,GAAG,IAAI;EACtBA,GAAG,CAACqK,SAAS,CAACoE,MAAM,EAAG/D,CAAC,IAAK1K,GAAG,CAACkC,OAAO,CAAChC,IAAI,CAAC,CAAC;EAC/CF,GAAG,CAACqK,SAAS,CAACnK,IAAI,EAAGI,KAAK,IAAKN,GAAG,CAACuC,OAAO,CAACjC,KAAK,CAAC,CAAC;EAClD,OAAON,GAAG,CAACoK,IAAI,CAAClK,IAAI,CAAC;AACvB,CAAC,CAAQ;AAEX;;;;AAIA,OAAO,MAAMwO,oBAAoB,gBAA6DF,mBAAmB,CAC/GP,iBAAiB,CAClB;AAED;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAMU,GAAG,GAAO/O,OAKtB,IAAiB;EAChB,MAAMgP,OAAO,GAAGhP,OAAO,CAAC0B,OAAO,CAACf,EAAE,CAChCpD,MAAM,CAAC0R,UAAU,CAAC,WAAUvO,KAAQ;IAClC,MAAMwO,KAAK,GAAG,CAAC,OAAOnS,aAAa,CAACA,aAAa,EAAEoS,SAAS,CAC1DnP,OAAO,CAACoP,MAAM,CACf;IACD,OAAOF,KAAK,CAAC7K,GAAG,CAACrE,OAAO,CAACsE,GAAG,EAAE5D,KAAK,CAAC;EACtC,CAAC,CAAC,CACH;EACD,MAAM2O,UAAU,GAAGrP,OAAO,CAAC0B,OAAO,CAAC5B,IAAI,CACrCvC,MAAM,CAACkI,OAAO,CACZ1I,aAAa,CAACA,aAAa,EAC1BmS,KAAK,IAAK3R,MAAM,CAAC+R,OAAO,CAACJ,KAAK,CAACC,SAAS,CAACnP,OAAO,CAACoP,MAAM,CAAC,CAAChP,GAAG,CAACJ,OAAO,CAACsE,GAAG,CAAC,CAAC,CAC5E,CACF;EACD,OAAOnC,QAAQ,CACZ/B,GAAG,IAAI;IACNA,GAAG,CAACmP,KAAK,CAACP,OAAO,CAAC;IAClB,OAAOhQ,MAAM,CAACwQ,SAAS,CAACpP,GAAG,CAACiP,UAAU,CAAC,EAAErP,OAAO,CAACyP,YAAY,CAAC;EAChE,CAAC,EACD,CAAC/M,GAAG,EAAEhC,KAAQ,KAAI;IAChBgC,GAAG,CAAC2B,GAAG,CAAC2K,OAAO,EAAEtO,KAAY,CAAC;IAC9BgC,GAAG,CAACC,OAAO,CAACjC,KAAK,CAAC;EACpB,CAAC,CACF;AACH,CAAC;AAED;AACA;AACA;AAEA;;;;;;;;AAQA,OAAO,MAAMgP,WAAW,GAAGA,CAAsC1D,IAAY,EAAEhM,OAE9E,KAA+D;EAC9D,MAAM2P,MAAM,GAAG3P,OAAO,EAAEoP,MAAM,IAAI7Q,MAAM,CAACqR,YAAY,CAAC5P,OAAO,CAACoP,MAAM,CAAC;EACrE,MAAMS,MAAM,GAAG7P,OAAO,EAAEoP,MAAM,IAAI7Q,MAAM,CAACuR,YAAY,CAAC9P,OAAO,CAACoP,MAAM,CAAC;EACrE,OAAOjN,QAAQ,CACZ/B,GAAG,IAAI;IACN,MAAM2P,YAAY,GAAGA,CAAA,KAAK;MACxB,IAAIC,gBAAgB,CAACC,QAAQ,EAAE;MAC/B,MAAMC,YAAY,GAAG,IAAIC,eAAe,CAAC1B,MAAM,CAAC2B,QAAQ,CAACC,MAAM,CAAC;MAChE,MAAMC,QAAQ,GAAGJ,YAAY,CAAC9P,GAAG,CAAC4L,IAAI,CAAC,IAAI,EAAE;MAC7C,IAAI2D,MAAM,EAAE;QACVvP,GAAG,CAACuC,OAAO,CAACnF,MAAM,CAAC+S,QAAQ,CAACZ,MAAM,CAACW,QAAa,CAAC,CAAC,CAAC;MACrD,CAAC,MAAM,IAAIA,QAAQ,KAAKlS,MAAM,CAACmP,cAAc,CAACnN,GAAG,CAACE,IAAI,EAAE,CAAC,EAAE;QACzDF,GAAG,CAACuC,OAAO,CAAC2N,QAAQ,CAAC;MACvB;IACF,CAAC;IACD7B,MAAM,CAACC,gBAAgB,CAAC,UAAU,EAAEqB,YAAY,CAAC;IACjDtB,MAAM,CAACC,gBAAgB,CAAC,WAAW,EAAEqB,YAAY,CAAC;IAClD3P,GAAG,CAACyD,YAAY,CAAC,MAAK;MACpB4K,MAAM,CAACE,mBAAmB,CAAC,UAAU,EAAEoB,YAAY,CAAC;MACpDtB,MAAM,CAACE,mBAAmB,CAAC,WAAW,EAAEoB,YAAY,CAAC;IACvD,CAAC,CAAC;IACF,MAAMrP,KAAK,GAAG,IAAIyP,eAAe,CAAC1B,MAAM,CAAC2B,QAAQ,CAACC,MAAM,CAAC,CAACjQ,GAAG,CAAC4L,IAAI,CAAC,IAAI,EAAE;IACzE,OAAO2D,MAAM,GAAGnS,MAAM,CAAC+S,QAAQ,CAACZ,MAAM,CAACjP,KAAU,CAAC,CAAC,GAAGA,KAAY;EACpE,CAAC,EACD,CAACgC,GAAG,EAAEhC,KAAU,KAAI;IAClB,IAAImP,MAAM,EAAE;MACV,MAAMW,OAAO,GAAGpS,MAAM,CAACqH,OAAO,CAAC/E,KAAK,EAAG+P,CAAC,IAAKjT,MAAM,CAAC+S,QAAQ,CAACV,MAAM,CAACY,CAAM,CAAC,CAAC,CAAC;MAC7ET,gBAAgB,CAACU,OAAO,CAACrM,GAAG,CAAC2H,IAAI,EAAE5N,MAAM,CAACoR,SAAS,CAACgB,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;MACvE9P,KAAK,GAAGtC,MAAM,CAACuS,QAAQ,CAACH,OAAO,EAAE9P,KAAK,CAAC;IACzC,CAAC,MAAM;MACLsP,gBAAgB,CAACU,OAAO,CAACrM,GAAG,CAAC2H,IAAI,EAAEtL,KAAK,CAAC;IAC3C;IACAgC,GAAG,CAACC,OAAO,CAACjC,KAAK,CAAC;IAClB,IAAIsP,gBAAgB,CAACnD,OAAO,EAAE;MAC5BE,YAAY,CAACiD,gBAAgB,CAACnD,OAAO,CAAC;IACxC;IACAmD,gBAAgB,CAACnD,OAAO,GAAGI,UAAU,CAAC2D,kBAAkB,EAAE,GAAG,CAAC;EAChE,CAAC,CACF;AACH,CAAC;AAED,MAAMZ,gBAAgB,GAAG;EACvBnD,OAAO,EAAEtJ,SAA+B;EACxCmN,OAAO,eAAE,IAAIxM,GAAG,EAAkB;EAClC+L,QAAQ,EAAE;CACX;AAED,SAASW,kBAAkBA,CAAA;EACzBZ,gBAAgB,CAACnD,OAAO,GAAGtJ,SAAS;EACpCyM,gBAAgB,CAACC,QAAQ,GAAG,IAAI;EAChC,MAAMC,YAAY,GAAG,IAAIC,eAAe,CAAC1B,MAAM,CAAC2B,QAAQ,CAACC,MAAM,CAAC;EAChE,KAAK,MAAM,CAAC/L,GAAG,EAAE5D,KAAK,CAAC,IAAIsP,gBAAgB,CAACU,OAAO,CAACG,OAAO,EAAE,EAAE;IAC7D,IAAInQ,KAAK,CAACE,MAAM,GAAG,CAAC,EAAE;MACpBsP,YAAY,CAAC7L,GAAG,CAACC,GAAG,EAAE5D,KAAK,CAAC;IAC9B,CAAC,MAAM;MACLwP,YAAY,CAACxF,MAAM,CAACpG,GAAG,CAAC;IAC1B;EACF;EACA0L,gBAAgB,CAACU,OAAO,CAAC7C,KAAK,EAAE;EAChC,MAAMiD,MAAM,GAAG,GAAGrC,MAAM,CAAC2B,QAAQ,CAACW,QAAQ,IAAIb,YAAY,CAACxQ,QAAQ,EAAE,EAAE;EACvE+O,MAAM,CAACuC,OAAO,CAACC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAEH,MAAM,CAAC;EACxCd,gBAAgB,CAACC,QAAQ,GAAG,KAAK;AACnC;AAEA;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAMiB,QAAQ,GAAO5Q,IAAa,IACvC7B,MAAM,CAAC0S,MAAM,CAAC5T,MAAM,CAACkP,GAAG,CAAC1N,YAAY,EAAED,QAAQ,CAACoS,QAAQ,CAAC5Q,IAAI,CAAC,CAAC,CAAC;AAElE;;;;AAIA,OAAO,MAAM8Q,cAAc,GAAU9Q,IAA+B,IAClE7B,MAAM,CAAC0S,MAAM,CAAC5T,MAAM,CAACkP,GAAG,CAAC1N,YAAY,EAAED,QAAQ,CAACsS,cAAc,CAAC9Q,IAAI,CAAC,CAAC,CAAC;AAExE;;;;AAIA,OAAO,MAAMF,GAAG,GAAOE,IAAa,IAClC/C,MAAM,CAACkP,GAAG,CAAC1N,YAAY,EAAG+L,CAAC,IAAKA,CAAC,CAAC1K,GAAG,CAACE,IAAI,CAAC,CAAC;AAE9C;;;;AAIA,OAAO,MAAM+Q,MAAM,gBAKfvT,IAAI,CACN,CAAC,EACD,CAAUwC,IAAoB,EAAE2H,CAA2C,KACzE1K,MAAM,CAACkP,GAAG,CAAC1N,YAAY,EAAG+L,CAAC,IAAKA,CAAC,CAACuG,MAAM,CAAC/Q,IAAI,EAAE2H,CAAC,CAAC,CAAC,CACrD;AAED;;;;AAIA,OAAO,MAAM5D,GAAG,gBAGZvG,IAAI,CACN,CAAC,EACD,CAAOwC,IAAoB,EAAEI,KAAQ,KACnCnD,MAAM,CAACkP,GAAG,CAAC1N,YAAY,EAAG+L,CAAC,IAAKA,CAAC,CAACzG,GAAG,CAAC/D,IAAI,EAAEI,KAAK,CAAC,CAAC,CACtD;AAED;;;;AAIA,OAAO,MAAMoM,MAAM,gBAGfhP,IAAI,CACN,CAAC,EACD,CAAOwC,IAAoB,EAAE2H,CAAc,KACzC1K,MAAM,CAACkP,GAAG,CAAC1N,YAAY,EAAG+L,CAAC,IAAKA,CAAC,CAACgC,MAAM,CAACxM,IAAI,EAAE2H,CAAC,CAAC,CAAC,CACrD;AAED;;;;AAIA,OAAO,MAAMqJ,SAAS,GAAGA,CACvBhR,IAA+B,EAC/BN,OAA6D,KACvBzC,MAAM,CAACkI,OAAO,CAAC1G,YAAY,EAAED,QAAQ,CAACwS,SAAS,CAAChR,IAAI,EAAEN,OAAO,CAAC,CAAC;AAEvG;;;;AAIA,OAAO,MAAMsC,OAAO,GAAOhC,IAAa,IACtC/C,MAAM,CAACkP,GAAG,CAAC1N,YAAY,EAAG+L,CAAC,IAAKA,CAAC,CAACxI,OAAO,CAAChC,IAAI,CAAC,CAAC;AAElD;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAMiR,kBAAkB,GAAuB,qCAAqC;AAoB3F;;;;AAIA,OAAO,MAAMC,cAAc,GAAIlR,IAAe,IAAuCiR,kBAAkB,IAAIjR,IAAI;AAE/G;;;;AAIA,OAAO,MAAMmR,YAAY,gBASrB3T,IAAI,CAAC,CAAC,EAAE,CAA4BwC,IAAO,EAAEN,OAGhD,KACCuC,MAAM,CAACoJ,MAAM,CAACpJ,MAAM,CAACC,MAAM,CAACD,MAAM,CAACqJ,cAAc,CAACtL,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACPb,KAAK,EAAEa,IAAI,CAACb,KAAK,IAAI,CAACO,OAAO,CAACsE,GAAG,EAAE,IAAI2H,KAAK,EAAE,CAACC,KAAK,EAAEC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;EAC3E,CAACoF,kBAAkB,GAAG;IACpBjN,GAAG,EAAEtE,OAAO,CAACsE,GAAG;IAChBuL,MAAM,EAAEtR,MAAM,CAACmT,UAAU,CAAC1R,OAAO,CAACoP,MAAM,CAAC;IACzCO,MAAM,EAAEpR,MAAM,CAACoT,UAAU,CAAC3R,OAAO,CAACoP,MAAM;;CAE3C,CAAC,CAAC;AAEL;;;;AAIA,OAAO,MAAMwC,iBAAiB,GAAG,oCAA6C;AAE9E;;;;;;AAMA,OAAO,MAAMC,eAAe,gBAGxB/T,IAAI,CACN,CAAC,EACD,CAAsBwC,IAAO,EAAEL,IAA+C,KAC5EsC,MAAM,CAACoJ,MAAM,CAACpJ,MAAM,CAACC,MAAM,CAACD,MAAM,CAACqJ,cAAc,CAACtL,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACP,CAACsR,iBAAiB,GAAG3R;CACtB,CAAC,CACL;AAED;;;;;;AAMA,OAAO,MAAM6R,sBAAsB,GAA6CxR,IAAO,IACrFuR,eAAe,CAACvR,IAAI,EAAE1C,QAAQ,CAACoB,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,CAAQ,CAAC;AAE9D;;;;AAIA,OAAO,MAAM2Q,cAAc,gBAGvBjU,IAAI,CACN,CAAC,EACD,CAAIwC,IAAa,EAAEiE,QAA2B,KAC5CqN,iBAAiB,IAAItR,IAAI,GACpBA,IAAY,CAACsR,iBAAiB,CAAC,CAAE9R,IAAe,IAAKyE,QAAQ,CAACnE,GAAG,CAACN,IAAI,CAAC,CAAC,GACzEyE,QAAQ,CAACnE,GAAG,CAACE,IAAI,CAAC,CACzB","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","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","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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-atom/atom",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Reactive toolkit for Effect",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,6 +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
15
  "@effect/platform": "^0.90.0",
15
16
  "effect": "^3.17.0"
16
17
  },
package/src/Atom.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  /* eslint-disable @typescript-eslint/no-empty-object-type */
5
+ import * as Reactivity from "@effect/experimental/Reactivity"
5
6
  import * as KeyValueStore from "@effect/platform/KeyValueStore"
6
7
  import * as Arr from "effect/Array"
7
8
  import { NoSuchElementException } from "effect/Cause"
@@ -23,6 +24,7 @@ import * as Layer from "effect/Layer"
23
24
  import * as MutableHashMap from "effect/MutableHashMap"
24
25
  import * as Option from "effect/Option"
25
26
  import { type Pipeable, pipeArguments } from "effect/Pipeable"
27
+ import type { ReadonlyRecord } from "effect/Record"
26
28
  import * as Runtime from "effect/Runtime"
27
29
  import * as Schema from "effect/Schema"
28
30
  import * as Scope from "effect/Scope"
@@ -192,9 +194,12 @@ const RuntimeProto = {
192
194
  })
193
195
  },
194
196
 
195
- fn(this: AtomRuntime<any, any>, arg: any, options?: { readonly initialValue?: unknown }) {
197
+ fn(this: AtomRuntime<any, any>, arg: any, options?: {
198
+ readonly initialValue?: unknown
199
+ readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
200
+ }) {
196
201
  if (arguments.length === 0) {
197
- return (arg: any, options?: { readonly initialValue?: unknown }) => makeFnRuntime(this, arg, options)
202
+ return (arg: any, options?: {}) => makeFnRuntime(this, arg, options)
198
203
  }
199
204
  return makeFnRuntime(this, arg, options)
200
205
  },
@@ -261,8 +266,30 @@ const RuntimeProto = {
261
266
  }
262
267
  }
263
268
 
264
- const makeFnRuntime = (self: AtomRuntime<any, any>, arg: any, options?: { readonly initialValue?: unknown }) => {
265
- const [read, write, argAtom] = makeResultFn(arg, options)
269
+ const makeFnRuntime = (
270
+ self: AtomRuntime<any, any>,
271
+ arg: (
272
+ arg: any,
273
+ get: FnContext
274
+ ) =>
275
+ | Effect.Effect<any, any, Scope.Scope | AtomRegistry>
276
+ | Stream.Stream<any, any, AtomRegistry>,
277
+ options?: {
278
+ readonly initialValue?: unknown
279
+ readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
280
+ }
281
+ ) => {
282
+ const [read, write, argAtom] = makeResultFn(
283
+ options?.reactivityKeys ?
284
+ ((a: any, get: FnContext) => {
285
+ const effect = arg(a, get)
286
+ return Effect.isEffect(effect)
287
+ ? Reactivity.mutation(effect, options.reactivityKeys!)
288
+ : Stream.ensuring(effect, Reactivity.invalidate(options.reactivityKeys!))
289
+ }) as any :
290
+ arg,
291
+ options
292
+ )
266
293
  return writable((get) => {
267
294
  get.get(argAtom)
268
295
  const previous = get.self<Result.Result<any, any>>()
@@ -493,42 +520,60 @@ export interface AtomRuntime<R, ER> extends Atom<Result.Result<Runtime.Runtime<R
493
520
  readonly layer: Atom<Layer.Layer<R, ER>>
494
521
 
495
522
  readonly atom: {
496
- <A, E>(create: (get: Context) => Effect.Effect<A, E, Scope.Scope | R | AtomRegistry>, options?: {
497
- readonly initialValue?: A
498
- }): Atom<Result.Result<A, E | ER>>
499
- <A, E>(effect: Effect.Effect<A, E, Scope.Scope | R>, options?: {
523
+ <A, E>(
524
+ create: (get: Context) => Effect.Effect<A, E, Scope.Scope | R | AtomRegistry | Reactivity.Reactivity>,
525
+ options?: {
526
+ readonly initialValue?: A
527
+ }
528
+ ): Atom<Result.Result<A, E | ER>>
529
+ <A, E>(effect: Effect.Effect<A, E, Scope.Scope | R | AtomRegistry | Reactivity.Reactivity>, options?: {
500
530
  readonly initialValue?: A
501
531
  }): Atom<Result.Result<A, E | ER>>
502
- <A, E>(create: (get: Context) => Stream.Stream<A, E, AtomRegistry | R>, options?: {
532
+ <A, E>(create: (get: Context) => Stream.Stream<A, E, AtomRegistry | Reactivity.Reactivity | R>, options?: {
503
533
  readonly initialValue?: A
504
534
  }): Atom<Result.Result<A, E | ER>>
505
- <A, E>(stream: Stream.Stream<A, E, AtomRegistry | R>, options?: {
535
+ <A, E>(stream: Stream.Stream<A, E, AtomRegistry | Reactivity.Reactivity | R>, options?: {
506
536
  readonly initialValue?: A
507
537
  }): Atom<Result.Result<A, E | ER>>
508
538
  }
509
539
 
510
540
  readonly fn: {
511
541
  <Arg>(): {
512
- <E, A>(fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry | R>, options?: {
513
- readonly initialValue?: A
514
- }): AtomResultFn<Arg, A, E | ER>
515
- <E, A>(fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry | R>, options?: {
516
- readonly initialValue?: A
517
- }): AtomResultFn<Arg, A, E | ER | NoSuchElementException>
542
+ <E, A>(
543
+ fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry | Reactivity.Reactivity | R>,
544
+ options?: {
545
+ readonly initialValue?: A | undefined
546
+ readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
547
+ }
548
+ ): AtomResultFn<Arg, A, E | ER>
549
+ <E, A>(
550
+ fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry | Reactivity.Reactivity | R>,
551
+ options?: {
552
+ readonly initialValue?: A | undefined
553
+ readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
554
+ }
555
+ ): AtomResultFn<Arg, A, E | ER | NoSuchElementException>
518
556
  }
519
557
  <E, A, Arg = void>(
520
- fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry | R>,
558
+ fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry | Reactivity.Reactivity | R>,
521
559
  options?: {
522
- readonly initialValue?: A
560
+ readonly initialValue?: A | undefined
561
+ readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
523
562
  }
524
563
  ): AtomResultFn<Arg, A, E | ER>
525
- <E, A, Arg = void>(fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry | R>, options?: {
526
- readonly initialValue?: A
527
- }): AtomResultFn<Arg, A, E | ER | NoSuchElementException>
564
+ <E, A, Arg = void>(
565
+ fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry | Reactivity.Reactivity | R>,
566
+ options?: {
567
+ readonly initialValue?: A | undefined
568
+ readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
569
+ }
570
+ ): AtomResultFn<Arg, A, E | ER | NoSuchElementException>
528
571
  }
529
572
 
530
573
  readonly pull: <A, E>(
531
- create: ((get: Context) => Stream.Stream<A, E, R | AtomRegistry>) | Stream.Stream<A, E, R | AtomRegistry>,
574
+ create:
575
+ | ((get: Context) => Stream.Stream<A, E, R | AtomRegistry | Reactivity.Reactivity>)
576
+ | Stream.Stream<A, E, R | AtomRegistry | Reactivity.Reactivity>,
532
577
  options?: {
533
578
  readonly disableAccumulation?: boolean
534
579
  readonly initialValue?: ReadonlyArray<A>
@@ -537,14 +582,18 @@ export interface AtomRuntime<R, ER> extends Atom<Result.Result<Runtime.Runtime<R
537
582
 
538
583
  readonly subscriptionRef: <A, E>(
539
584
  create:
540
- | Effect.Effect<SubscriptionRef.SubscriptionRef<A>, E, R | AtomRegistry>
541
- | ((get: Context) => Effect.Effect<SubscriptionRef.SubscriptionRef<A>, E, R | AtomRegistry>)
585
+ | Effect.Effect<SubscriptionRef.SubscriptionRef<A>, E, R | AtomRegistry | Reactivity.Reactivity>
586
+ | ((
587
+ get: Context
588
+ ) => Effect.Effect<SubscriptionRef.SubscriptionRef<A>, E, R | AtomRegistry | Reactivity.Reactivity>)
542
589
  ) => Writable<Result.Result<A, E>, A>
543
590
 
544
591
  readonly subscribable: <A, E, E1 = never>(
545
592
  create:
546
- | Effect.Effect<Subscribable.Subscribable<A, E, R>, E1, R | AtomRegistry>
547
- | ((get: Context) => Effect.Effect<Subscribable.Subscribable<A, E, R>, E1, R | AtomRegistry>)
593
+ | Effect.Effect<Subscribable.Subscribable<A, E, R>, E1, R | AtomRegistry | Reactivity.Reactivity>
594
+ | ((
595
+ get: Context
596
+ ) => Effect.Effect<Subscribable.Subscribable<A, E, R>, E1, R | AtomRegistry | Reactivity.Reactivity>)
548
597
  ) => Atom<Result.Result<A, E | E1>>
549
598
  }
550
599
 
@@ -554,10 +603,20 @@ export interface AtomRuntime<R, ER> extends Atom<Result.Result<Runtime.Runtime<R
554
603
  */
555
604
  export interface RuntimeFactory {
556
605
  <R, E>(
557
- create: Layer.Layer<R, E, AtomRegistry> | ((get: Context) => Layer.Layer<R, E, AtomRegistry>)
606
+ create:
607
+ | Layer.Layer<R, E, AtomRegistry | Reactivity.Reactivity>
608
+ | ((get: Context) => Layer.Layer<R, E, AtomRegistry | Reactivity.Reactivity>)
558
609
  ): AtomRuntime<R, E>
559
610
  readonly memoMap: Layer.MemoMap
560
- readonly addGlobalLayer: <A, E>(layer: Layer.Layer<A, E, AtomRegistry>) => void
611
+ readonly addGlobalLayer: <A, E>(layer: Layer.Layer<A, E, AtomRegistry | Reactivity.Reactivity>) => void
612
+
613
+ /**
614
+ * Uses the `Reactivity` service from the runtime to refresh the atom whenever
615
+ * the keys change.
616
+ */
617
+ readonly withReactivity: (
618
+ keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
619
+ ) => <A extends Atom<any>>(atom: A) => A
561
620
  }
562
621
 
563
622
  /**
@@ -567,9 +626,11 @@ export interface RuntimeFactory {
567
626
  export const context: (options: {
568
627
  readonly memoMap: Layer.MemoMap
569
628
  }) => RuntimeFactory = (options) => {
570
- let globalLayer: Layer.Layer<any, any, AtomRegistry> | undefined
629
+ let globalLayer: Layer.Layer<any, any, AtomRegistry> = Reactivity.layer
571
630
  function factory<E, R>(
572
- create: Layer.Layer<R, E, AtomRegistry> | ((get: Context) => Layer.Layer<R, E, AtomRegistry>)
631
+ create:
632
+ | Layer.Layer<R, E, AtomRegistry | Reactivity.Reactivity>
633
+ | ((get: Context) => Layer.Layer<R, E, AtomRegistry | Reactivity.Reactivity>)
573
634
  ): AtomRuntime<R, E> {
574
635
  const self = Object.create(RuntimeProto)
575
636
  self.keepAlive = false
@@ -578,8 +639,8 @@ export const context: (options: {
578
639
 
579
640
  const layerAtom = keepAlive(
580
641
  typeof create === "function"
581
- ? readable((get) => globalLayer ? Layer.provideMerge(create(get), globalLayer) : create(get))
582
- : readable(() => globalLayer ? Layer.provideMerge(create, globalLayer) : create)
642
+ ? readable((get) => Layer.provideMerge(create(get), globalLayer))
643
+ : readable(() => Layer.provideMerge(create, globalLayer))
583
644
  )
584
645
  self.layer = layerAtom
585
646
 
@@ -595,13 +656,25 @@ export const context: (options: {
595
656
  return self
596
657
  }
597
658
  factory.memoMap = options.memoMap
598
- factory.addGlobalLayer = (layer: Layer.Layer<any, any, AtomRegistry>) => {
599
- if (globalLayer === undefined) {
600
- globalLayer = layer
601
- } else {
602
- globalLayer = Layer.provideMerge(globalLayer, layer)
603
- }
659
+ factory.addGlobalLayer = (layer: Layer.Layer<any, any, AtomRegistry | Reactivity.Reactivity>) => {
660
+ globalLayer = Layer.provideMerge(globalLayer, Layer.provide(layer, Reactivity.layer))
604
661
  }
662
+ const reactivityAtom = make(
663
+ Effect.scopeWith((scope) => Layer.buildWithMemoMap(Reactivity.layer, options.memoMap, scope)).pipe(
664
+ Effect.map(EffectContext.get(Reactivity.Reactivity))
665
+ )
666
+ )
667
+ factory.withReactivity =
668
+ (keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>) =>
669
+ <A extends Atom<any>>(atom: A): A =>
670
+ transform(atom, (get) => {
671
+ const reactivity = Result.getOrThrow(get(reactivityAtom))
672
+ get.addFinalizer(reactivity.unsafeRegister(keys, () => {
673
+ get.refresh(atom)
674
+ }))
675
+ get.subscribe(atom, (value) => get.setSelf(value))
676
+ return get.once(atom)
677
+ }) as any as A
605
678
  return factory
606
679
  }
607
680
 
@@ -623,6 +696,17 @@ export const runtime: RuntimeFactory = globalValue(
623
696
  () => context({ memoMap: defaultMemoMap })
624
697
  )
625
698
 
699
+ /**
700
+ * An alias to `Rx.runtime.withReactivity`, for refreshing an atom whenever the
701
+ * keys change in the `Reactivity` service.
702
+ *
703
+ * @since 1.0.0
704
+ * @category Reactivity
705
+ */
706
+ export const withReactivity: (
707
+ keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
708
+ ) => <A extends Atom<any>>(atom: A) => A = runtime.withReactivity
709
+
626
710
  // -----------------------------------------------------------------------------
627
711
  // constructors - stream
628
712
  // -----------------------------------------------------------------------------
@@ -916,16 +1000,16 @@ export type Reset = typeof Reset
916
1000
  */
917
1001
  export const fn: {
918
1002
  <Arg>(): <E, A>(fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry>, options?: {
919
- readonly initialValue?: A
1003
+ readonly initialValue?: A | undefined
920
1004
  }) => AtomResultFn<Arg, A, E>
921
1005
  <E, A, Arg = void>(fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry>, options?: {
922
- readonly initialValue?: A
1006
+ readonly initialValue?: A | undefined
923
1007
  }): AtomResultFn<Arg, A, E>
924
1008
  <Arg>(): <E, A>(fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry>, options?: {
925
- readonly initialValue?: A
1009
+ readonly initialValue?: A | undefined
926
1010
  }) => AtomResultFn<Arg, A, E | NoSuchElementException>
927
1011
  <E, A, Arg = void>(fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry>, options?: {
928
- readonly initialValue?: A
1012
+ readonly initialValue?: A | undefined
929
1013
  }): AtomResultFn<Arg, A, E | NoSuchElementException>
930
1014
  } = function(...args: ReadonlyArray<any>) {
931
1015
  if (args.length === 0) {
@@ -937,7 +1021,7 @@ export const fn: {
937
1021
  const makeFn = <Arg, E, A>(
938
1022
  f: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry> | Effect.Effect<A, E, Scope.Scope | AtomRegistry>,
939
1023
  options?: {
940
- readonly initialValue?: A
1024
+ readonly initialValue?: A | undefined
941
1025
  }
942
1026
  ): AtomResultFn<Arg, A, E | NoSuchElementException> => {
943
1027
  const [read, write] = makeResultFn(f, options)
@@ -946,7 +1030,9 @@ const makeFn = <Arg, E, A>(
946
1030
 
947
1031
  function makeResultFn<Arg, E, A>(
948
1032
  f: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry> | Stream.Stream<A, E, AtomRegistry>,
949
- options?: { readonly initialValue?: A }
1033
+ options?: {
1034
+ readonly initialValue?: A
1035
+ }
950
1036
  ) {
951
1037
  const argAtom = state<[number, Arg]>([0, undefined as any])
952
1038
  const initialValue = options?.initialValue !== undefined