effect-lens 0.2.1 → 2.0.0-beta.0
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/README.md +26 -34
- package/dist/Lens.d.ts +36 -51
- package/dist/Lens.js +51 -40
- package/dist/Lens.js.map +1 -1
- package/dist/Subscribable.d.ts +86 -81
- package/dist/Subscribable.js +71 -68
- package/dist/Subscribable.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -2,17 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
A Lens type for [Effect](https://effect.website/) to easily manage nested state.
|
|
4
4
|
|
|
5
|
-
This version is for Effect v3. For Effect v4, use version 2.X.X-beta.X.
|
|
6
|
-
|
|
7
5
|
## Install
|
|
8
6
|
```
|
|
9
|
-
npm install effect-lens
|
|
10
|
-
yarn add effect-lens
|
|
11
|
-
bun add effect-lens
|
|
7
|
+
npm install effect-lens@beta effect@4.0.0-beta.85
|
|
8
|
+
yarn add effect-lens@beta effect@4.0.0-beta.85
|
|
9
|
+
bun add effect-lens@beta effect@4.0.0-beta.85
|
|
12
10
|
```
|
|
13
11
|
|
|
14
12
|
## Peer dependencies
|
|
15
|
-
- `effect`
|
|
13
|
+
- `effect` 4.0.0-beta.85
|
|
16
14
|
|
|
17
15
|
|
|
18
16
|
## Quickstart
|
|
@@ -51,7 +49,9 @@ const lens = Lens.fromSubscriptionRef(ref)
|
|
|
51
49
|
|
|
52
50
|
const value = yield* Lens.get(lens)
|
|
53
51
|
yield* Effect.forkScoped(Stream.runForEach(lens.changes, Console.log))
|
|
54
|
-
yield* Lens.
|
|
52
|
+
yield* Lens.updateEffect(lens, values =>
|
|
53
|
+
Effect.fromOption(Array.replace(values, 1, 1664))
|
|
54
|
+
)
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
Currently available:
|
|
@@ -72,7 +72,7 @@ You can get pretty creative! Here's an example of a Lens that points to a specif
|
|
|
72
72
|
const lens = Effect.all([
|
|
73
73
|
KeyValueStore.KeyValueStore,
|
|
74
74
|
Effect.succeed("someKey"),
|
|
75
|
-
|
|
75
|
+
Semaphore.make(1),
|
|
76
76
|
]).pipe(
|
|
77
77
|
Effect.map(([kv, key, semaphore]) => Lens.make({
|
|
78
78
|
get: kv.get(key),
|
|
@@ -137,19 +137,19 @@ const ref = yield* SubscriptionRef.make<{
|
|
|
137
137
|
readonly users: readonly User[]
|
|
138
138
|
}>({
|
|
139
139
|
users: [
|
|
140
|
-
{ name: "Jean Dupont", age: yield* DateTime.make("03/25/1969") },
|
|
141
|
-
{ name: "Juan Joya Borja", age: yield* DateTime.make("04/05/1956") },
|
|
142
|
-
{ name: "Benzemonstre", age: yield* DateTime.make("06/12/2000") },
|
|
140
|
+
{ name: "Jean Dupont", age: yield* Effect.fromOption(DateTime.make("03/25/1969")) },
|
|
141
|
+
{ name: "Juan Joya Borja", age: yield* Effect.fromOption(DateTime.make("04/05/1956")) },
|
|
142
|
+
{ name: "Benzemonstre", age: yield* Effect.fromOption(DateTime.make("06/12/2000")) },
|
|
143
143
|
]
|
|
144
144
|
})
|
|
145
145
|
|
|
146
|
-
// \/ Lens<User,
|
|
146
|
+
// \/ Lens<User, NoSuchElementError, NoSuchElementError, never, never>
|
|
147
147
|
const jeanDupontLens = ref.pipe(
|
|
148
148
|
Lens.fromSubscriptionRef, // Creates a lens that proxies the ref
|
|
149
149
|
Lens.focusObjectOn("users"), // Creates a focused lens that points to the users field
|
|
150
150
|
Lens.focusArrayAt(0), // Creates a focused lens that points to the first entry of the user array
|
|
151
151
|
)
|
|
152
|
-
// Reading or writing from this lens can fail with
|
|
152
|
+
// Reading or writing from this lens can fail with NoSuchElementError
|
|
153
153
|
// This is because of Lens.focusArrayAt(0), as reading and writing to an array is an unsafe operation
|
|
154
154
|
|
|
155
155
|
const jeanDupont = yield* Lens.get(jeanDupontLens)
|
|
@@ -157,7 +157,7 @@ const jeanDupont = yield* Lens.get(jeanDupontLens)
|
|
|
157
157
|
yield* Lens.set(
|
|
158
158
|
// You can focus even further down
|
|
159
159
|
Lens.focusObjectOn(jeanDupontLens, "age"),
|
|
160
|
-
yield* DateTime.make("03/25/1970"),
|
|
160
|
+
yield* Effect.fromOption(DateTime.make("03/25/1970")),
|
|
161
161
|
)
|
|
162
162
|
// Mutations with the parent state are performed immutably by default
|
|
163
163
|
// unless you use a specific mutable transform such as 'focusObjectOnWritable'
|
|
@@ -173,33 +173,33 @@ Currently available:
|
|
|
173
173
|
| `focusTupleAt` | Focuses to an indexed entry of a readonly tuple. Replaces the parent tuple immutably when writing to the focused index | Immutable | |
|
|
174
174
|
| `focusMutableTupleAt` | Focuses to an indexed entry of a mutable tuple. Mutates the parent tuple in place at the focused index | Mutable | Type-safe: will not allow you to mutate `readonly` tuples |
|
|
175
175
|
| `focusChunkAt` | Focuses to an indexed entry of a `Chunk`. Replaces the parent `Chunk` immutably when writing to the focused element | Immutable | |
|
|
176
|
-
| `focusOption` | Focuses to the value inside an `Option`. Wraps writes back into `Option.some` | Immutable | Reading or writing fails with `
|
|
176
|
+
| `focusOption` | Focuses to the value inside an `Option`. Wraps writes back into `Option.some` | Immutable | Reading or writing fails with `NoSuchElementError` when the parent option is `None` |
|
|
177
177
|
|
|
178
178
|
#### Manually
|
|
179
179
|
You can create focused Lenses by composing them manually using `map`, `mapEffect` and `unwrap`:
|
|
180
180
|
```typescript
|
|
181
181
|
const ref = yield* SubscriptionRef.make<readonly User[]>([
|
|
182
|
-
{ name: "Jean Dupont", age: yield* DateTime.make("03/25/1969") },
|
|
183
|
-
{ name: "Juan Joya Borja", age: yield* DateTime.make("04/05/1956") },
|
|
184
|
-
{ name: "Benzemonstre", age: yield* DateTime.make("06/12/2000") },
|
|
182
|
+
{ name: "Jean Dupont", age: yield* Effect.fromOption(DateTime.make("03/25/1969")) },
|
|
183
|
+
{ name: "Juan Joya Borja", age: yield* Effect.fromOption(DateTime.make("04/05/1956")) },
|
|
184
|
+
{ name: "Benzemonstre", age: yield* Effect.fromOption(DateTime.make("06/12/2000")) },
|
|
185
185
|
])
|
|
186
186
|
|
|
187
|
-
// \/ Lens<User,
|
|
187
|
+
// \/ Lens<User, NoSuchElementError, NoSuchElementError, never, never>
|
|
188
188
|
const benzemonstreLens = ref.pipe(
|
|
189
189
|
Lens.fromSubscriptionRef,
|
|
190
190
|
|
|
191
191
|
// Manually focus
|
|
192
192
|
Lens.mapEffect(
|
|
193
193
|
// Getter:
|
|
194
|
-
Array.get(2),
|
|
194
|
+
a => Effect.fromOption(Array.get(a, 2)),
|
|
195
195
|
// Setter:
|
|
196
|
-
(a, b) => Array.
|
|
196
|
+
(a, b) => Effect.fromOption(Array.replace(a, 2, b)),
|
|
197
197
|
// ^ The current Lens value (readonly User[])
|
|
198
198
|
// ^ The new focused value to push (User)
|
|
199
199
|
),
|
|
200
200
|
)
|
|
201
|
-
// Both Array.get and Array.
|
|
202
|
-
//
|
|
201
|
+
// Both Array.get and Array.replace return an Option, which Effect.fromOption
|
|
202
|
+
// converts into Effect<A, NoSuchElementError>
|
|
203
203
|
// As you can see, this is automatically tracked by the Lens type
|
|
204
204
|
```
|
|
205
205
|
|
|
@@ -242,7 +242,7 @@ const nameLens = lens.pipe(
|
|
|
242
242
|
|
|
243
243
|
### Subscribable
|
|
244
244
|
|
|
245
|
-
|
|
245
|
+
Effect 4 no longer provides `Subscribable` and `Readable`. This library provides its own `Subscribable` interface, which you can use as a constraint to allow some parts of your app to only read and subscribe to the Lenses you provide them:
|
|
246
246
|
```typescript
|
|
247
247
|
const ref = yield* SubscriptionRef.make<{
|
|
248
248
|
readonly users: readonly User[]
|
|
@@ -265,13 +265,13 @@ yield* someFunctionThatShouldOnlyHaveReadonlyAccessToTheState(lens)
|
|
|
265
265
|
```
|
|
266
266
|
|
|
267
267
|
#### Focusing
|
|
268
|
-
This library
|
|
268
|
+
This library provides a `Subscribable` module with value and error transforms, recovery (`catch`, `catchCause`, `orElse`, `orElseSucceed`, and `retry`), and transforms to narrow the focus of `Subscribable`'s, same as Lenses:
|
|
269
269
|
```typescript
|
|
270
270
|
import { Subscribable } from "effect-lens"
|
|
271
271
|
|
|
272
272
|
declare const sub: Subscribable.Subscribable<readonly { name: string }[], never, never>
|
|
273
273
|
|
|
274
|
-
// \/ Subscribable.Subscribable<string,
|
|
274
|
+
// \/ Subscribable.Subscribable<string, NoSuchElementError, never>
|
|
275
275
|
const nameSub = sub.pipe(
|
|
276
276
|
Subscribable.focusArrayAt(1),
|
|
277
277
|
Subscribable.focusObjectOn("name"),
|
|
@@ -288,11 +288,3 @@ Currently available:
|
|
|
288
288
|
| `focusChunkAt` | Focuses to an indexed entry of a `Chunk` |
|
|
289
289
|
| `focusChunkSize` | Focuses to the size of a `Chunk` |
|
|
290
290
|
| `focusIterableSize` | Focuses to the size of an iterable |
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
## Todo
|
|
294
|
-
|
|
295
|
-
This library is already ready to use! However, there is always more to do...
|
|
296
|
-
- Provide an API reference
|
|
297
|
-
- Add new adapters for various data source types
|
|
298
|
-
- Add new focus transforms
|
package/dist/Lens.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Chunk, type Context, Effect, Option, Pipeable,
|
|
2
|
-
import type { NoSuchElementException } from "effect/Cause";
|
|
1
|
+
import { type Cause, Chunk, type Context, Effect, Option, Pipeable, Ref, Semaphore, Stream, SubscriptionRef, SynchronizedRef } from "effect";
|
|
3
2
|
import * as Subscribable from "./Subscribable.js";
|
|
4
3
|
export declare const LensTypeId: unique symbol;
|
|
5
4
|
export type LensTypeId = typeof LensTypeId;
|
|
@@ -13,6 +12,7 @@ export type LensTypeId = typeof LensTypeId;
|
|
|
13
12
|
export interface Lens<in out A, in out ER = never, in out EW = never, in out RR = never, in out RW = never> extends Subscribable.Subscribable<A, ER, RR> {
|
|
14
13
|
readonly [LensTypeId]: LensTypeId;
|
|
15
14
|
readonly modifyEffect: <B, E1 = never, R1 = never>(f: (a: A) => Effect.Effect<readonly [B, A], E1, R1>) => Effect.Effect<B, ER | EW | E1, RR | RW | R1>;
|
|
15
|
+
readonly modifySomeEffect: <B, E1 = never, R1 = never>(f: (a: A) => Effect.Effect<readonly [B, Option.Option<A>], E1, R1>) => Effect.Effect<B, ER | EW | E1, RR | RW | R1>;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Checks whether a value is a `Lens`.
|
|
@@ -29,10 +29,8 @@ export declare namespace LensImpl {
|
|
|
29
29
|
<A1, E1, R1>(self: Effect.Effect<A1, E1, R1>): Effect.Effect<A1, E1, R1>;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
declare
|
|
33
|
-
|
|
34
|
-
readonly [Readable.TypeId]: Readable.TypeId;
|
|
35
|
-
readonly [Subscribable.TypeId]: Subscribable.TypeId;
|
|
32
|
+
export declare abstract class LensImpl<in out A, in out ER = never, in out EW = never, in out RR = never, in out RW = never> extends Pipeable.Class implements Lens<A, ER, EW, RR, RW> {
|
|
33
|
+
readonly [Subscribable.SubscribableTypeId]: Subscribable.SubscribableTypeId;
|
|
36
34
|
readonly [LensTypeId]: LensTypeId;
|
|
37
35
|
readonly [LensImplTypeId]: LensImplTypeId;
|
|
38
36
|
abstract readonly resolve: Effect.Effect<LensImpl.Resolved<A, EW, RW>, ER, RR>;
|
|
@@ -40,6 +38,7 @@ export declare abstract class LensImpl<in out A, in out ER = never, in out EW =
|
|
|
40
38
|
abstract readonly lock: Effect.Effect<LensImpl.Lock, EW, RW>;
|
|
41
39
|
get get(): Effect.Effect<A, ER, RR>;
|
|
42
40
|
modifyEffect<B, E1 = never, R1 = never>(f: (a: A) => Effect.Effect<readonly [B, A], E1, R1>): Effect.Effect<B, ER | EW | E1, RR | RW | R1>;
|
|
41
|
+
modifySomeEffect<B, E1 = never, R1 = never>(f: (a: A) => Effect.Effect<readonly [B, Option.Option<A>], E1, R1>): Effect.Effect<B, ER | EW | E1, RR | RW | R1>;
|
|
43
42
|
}
|
|
44
43
|
export declare const isLensImpl: (u: unknown) => u is LensImpl<unknown, unknown, unknown, unknown, unknown>;
|
|
45
44
|
export declare const asLensImpl: <A, ER, EW, RR, RW>(lens: Lens<A, ER, EW, RR, RW>) => LensImpl<A, ER, EW, RR, RW>;
|
|
@@ -67,7 +66,7 @@ export declare class UnwrappedLensImpl<in out A, in out ER, in out EW, in out RR
|
|
|
67
66
|
readonly effect: Effect.Effect<Lens<A, ER, EW, RR, RW>, E1, R1>;
|
|
68
67
|
constructor(effect: Effect.Effect<Lens<A, ER, EW, RR, RW>, E1, R1>);
|
|
69
68
|
get resolve(): Effect.Effect<LensImpl.Resolved<A, EW | E1, RW | R1>, ER | E1, RR | R1>;
|
|
70
|
-
get changes(): Stream.Stream<A, ER | E1, RR | R1
|
|
69
|
+
get changes(): Stream.Stream<A, ER | E1, RR | Exclude<R1, import("effect/Scope").Scope>>;
|
|
71
70
|
get lock(): Effect.Effect<LensImpl.Lock, EW | E1, RW | R1>;
|
|
72
71
|
}
|
|
73
72
|
/**
|
|
@@ -76,8 +75,8 @@ export declare class UnwrappedLensImpl<in out A, in out ER, in out EW, in out RR
|
|
|
76
75
|
export declare const unwrap: <A, ER, EW, RR, RW, E1, R1>(effect: Effect.Effect<Lens<A, ER, EW, RR, RW>, E1, R1>) => Lens<A, ER | E1, EW | E1, RR | R1, RW | R1>;
|
|
77
76
|
export declare class RefLensImpl<in out A> extends LensImpl<A, never, never, never, never> {
|
|
78
77
|
readonly ref: Ref.Ref<A>;
|
|
79
|
-
readonly semaphore:
|
|
80
|
-
constructor(ref: Ref.Ref<A>, semaphore:
|
|
78
|
+
readonly semaphore: Semaphore.Semaphore;
|
|
79
|
+
constructor(ref: Ref.Ref<A>, semaphore: Semaphore.Semaphore);
|
|
81
80
|
get resolve(): Effect.Effect<LensImpl.Resolved<A>, never, never>;
|
|
82
81
|
get changes(): Stream.Stream<A, never, never>;
|
|
83
82
|
get lock(): Effect.Effect<(<A_1, E, R>(self: Effect.Effect<A_1, E, R>) => Effect.Effect<A_1, E, R>), never, never>;
|
|
@@ -89,18 +88,12 @@ export declare class RefLensImpl<in out A> extends LensImpl<A, never, never, nev
|
|
|
89
88
|
* This means its `changes` stream will only emit the current value once when evaluated and nothing else.
|
|
90
89
|
*/
|
|
91
90
|
export declare const fromRef: <A>(ref: Ref.Ref<A>) => Effect.Effect<Lens<A, never, never, never, never>, never, never>;
|
|
92
|
-
export declare namespace SynchronizedRefLensImpl {
|
|
93
|
-
interface SynchronizedRefWithInternals<in out A> extends SynchronizedRef.SynchronizedRef<A> {
|
|
94
|
-
readonly ref: Ref.Ref<A>;
|
|
95
|
-
readonly withLock: LensImpl.Lock;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
91
|
export declare class SynchronizedRefLensImpl<in out A> extends LensImpl<A, never, never, never, never> {
|
|
99
|
-
readonly ref:
|
|
100
|
-
constructor(ref:
|
|
92
|
+
readonly ref: SynchronizedRef.SynchronizedRef<A>;
|
|
93
|
+
constructor(ref: SynchronizedRef.SynchronizedRef<A>);
|
|
101
94
|
get resolve(): Effect.Effect<LensImpl.Resolved<A>, never, never>;
|
|
102
95
|
get changes(): Stream.Stream<A, never, never>;
|
|
103
|
-
get lock(): Effect.Effect<
|
|
96
|
+
get lock(): Effect.Effect<(<A_1, E, R>(self: Effect.Effect<A_1, E, R>) => Effect.Effect<A_1, E, R>), never, never>;
|
|
104
97
|
}
|
|
105
98
|
/**
|
|
106
99
|
* Creates a `Lens` that proxies a `SynchronizedRef`.
|
|
@@ -109,16 +102,9 @@ export declare class SynchronizedRefLensImpl<in out A> extends LensImpl<A, never
|
|
|
109
102
|
* This means its `changes` stream will only emit the current value once when evaluated and nothing else.
|
|
110
103
|
*/
|
|
111
104
|
export declare const fromSynchronizedRef: <A>(ref: SynchronizedRef.SynchronizedRef<A>) => Lens<A, never, never, never, never>;
|
|
112
|
-
export declare namespace SubscriptionRefLensImpl {
|
|
113
|
-
interface SubscriptionRefWithInternals<in out A> extends SubscriptionRef.SubscriptionRef<A> {
|
|
114
|
-
readonly ref: Ref.Ref<A>;
|
|
115
|
-
readonly pubsub: PubSub.PubSub<A>;
|
|
116
|
-
readonly semaphore: Effect.Semaphore;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
105
|
export declare class SubscriptionRefLensImpl<in out A> extends LensImpl<A, never, never, never, never> {
|
|
120
|
-
readonly ref:
|
|
121
|
-
constructor(ref:
|
|
106
|
+
readonly ref: SubscriptionRef.SubscriptionRef<A>;
|
|
107
|
+
constructor(ref: SubscriptionRef.SubscriptionRef<A>);
|
|
122
108
|
get resolve(): Effect.Effect<LensImpl.Resolved<A>, never, never>;
|
|
123
109
|
get changes(): Stream.Stream<A, never, never>;
|
|
124
110
|
get lock(): Effect.Effect<(<A_1, E, R>(self: Effect.Effect<A_1, E, R>) => Effect.Effect<A_1, E, R>), never, never>;
|
|
@@ -261,11 +247,11 @@ export declare const provideContext: {
|
|
|
261
247
|
* Provides a single service to a `Lens`, removing it from both the read and write environments.
|
|
262
248
|
*
|
|
263
249
|
* This is the `Lens` equivalent of `Effect.provideService`: use it when a lens requires one
|
|
264
|
-
* `Context.
|
|
250
|
+
* `Context.Key` and you already have the concrete service value.
|
|
265
251
|
*/
|
|
266
252
|
export declare const provideService: {
|
|
267
|
-
<I, S>(tag: Context.
|
|
268
|
-
<A, ER, EW, RR, RW, I, S>(self: Lens<A, ER, EW, RR, RW>, tag: Context.
|
|
253
|
+
<I, S>(tag: Context.Key<I, S>, service: NoInfer<S>): <A, ER, EW, RR, RW>(self: Lens<A, ER, EW, RR, RW>) => Lens<A, ER, EW, Exclude<RR, I>, Exclude<RW, I>>;
|
|
254
|
+
<A, ER, EW, RR, RW, I, S>(self: Lens<A, ER, EW, RR, RW>, tag: Context.Key<I, S>, service: NoInfer<S>): Lens<A, ER, EW, Exclude<RR, I>, Exclude<RW, I>>;
|
|
269
255
|
};
|
|
270
256
|
/**
|
|
271
257
|
* Narrows the focus to a field of an object. Replaces the object in an immutable fashion when written to.
|
|
@@ -295,15 +281,15 @@ export declare const focusObjectOnWritable: {
|
|
|
295
281
|
* Narrows the focus to an indexed element of an array. Replaces the array in an immutable fashion when written to.
|
|
296
282
|
*/
|
|
297
283
|
export declare const focusArrayAt: {
|
|
298
|
-
<A extends readonly any[], ER, EW, RR, RW>(index: number): (self: Lens<A, ER, EW, RR, RW>) => Lens<A[number], ER |
|
|
299
|
-
<A extends readonly any[], ER, EW, RR, RW>(self: Lens<A, ER, EW, RR, RW>, index: number): Lens<A[number], ER |
|
|
284
|
+
<A extends readonly any[], ER, EW, RR, RW>(index: number): (self: Lens<A, ER, EW, RR, RW>) => Lens<A[number], ER | Cause.NoSuchElementError, EW | Cause.NoSuchElementError, RR, RW>;
|
|
285
|
+
<A extends readonly any[], ER, EW, RR, RW>(self: Lens<A, ER, EW, RR, RW>, index: number): Lens<A[number], ER | Cause.NoSuchElementError, EW | Cause.NoSuchElementError, RR, RW>;
|
|
300
286
|
};
|
|
301
287
|
/**
|
|
302
288
|
* Narrows the focus to an indexed element of a mutable array. Mutates the array in place when written to.
|
|
303
289
|
*/
|
|
304
290
|
export declare const focusMutableArrayAt: {
|
|
305
|
-
<A, ER, EW, RR, RW>(index: number): (self: Lens<A[], ER, EW, RR, RW>) => Lens<A, ER |
|
|
306
|
-
<A, ER, EW, RR, RW>(self: Lens<A[], ER, EW, RR, RW>, index: number): Lens<A, ER |
|
|
291
|
+
<A, ER, EW, RR, RW>(index: number): (self: Lens<A[], ER, EW, RR, RW>) => Lens<A, ER | Cause.NoSuchElementError, EW | Cause.NoSuchElementError, RR, RW>;
|
|
292
|
+
<A, ER, EW, RR, RW>(self: Lens<A[], ER, EW, RR, RW>, index: number): Lens<A, ER | Cause.NoSuchElementError, EW | Cause.NoSuchElementError, RR, RW>;
|
|
307
293
|
};
|
|
308
294
|
/**
|
|
309
295
|
* Narrows the focus to an indexed element of a readonly tuple. Replaces the tuple in an immutable fashion when written to.
|
|
@@ -323,17 +309,17 @@ export declare const focusMutableTupleAt: {
|
|
|
323
309
|
* Narrows the focus to an indexed element of `Chunk`. Replaces the `Chunk` in an immutable fashion when written to.
|
|
324
310
|
*/
|
|
325
311
|
export declare const focusChunkAt: {
|
|
326
|
-
<A, ER, EW, RR, RW>(index: number): (self: Lens<Chunk.Chunk<A>, ER, EW, RR, RW>) => Lens<A, ER |
|
|
327
|
-
<A, ER, EW, RR, RW>(self: Lens<Chunk.Chunk<A>, ER, EW, RR, RW>, index: number): Lens<A, ER |
|
|
312
|
+
<A, ER, EW, RR, RW>(index: number): (self: Lens<Chunk.Chunk<A>, ER, EW, RR, RW>) => Lens<A, ER | Cause.NoSuchElementError, EW, RR, RW>;
|
|
313
|
+
<A, ER, EW, RR, RW>(self: Lens<Chunk.Chunk<A>, ER, EW, RR, RW>, index: number): Lens<A, ER | Cause.NoSuchElementError, EW, RR, RW>;
|
|
328
314
|
};
|
|
329
315
|
/**
|
|
330
316
|
* Narrows the focus to the value inside an `Option`.
|
|
331
317
|
*
|
|
332
|
-
* Reading or writing through this lens fails with `
|
|
318
|
+
* Reading or writing through this lens fails with `NoSuchElementError` when the parent option is `None`.
|
|
333
319
|
* Writing wraps the new focused value back into `Option.some`.
|
|
334
320
|
*/
|
|
335
321
|
export declare const focusOption: {
|
|
336
|
-
<A, ER, EW, RR, RW>(self: Lens<Option.Option<A>, ER, EW, RR, RW>): Lens<A, ER |
|
|
322
|
+
<A, ER, EW, RR, RW>(self: Lens<Option.Option<A>, ER, EW, RR, RW>): Lens<A, ER | Cause.NoSuchElementError, EW | Cause.NoSuchElementError, RR, RW>;
|
|
337
323
|
};
|
|
338
324
|
/**
|
|
339
325
|
* Reads the current value from a `Lens`.
|
|
@@ -354,18 +340,18 @@ export declare const modifyEffect: {
|
|
|
354
340
|
<A, ER, EW, RR, RW, B, E, R>(self: Lens<A, ER, EW, RR, RW>, f: (a: A) => Effect.Effect<readonly [B, A], E, R>): Effect.Effect<B, ER | EW | E, RR | RW | R>;
|
|
355
341
|
};
|
|
356
342
|
/**
|
|
357
|
-
* Conditionally modifies
|
|
343
|
+
* Conditionally modifies a `Lens` without committing when the next value is `None`.
|
|
358
344
|
*/
|
|
359
345
|
export declare const modifySome: {
|
|
360
|
-
<B, A>(
|
|
361
|
-
<A, ER, EW, RR, RW, B>(self: Lens<A, ER, EW, RR, RW>,
|
|
346
|
+
<B, A>(f: (a: NoInfer<A>) => readonly [B, Option.Option<NoInfer<A>>]): <ER, EW, RR, RW>(self: Lens<A, ER, EW, RR, RW>) => Effect.Effect<B, ER | EW, RR | RW>;
|
|
347
|
+
<A, ER, EW, RR, RW, B>(self: Lens<A, ER, EW, RR, RW>, f: (a: A) => readonly [B, Option.Option<A>]): Effect.Effect<B, ER | EW, RR | RW>;
|
|
362
348
|
};
|
|
363
349
|
/**
|
|
364
|
-
* Conditionally modifies
|
|
350
|
+
* Conditionally modifies a `Lens` with an effect without committing when the next value is `None`.
|
|
365
351
|
*/
|
|
366
352
|
export declare const modifySomeEffect: {
|
|
367
|
-
<B, A, E = never, R = never>(
|
|
368
|
-
<A, ER, EW, RR, RW, B, E = never, R = never>(self: Lens<A, ER, EW, RR, RW>,
|
|
353
|
+
<B, A, E = never, R = never>(f: (a: NoInfer<A>) => Effect.Effect<readonly [B, Option.Option<NoInfer<A>>], E, R>): <ER, EW, RR, RW>(self: Lens<A, ER, EW, RR, RW>) => Effect.Effect<B, ER | EW | E, RR | RW | R>;
|
|
354
|
+
<A, ER, EW, RR, RW, B, E = never, R = never>(self: Lens<A, ER, EW, RR, RW>, f: (a: A) => Effect.Effect<readonly [B, Option.Option<A>], E, R>): Effect.Effect<B, ER | EW | E, RR | RW | R>;
|
|
369
355
|
};
|
|
370
356
|
/**
|
|
371
357
|
* Sets the value of a `Lens`.
|
|
@@ -420,8 +406,8 @@ export declare const getAndUpdateSome: {
|
|
|
420
406
|
* Conditionally updates a `Lens` with an effect and returns the previous value.
|
|
421
407
|
*/
|
|
422
408
|
export declare const getAndUpdateSomeEffect: {
|
|
423
|
-
<A, E = never, R = never>(pf: (a: NoInfer<A>) => Option.Option<
|
|
424
|
-
<A, ER, EW, RR, RW, E = never, R = never>(self: Lens<A, ER, EW, RR, RW>, pf: (a: A) => Option.Option<
|
|
409
|
+
<A, E = never, R = never>(pf: (a: NoInfer<A>) => Effect.Effect<Option.Option<NoInfer<A>>, E, R>): <ER, EW, RR, RW>(self: Lens<A, ER, EW, RR, RW>) => Effect.Effect<A, ER | EW | E, RR | RW | R>;
|
|
410
|
+
<A, ER, EW, RR, RW, E = never, R = never>(self: Lens<A, ER, EW, RR, RW>, pf: (a: A) => Effect.Effect<Option.Option<A>, E, R>): Effect.Effect<A, ER | EW | E, RR | RW | R>;
|
|
425
411
|
};
|
|
426
412
|
/**
|
|
427
413
|
* Sets the value of a `Lens` and returns the new value.
|
|
@@ -455,8 +441,8 @@ export declare const updateSome: {
|
|
|
455
441
|
* Conditionally updates the value of a `Lens` with an effect.
|
|
456
442
|
*/
|
|
457
443
|
export declare const updateSomeEffect: {
|
|
458
|
-
<A, E = never, R = never>(pf: (a: NoInfer<A>) => Option.Option<
|
|
459
|
-
<A, ER, EW, RR, RW, E = never, R = never>(self: Lens<A, ER, EW, RR, RW>, pf: (a: A) => Option.Option<
|
|
444
|
+
<A, E = never, R = never>(pf: (a: NoInfer<A>) => Effect.Effect<Option.Option<NoInfer<A>>, E, R>): <ER, EW, RR, RW>(self: Lens<A, ER, EW, RR, RW>) => Effect.Effect<void, ER | EW | E, RR | RW | R>;
|
|
445
|
+
<A, ER, EW, RR, RW, E = never, R = never>(self: Lens<A, ER, EW, RR, RW>, pf: (a: A) => Effect.Effect<Option.Option<A>, E, R>): Effect.Effect<void, ER | EW | E, RR | RW | R>;
|
|
460
446
|
};
|
|
461
447
|
/**
|
|
462
448
|
* Conditionally updates a `Lens` and returns the resulting value.
|
|
@@ -469,7 +455,6 @@ export declare const updateSomeAndGet: {
|
|
|
469
455
|
* Conditionally updates a `Lens` with an effect and returns the resulting value.
|
|
470
456
|
*/
|
|
471
457
|
export declare const updateSomeAndGetEffect: {
|
|
472
|
-
<A, E = never, R = never>(pf: (a: NoInfer<A>) => Option.Option<
|
|
473
|
-
<A, ER, EW, RR, RW, E = never, R = never>(self: Lens<A, ER, EW, RR, RW>, pf: (a: A) => Option.Option<
|
|
458
|
+
<A, E = never, R = never>(pf: (a: NoInfer<A>) => Effect.Effect<Option.Option<NoInfer<A>>, E, R>): <ER, EW, RR, RW>(self: Lens<A, ER, EW, RR, RW>) => Effect.Effect<A, ER | EW | E, RR | RW | R>;
|
|
459
|
+
<A, ER, EW, RR, RW, E = never, R = never>(self: Lens<A, ER, EW, RR, RW>, pf: (a: A) => Effect.Effect<Option.Option<A>, E, R>): Effect.Effect<A, ER | EW | E, RR | RW | R>;
|
|
474
460
|
};
|
|
475
|
-
export {};
|
package/dist/Lens.js
CHANGED
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
import { Array, Chunk, Effect, Function, identity, Option, Pipeable, Predicate, PubSub,
|
|
1
|
+
import { Array, Chunk, Effect, Function, identity, Option, Pipeable, Predicate, PubSub, Ref, Semaphore, Stream, SubscriptionRef, SynchronizedRef, } from "effect";
|
|
2
2
|
import * as Subscribable from "./Subscribable.js";
|
|
3
|
-
export const LensTypeId = Symbol.for("@effect-fc/Lens/Lens");
|
|
3
|
+
export const LensTypeId = Symbol.for("@effect-fc/Lens/v4/Lens");
|
|
4
4
|
/**
|
|
5
5
|
* Checks whether a value is a `Lens`.
|
|
6
6
|
*/
|
|
7
7
|
export const isLens = (u) => Predicate.hasProperty(u, LensTypeId);
|
|
8
|
-
export const LensImplTypeId = Symbol.for("@effect-fc/Lens/LensImpl");
|
|
9
|
-
export class LensImpl extends Pipeable.Class
|
|
10
|
-
[
|
|
11
|
-
[Subscribable.TypeId] = Subscribable.TypeId;
|
|
8
|
+
export const LensImplTypeId = Symbol.for("@effect-fc/Lens/v4/LensImpl");
|
|
9
|
+
export class LensImpl extends Pipeable.Class {
|
|
10
|
+
[Subscribable.SubscribableTypeId] = Subscribable.SubscribableTypeId;
|
|
12
11
|
[LensTypeId] = LensTypeId;
|
|
13
12
|
[LensImplTypeId] = LensImplTypeId;
|
|
14
13
|
get get() { return Effect.map(this.resolve, resolved => resolved.value); }
|
|
15
14
|
modifyEffect(f) {
|
|
16
15
|
return Effect.flatMap(this.lock, lock => lock(Effect.flatMap(this.resolve, resolved => Effect.flatMap(f(resolved.value), ([c, next]) => Effect.as(resolved.commit(Effect.succeed(next)), c)))));
|
|
17
16
|
}
|
|
17
|
+
modifySomeEffect(f) {
|
|
18
|
+
return Effect.flatMap(this.lock, lock => lock(Effect.flatMap(this.resolve, resolved => Effect.flatMap(f(resolved.value), ([result, next]) => Option.match(next, {
|
|
19
|
+
onSome: value => Effect.as(resolved.commit(Effect.succeed(value)), result),
|
|
20
|
+
onNone: () => Effect.succeed(result),
|
|
21
|
+
})))));
|
|
22
|
+
}
|
|
18
23
|
}
|
|
19
24
|
export const isLensImpl = (u) => Predicate.hasProperty(u, LensImplTypeId);
|
|
20
25
|
export const asLensImpl = (lens) => {
|
|
@@ -76,7 +81,7 @@ export class RefLensImpl extends LensImpl {
|
|
|
76
81
|
}));
|
|
77
82
|
}
|
|
78
83
|
get changes() { return Stream.unwrap(Effect.map(Ref.get(this.ref), Stream.make)); }
|
|
79
|
-
get lock() { return Effect.succeed(this.semaphore.
|
|
84
|
+
get lock() { return Effect.succeed(this.semaphore.withPermit); }
|
|
80
85
|
}
|
|
81
86
|
/**
|
|
82
87
|
* Creates a `Lens` that proxies a `Ref`.
|
|
@@ -84,7 +89,7 @@ export class RefLensImpl extends LensImpl {
|
|
|
84
89
|
* Note: since `Ref` does not provide any kind of reactivity mechanism, the produced `Lens` will be non-reactive.
|
|
85
90
|
* This means its `changes` stream will only emit the current value once when evaluated and nothing else.
|
|
86
91
|
*/
|
|
87
|
-
export const fromRef = (ref) => Effect.map(
|
|
92
|
+
export const fromRef = (ref) => Effect.map(Semaphore.make(1), semaphore => new RefLensImpl(ref, semaphore));
|
|
88
93
|
export class SynchronizedRefLensImpl extends LensImpl {
|
|
89
94
|
ref;
|
|
90
95
|
constructor(ref) {
|
|
@@ -92,13 +97,13 @@ export class SynchronizedRefLensImpl extends LensImpl {
|
|
|
92
97
|
this.ref = ref;
|
|
93
98
|
}
|
|
94
99
|
get resolve() {
|
|
95
|
-
return Effect.map(
|
|
100
|
+
return Effect.map(SynchronizedRef.get(this.ref), value => ({
|
|
96
101
|
value,
|
|
97
|
-
commit: next => Effect.flatMap(next, value => Ref.set(this.ref.
|
|
102
|
+
commit: next => Effect.flatMap(next, value => Ref.set(this.ref.backing, value)),
|
|
98
103
|
}));
|
|
99
104
|
}
|
|
100
|
-
get changes() { return Stream.unwrap(Effect.map(
|
|
101
|
-
get lock() { return Effect.succeed(this.ref.
|
|
105
|
+
get changes() { return Stream.unwrap(Effect.map(SynchronizedRef.get(this.ref), Stream.make)); }
|
|
106
|
+
get lock() { return Effect.succeed(this.ref.semaphore.withPermit); }
|
|
102
107
|
}
|
|
103
108
|
/**
|
|
104
109
|
* Creates a `Lens` that proxies a `SynchronizedRef`.
|
|
@@ -114,13 +119,16 @@ export class SubscriptionRefLensImpl extends LensImpl {
|
|
|
114
119
|
this.ref = ref;
|
|
115
120
|
}
|
|
116
121
|
get resolve() {
|
|
117
|
-
return Effect.map(this.ref
|
|
122
|
+
return Effect.map(SubscriptionRef.get(this.ref), value => ({
|
|
118
123
|
value,
|
|
119
|
-
commit: next => Effect.flatMap(next, value => Effect.
|
|
124
|
+
commit: next => Effect.flatMap(next, value => Effect.sync(() => {
|
|
125
|
+
this.ref.value = value;
|
|
126
|
+
PubSub.publishUnsafe(this.ref.pubsub, value);
|
|
127
|
+
})),
|
|
120
128
|
}));
|
|
121
129
|
}
|
|
122
|
-
get changes() { return this.ref
|
|
123
|
-
get lock() { return Effect.succeed(this.ref.semaphore.
|
|
130
|
+
get changes() { return SubscriptionRef.changes(this.ref); }
|
|
131
|
+
get lock() { return Effect.succeed(this.ref.semaphore.withPermit); }
|
|
124
132
|
}
|
|
125
133
|
/**
|
|
126
134
|
* Creates a `Lens` that proxies a `SubscriptionRef`.
|
|
@@ -273,8 +281,8 @@ export const tapError = Function.dual(2, (self, f) => derive(self, {
|
|
|
273
281
|
value: resolved.value,
|
|
274
282
|
commit: next => Effect.flatMap(next, value => Effect.tapError(resolved.commit(Effect.succeed(value)), f)),
|
|
275
283
|
})),
|
|
276
|
-
mapStream: Stream.tapError(f),
|
|
277
|
-
mapLock: Effect.tapError(f),
|
|
284
|
+
mapStream: Stream.tapError(e => f(e)),
|
|
285
|
+
mapLock: Effect.tapError(e => f(e)),
|
|
278
286
|
}));
|
|
279
287
|
/**
|
|
280
288
|
* Provides a `Context` to a `Lens`, removing it from both the read and write environments.
|
|
@@ -284,14 +292,14 @@ export const provideContext = Function.dual(2, (self, context) => derive(self, {
|
|
|
284
292
|
value: resolved.value,
|
|
285
293
|
commit: next => Effect.provide(resolved.commit(next), context),
|
|
286
294
|
})),
|
|
287
|
-
mapStream: Stream.
|
|
295
|
+
mapStream: Stream.provideContext(context),
|
|
288
296
|
mapLock: Effect.provide(context),
|
|
289
297
|
}));
|
|
290
298
|
/**
|
|
291
299
|
* Provides a single service to a `Lens`, removing it from both the read and write environments.
|
|
292
300
|
*
|
|
293
301
|
* This is the `Lens` equivalent of `Effect.provideService`: use it when a lens requires one
|
|
294
|
-
* `Context.
|
|
302
|
+
* `Context.Key` and you already have the concrete service value.
|
|
295
303
|
*/
|
|
296
304
|
export const provideService = Function.dual(3, (self, tag, service) => derive(self, {
|
|
297
305
|
resolve: parent => Effect.map(Effect.provideService(parent, tag, service), resolved => ({
|
|
@@ -312,30 +320,30 @@ export const focusObjectOnWritable = Function.dual(2, (self, key) => map(self, a
|
|
|
312
320
|
/**
|
|
313
321
|
* Narrows the focus to an indexed element of an array. Replaces the array in an immutable fashion when written to.
|
|
314
322
|
*/
|
|
315
|
-
export const focusArrayAt = Function.dual(2, (self, index) => mapEffect(self, Array.get(index), (a, b) => Array.
|
|
323
|
+
export const focusArrayAt = Function.dual(2, (self, index) => mapEffect(self, a => Effect.fromOption(Array.get(a, index)), (a, b) => Effect.fromOption(Array.replace(a, index, b))));
|
|
316
324
|
/**
|
|
317
325
|
* Narrows the focus to an indexed element of a mutable array. Mutates the array in place when written to.
|
|
318
326
|
*/
|
|
319
|
-
export const focusMutableArrayAt = Function.dual(2, (self, index) => mapEffect(self, Array.get(index), (a, b) => Effect.flatMap(Array.get(a, index), () => Effect.as(Effect.sync(() => { a[index] = b; }), a))));
|
|
327
|
+
export const focusMutableArrayAt = Function.dual(2, (self, index) => mapEffect(self, a => Effect.fromOption(Array.get(a, index)), (a, b) => Effect.flatMap(Effect.fromOption(Array.get(a, index)), () => Effect.as(Effect.sync(() => { a[index] = b; }), a))));
|
|
320
328
|
/**
|
|
321
329
|
* Narrows the focus to an indexed element of a readonly tuple. Replaces the tuple in an immutable fashion when written to.
|
|
322
330
|
*/
|
|
323
|
-
export const focusTupleAt = Function.dual(2, (self, index) => map(self, Array.
|
|
331
|
+
export const focusTupleAt = Function.dual(2, (self, index) => map(self, Array.getUnsafe(index), (a, b) => Option.getOrElse(Array.replace(a, index, b), () => a)));
|
|
324
332
|
/**
|
|
325
333
|
* Narrows the focus to an indexed element of a mutable tuple. Mutates the tuple in place when written to.
|
|
326
334
|
*/
|
|
327
|
-
export const focusMutableTupleAt = Function.dual(2, (self, index) => map(self, Array.
|
|
335
|
+
export const focusMutableTupleAt = Function.dual(2, (self, index) => map(self, Array.getUnsafe(index), (a, b) => { a[index] = b; return a; }));
|
|
328
336
|
/**
|
|
329
337
|
* Narrows the focus to an indexed element of `Chunk`. Replaces the `Chunk` in an immutable fashion when written to.
|
|
330
338
|
*/
|
|
331
|
-
export const focusChunkAt = Function.dual(2, (self, index) => mapEffect(self, Chunk.get(index), (
|
|
339
|
+
export const focusChunkAt = Function.dual(2, (self, index) => mapEffect(self, chunk => Effect.fromOption(Chunk.get(chunk, index)), (chunk, value) => Effect.succeed(Option.getOrElse(Chunk.replace(chunk, index, value), () => chunk))));
|
|
332
340
|
/**
|
|
333
341
|
* Narrows the focus to the value inside an `Option`.
|
|
334
342
|
*
|
|
335
|
-
* Reading or writing through this lens fails with `
|
|
343
|
+
* Reading or writing through this lens fails with `NoSuchElementError` when the parent option is `None`.
|
|
336
344
|
* Writing wraps the new focused value back into `Option.some`.
|
|
337
345
|
*/
|
|
338
|
-
export const focusOption = (self) => mapEffect(self,
|
|
346
|
+
export const focusOption = (self) => mapEffect(self, Effect.fromOption, (option, value) => Effect.as(Effect.fromOption(option), Option.some(value)));
|
|
339
347
|
/**
|
|
340
348
|
* Reads the current value from a `Lens`.
|
|
341
349
|
*/
|
|
@@ -349,13 +357,13 @@ export const modify = Function.dual(2, (self, f) => self.modifyEffect(a => Effec
|
|
|
349
357
|
*/
|
|
350
358
|
export const modifyEffect = Function.dual(2, (self, f) => self.modifyEffect(f));
|
|
351
359
|
/**
|
|
352
|
-
* Conditionally modifies
|
|
360
|
+
* Conditionally modifies a `Lens` without committing when the next value is `None`.
|
|
353
361
|
*/
|
|
354
|
-
export const modifySome = Function.dual(
|
|
362
|
+
export const modifySome = Function.dual(2, (self, f) => self.modifySomeEffect(a => Effect.succeed(f(a))));
|
|
355
363
|
/**
|
|
356
|
-
* Conditionally modifies
|
|
364
|
+
* Conditionally modifies a `Lens` with an effect without committing when the next value is `None`.
|
|
357
365
|
*/
|
|
358
|
-
export const modifySomeEffect = Function.dual(
|
|
366
|
+
export const modifySomeEffect = Function.dual(2, (self, f) => self.modifySomeEffect(f));
|
|
359
367
|
/**
|
|
360
368
|
* Sets the value of a `Lens`.
|
|
361
369
|
*/
|
|
@@ -383,11 +391,11 @@ export const getAndUpdateEffect = Function.dual(2, (self, f) => self.modifyEffec
|
|
|
383
391
|
/**
|
|
384
392
|
* Conditionally updates a `Lens` and returns the previous value.
|
|
385
393
|
*/
|
|
386
|
-
export const getAndUpdateSome = Function.dual(2, (self, pf) => self.
|
|
394
|
+
export const getAndUpdateSome = Function.dual(2, (self, pf) => self.modifySomeEffect(a => Effect.succeed([a, pf(a)])));
|
|
387
395
|
/**
|
|
388
396
|
* Conditionally updates a `Lens` with an effect and returns the previous value.
|
|
389
397
|
*/
|
|
390
|
-
export const getAndUpdateSomeEffect = Function.dual(2, (self, pf) => self.
|
|
398
|
+
export const getAndUpdateSomeEffect = Function.dual(2, (self, pf) => self.modifySomeEffect(a => Effect.map(pf(a), next => [a, next])));
|
|
391
399
|
/**
|
|
392
400
|
* Sets the value of a `Lens` and returns the new value.
|
|
393
401
|
*/
|
|
@@ -406,20 +414,23 @@ export const updateAndGetEffect = Function.dual(2, (self, f) => self.modifyEffec
|
|
|
406
414
|
/**
|
|
407
415
|
* Conditionally updates the value of a `Lens`.
|
|
408
416
|
*/
|
|
409
|
-
export const updateSome = Function.dual(2, (self, pf) => self.
|
|
417
|
+
export const updateSome = Function.dual(2, (self, pf) => self.modifySomeEffect(a => Effect.succeed([void 0, pf(a)])));
|
|
410
418
|
/**
|
|
411
419
|
* Conditionally updates the value of a `Lens` with an effect.
|
|
412
420
|
*/
|
|
413
|
-
export const updateSomeEffect = Function.dual(2, (self, pf) => self.
|
|
421
|
+
export const updateSomeEffect = Function.dual(2, (self, pf) => self.modifySomeEffect(a => Effect.map(pf(a), next => [void 0, next])));
|
|
414
422
|
/**
|
|
415
423
|
* Conditionally updates a `Lens` and returns the resulting value.
|
|
416
424
|
*/
|
|
417
|
-
export const updateSomeAndGet = Function.dual(2, (self, pf) => self.
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
}));
|
|
425
|
+
export const updateSomeAndGet = Function.dual(2, (self, pf) => self.modifySomeEffect(a => Effect.succeed(Option.match(pf(a), {
|
|
426
|
+
onNone: () => [a, Option.none()],
|
|
427
|
+
onSome: next => [next, Option.some(next)],
|
|
428
|
+
}))));
|
|
421
429
|
/**
|
|
422
430
|
* Conditionally updates a `Lens` with an effect and returns the resulting value.
|
|
423
431
|
*/
|
|
424
|
-
export const updateSomeAndGetEffect = Function.dual(2, (self, pf) => self.
|
|
432
|
+
export const updateSomeAndGetEffect = Function.dual(2, (self, pf) => self.modifySomeEffect(a => Effect.map(pf(a), next => Option.match(next, {
|
|
433
|
+
onNone: () => [a, Option.none()],
|
|
434
|
+
onSome: value => [value, Option.some(value)],
|
|
435
|
+
}))));
|
|
425
436
|
//# sourceMappingURL=Lens.js.map
|
package/dist/Lens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lens.js","sourceRoot":"","sources":["../src/Lens.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Lens.js","sourceRoot":"","sources":["../src/Lens.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,EAEL,KAAK,EAEL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,MAAM,EACN,GAAG,EACH,SAAS,EACT,MAAM,EACN,eAAe,EACf,eAAe,GAClB,MAAM,QAAQ,CAAA;AACf,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAGjD,MAAM,CAAC,MAAM,UAAU,GAAkB,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;AAuB9E;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAU,EAA0D,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;AAGlI,MAAM,CAAC,MAAM,cAAc,GAAkB,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;AAgBtF,MAAM,OAAgB,QACtB,SAAQ,QAAQ,CAAC,KAAK;IACT,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAoC,YAAY,CAAC,kBAAkB,CAAA;IACpG,CAAC,UAAU,CAAC,GAAe,UAAU,CAAA;IACrC,CAAC,cAAc,CAAC,GAAmB,cAAc,CAAA;IAM1D,IAAI,GAAG,KAAK,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC;IAEzE,YAAY,CACR,CAAmD;QAEnD,OAAO,MAAM,CAAC,OAAO,CACjB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CACvB,IAAI,CAAC,OAAO,EACZ,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CACtB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EACjB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CACrE,CACJ,CAAC,CACL,CAAA;IACL,CAAC;IAED,gBAAgB,CACZ,CAAkE;QAElE,OAAO,MAAM,CAAC,OAAO,CACjB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CACvB,IAAI,CAAC,OAAO,EACZ,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CACtB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EACjB,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YACnC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;YAC1E,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SACvC,CAAC,CACL,CACJ,CAAC,CACL,CAAA;IACL,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAU,EAA8D,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;AAE9I,MAAM,CAAC,MAAM,UAAU,GAAG,CACtB,IAA6B,EACF,EAAE;IAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACvC,OAAO,IAAmC,CAAA;AAC9C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,IAA6B,EACO,EAAE,CAAC,IAAI,CAAA;AAY/C,MAAM,OAAO,YACb,SAAQ,QAA2B;IAElB;IADb,YACa,MAA8C;QAEvD,KAAK,EAAE,CAAA;QAFE,WAAM,GAAN,MAAM,CAAwC;IAG3D,CAAC;IAED,IAAI,OAAO;QACP,OAAO,MAAM,CAAC,GAAG,CACb,IAAI,CAAC,MAAM,CAAC,GAAG,EACf,KAAK,CAAC,EAAE,CAAC,CAAC;YACN,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC3E,CAAC,CACL,CAAA;IACL,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA,CAAC,CAAC;IAC5C,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAChB,MAA8C,EACvB,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;AAGtD,MAAM,OAAO,iBACb,SAAQ,QAA+C;IAEtC;IADb,YACa,MAAsD;QAE/D,KAAK,EAAE,CAAA;QAFE,WAAM,GAAN,MAAM,CAAgD;IAGnE,CAAC;IAED,IAAI,OAAO;QACP,OAAO,MAAM,CAAC,GAAG,CACb,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EACvD,QAAQ,CAAC,EAAE,CAAC,CAAC;YACT,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;SACxC,CAAC,CACL,CAAA;IACL,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA,CAAC,CAAC;IAC/E,IAAI,IAAI,KAAK,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAClB,MAAsD,EACX,EAAE,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;AAG/E,MAAM,OAAO,WACb,SAAQ,QAAuC;IAE9B;IACA;IAFb,YACa,GAAe,EACf,SAA8B;QAEvC,KAAK,EAAE,CAAA;QAHE,QAAG,GAAH,GAAG,CAAY;QACf,cAAS,GAAT,SAAS,CAAqB;IAG3C,CAAC;IAED,IAAI,OAAO;QACP,OAAO,MAAM,CAAC,GAAG,CACb,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EACjB,KAAK,CAAC,EAAE,CAAC,CAAC;YACN,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAC1B,IAAI,EACJ,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CACpC;SACJ,CAAC,CACL,CAAA;IACL,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,CAAC;IAClF,IAAI,IAAI,KAAK,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA,CAAC,CAAC;CAClE;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACnB,GAAe,EACiD,EAAE,CAAC,MAAM,CAAC,GAAG,CAC7E,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EACjB,SAAS,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAC/C,CAAA;AAGD,MAAM,OAAO,uBACb,SAAQ,QAAuC;IAE9B;IADb,YACa,GAAuC;QAEhD,KAAK,EAAE,CAAA;QAFE,QAAG,GAAH,GAAG,CAAoC;IAGpD,CAAC;IAED,IAAI,OAAO;QACP,OAAO,MAAM,CAAC,GAAG,CACb,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAC7B,KAAK,CAAC,EAAE,CAAC,CAAC;YACN,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAC1B,IAAI,EACJ,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAC5C;SACJ,CAAC,CACL,CAAA;IACL,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,CAAC;IAC9F,IAAI,IAAI,KAAK,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA,CAAC,CAAC;CACtE;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,GAAuC,EACJ,EAAE,CAAC,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAA;AAG1E,MAAM,OAAO,uBACb,SAAQ,QAAuC;IAE9B;IADb,YACa,GAAuC;QAEhD,KAAK,EAAE,CAAA;QAFE,QAAG,GAAH,GAAG,CAAoC;IAGpD,CAAC;IAED,IAAI,OAAO;QACP,OAAO,MAAM,CAAC,GAAG,CACb,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAC7B,KAAK,CAAC,EAAE,CAAC,CAAC;YACN,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAC1B,IAAI,EACJ,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;gBACtB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAChD,CAAC,CAAC,CACL;SACJ,CAAC,CACL,CAAA;IACL,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC;IAC1D,IAAI,IAAI,KAAK,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA,CAAC,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,GAAuC,EACJ,EAAE,CAAC,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAA;AAsB1E,MAAM,OAAO,eAYb,SAAQ,QAA2B;IAElB;IACA;IAFb,YACa,MAAuC,EACvC,MAAwE;QAEjF,KAAK,EAAE,CAAA;QAHE,WAAM,GAAN,MAAM,CAAiC;QACvC,WAAM,GAAN,MAAM,CAAkE;IAGrF,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;IACjE,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;IACnE,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAQf,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,MAAwE,EAC7C,EAAE,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;AAGhF;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAUZ,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,GAAyB,EACzB,GAAwC,EACjB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CACzB,MAAM,EACN,QAAQ,CAAC,EAAE,CAAC,CAAC;QACT,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;KACjF,CAAC,CACL;IACD,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;IAC1B,OAAO,EAAE,QAAQ;CACpB,CAAC,CAAC,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAUlB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,GAAoD,EACpD,GAAmE,EAChB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;IACnE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAC7B,MAAM,EACN,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAClB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EACnB,KAAK,CAAC,EAAE,CAAC,CAAC;QACN,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;KACrF,CAAC,CACL,CACJ;IACD,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;IAChC,OAAO,EAAE,CAAA,QAA4D,CAAA;CACxE,CAAC,CAAC,CAAA;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAUlB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA4C,EAC5C,GAAyB,EACzB,GAAwC,EACF,EAAE,CAAC,GAAG,CAC5C,IAAI,EACJ,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EACf,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;IAC/B,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;CAC9B,CAAC,CACL,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAUxB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA4C,EAC5C,GAAoD,EACpD,GAAmE,EACD,EAAE,CAAC,SAAS,CAC9E,IAAI,EACJ,MAAM,CAAC,KAAK,CAAC;IACT,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC;IAC5C,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;CAC9C,CAAC,EACF,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;IAC/B,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;QAC9B,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC;QAC/C,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KAC9C,CAAC;IACF,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;CAC9C,CAAC,CACL,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAQlB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,CAAwH,EACjG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,QAAQ;CACpB,CAAC,CAAC,CAAA;AAGH;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAQrB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,CAA6B,EACN,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7B,OAAO,EAAE,QAAQ;CACpB,CAAC,CAAC,CAAA;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAQtB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,CAA6B,EACN,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAC1B,IAAI,EACJ,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CACtE;KACJ,CAAC,CAAC;IACH,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC9B,CAAC,CAAC,CAAA;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAQjB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,CAAkC,EACX,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CACzB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAC1B,QAAQ,CAAC,EAAE,CAAC,CAAC;QACT,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAC1B,IAAI,EACJ,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CACtE;KACJ,CAAC,CACL;IACD,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC9B,CAAC,CAAC,CAAA;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAQrB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,CAAmD,EAClB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7B,OAAO,EAAE,QAAQ;CACpB,CAAC,CAAC,CAAA;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAQtB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,CAAmD,EAClB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAC1B,IAAI,EACJ,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CACtE;KACJ,CAAC,CAAC;IACH,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC9B,CAAC,CAAC,CAAA;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAQjB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,CAAwD,EACb,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;IAC3D,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CACzB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAC1B,QAAQ,CAAC,EAAE,CAAC,CAAC;QACT,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAC1B,IAAI,EACJ,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CACtE;KACJ,CAAC,CACL;IACD,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACtC,CAAC,CAAC,CAAA;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAQvB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,OAA4B,EACqB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;IACjE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CACzB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,CAAC,EAAE,CAAC,CAAC;QACT,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;KACjE,CAAC,CACL;IACD,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;CACnC,CAAC,CAAC,CAAA;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAUvB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,GAAsB,EACtB,OAAmB,EAC4B,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;IAC/D,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CACzB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAC3C,QAAQ,CAAC,EAAE,CAAC,CAAC;QACT,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC;KAC7E,CAAC,CACL;IACD,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC;CAC/C,CAAC,CAAC,CAAA;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAQtB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,GAAM,EACoB,EAAE,CAAC,GAAG,CAChC,IAAI,EACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EACX,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAChF,CAAC,CAAA;AAeF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAQ9B,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,GAAM,EACoB,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAA;AAE5F;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAQrB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,KAAa,EACwE,EAAE,CAAC,SAAS,CACjG,IAAI,EACJ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAC3C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAQ,CACjE,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAQ5B,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA+B,EAC/B,KAAa,EACgE,EAAE,CAAC,SAAS,CACzF,IAAI,EACJ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAC3C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CACpB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EACtC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC1D,CACJ,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAQrB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,KAAQ,EACkB,EAAE,CAAC,GAAG,CAChC,IAAI,EACJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EACtB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAM,CACvE,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAQ5B,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA6B,EAC7B,KAAQ,EACkB,EAAE,CAAC,GAAG,CAChC,IAAI,EACJ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EACtB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC,CACvC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAQrB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CACjB,IAA0C,EAC1C,KAAa,EACqC,EAAE,CAAC,SAAS,CAC9D,IAAI,EACJ,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EACnD,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CACvG,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAIpB,CACA,IAA4C,EACiC,EAAE,CAAC,SAAS,CACzF,IAAI,EACJ,MAAM,CAAC,UAAU,EACjB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAC9E,CAAA;AAGD;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAoB,IAA6B,EAA4B,EAAE,CAAC,IAAI,CAAC,GAAG,CAAA;AAE3G;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAGf,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAuB,IAA6B,EAAE,CAA4B,EAAE,EAAE,CACvG,IAAI,CAAC,YAAY,CAAkB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChE,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAGrB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAA6B,IAA6B,EAAE,CAAiD,EAAE,EAAE,CAClI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CACvB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAGnB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAuB,IAA6B,EAAE,CAA2C,EAAE,EAAE,CACtH,IAAI,CAAC,gBAAgB,CAAkB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpE,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAGzB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAA6B,IAA6B,EAAE,CAAgE,EAAE,EAAE,CACjJ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAC3B,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAGZ,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAoB,IAA6B,EAAE,KAAQ,EAAE,EAAE,CAChF,IAAI,CAAC,YAAY,CAAqB,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAU,CAAC,CAAC,CACxF,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAGlB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAoB,IAA6B,EAAE,KAAQ,EAAE,EAAE,CAChF,IAAI,CAAC,YAAY,CAAkB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAU,CAAC,CAAC,CAC/E,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAGf,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAoB,IAA6B,EAAE,CAAc,EAAE,EAAE,CACtF,IAAI,CAAC,YAAY,CAAqB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAU,CAAC,CAAC,CACtF,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAGrB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAA0B,IAA6B,EAAE,CAAmC,EAAE,EAAE,CACjH,IAAI,CAAC,YAAY,CAAa,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAC7C,CAAC,CAAC,CAAC,CAAC,EACJ,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAU,CAAC,CAClD,CAAC,CACL,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAGrB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAoB,IAA6B,EAAE,CAAc,EAAE,EAAE,CACtF,IAAI,CAAC,YAAY,CAAkB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAU,CAAC,CAAC,CAC9E,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAG3B,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAA0B,IAA6B,EAAE,CAAmC,EAAE,EAAE,CACjH,IAAI,CAAC,YAAY,CAAU,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAC1C,CAAC,CAAC,CAAC,CAAC,EACJ,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAU,CAAC,CAC7C,CAAC,CACL,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAGzB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAoB,IAA6B,EAAE,EAA8B,EAAE,EAAE,CACtG,IAAI,CAAC,gBAAgB,CAAkB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAU,CAAC,CAAC,CACnF,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAG/B,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAA0B,IAA6B,EAAE,EAAmD,EAAE,EAAE,CACjI,IAAI,CAAC,gBAAgB,CAAU,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAC1C,EAAE,CAAC,CAAC,CAAC,EACL,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAU,CAC7B,CAAC,CACL,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAGlB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAoB,IAA6B,EAAE,KAAQ,EAAE,EAAE,CAChF,IAAI,CAAC,YAAY,CAAkB,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,CAAU,CAAC,CAAC,CACpF,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAGrB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAoB,IAA6B,EAAE,CAAc,EAAE,EAAE,CACtF,IAAI,CAAC,YAAY,CAAkB,CAAC,CAAC,EAAE;IACnC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACjB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC,CAAA;AAChD,CAAC,CAAC,CACL,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAG3B,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAA0B,IAA6B,EAAE,CAAmC,EAAE,EAAE,CACjH,IAAI,CAAC,YAAY,CAAU,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAC1C,CAAC,CAAC,CAAC,CAAC,EACJ,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC,CAChD,CAAC,CACL,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAGnB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAoB,IAA6B,EAAE,EAA8B,EAAE,EAAE,CACtG,IAAI,CAAC,gBAAgB,CAAqB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAU,CAAC,CAAC,CAC3F,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAGzB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAA0B,IAA6B,EAAE,EAAmD,EAAE,EAAE,CACjI,IAAI,CAAC,gBAAgB,CAAa,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAC7C,EAAE,CAAC,CAAC,CAAC,EACL,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAU,CAClC,CAAC,CACL,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAGzB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAoB,IAA6B,EAAE,EAA8B,EAAE,EAAE,CACtG,IAAI,CAAC,gBAAgB,CAAkB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC3E,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAU;IACzC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAU;CACrD,CAAC,CAAC,CAAC,CACP,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAG/B,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAA0B,IAA6B,EAAE,EAAmD,EAAE,EAAE,CACjI,IAAI,CAAC,gBAAgB,CAAU,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAC1C,EAAE,CAAC,CAAC,CAAC,EACL,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;IACvB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAU;IACzC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAU;CACxD,CAAC,CACL,CAAC,CACL,CAAA"}
|
package/dist/Subscribable.d.ts
CHANGED
|
@@ -1,108 +1,113 @@
|
|
|
1
|
-
import { type Cause, Chunk, Effect,
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { type Cause, Chunk, Effect, Option, Pipeable, type Result, type Schedule, Stream } from "effect";
|
|
2
|
+
export declare const SubscribableTypeId: unique symbol;
|
|
3
|
+
export type SubscribableTypeId = typeof SubscribableTypeId;
|
|
4
|
+
export interface Subscribable<in out A, in out E = never, in out R = never> extends Pipeable.Pipeable {
|
|
5
|
+
readonly [SubscribableTypeId]: SubscribableTypeId;
|
|
6
|
+
readonly get: Effect.Effect<A, E, R>;
|
|
7
|
+
readonly changes: Stream.Stream<A, E, R>;
|
|
8
|
+
}
|
|
9
|
+
export declare const isSubscribable: (u: unknown) => u is Subscribable<unknown, unknown, unknown>;
|
|
10
|
+
export declare const SubscribableImplTypeId: unique symbol;
|
|
11
|
+
export type SubscribableImplTypeId = typeof SubscribableImplTypeId;
|
|
12
|
+
export declare namespace SubscribableImpl {
|
|
13
|
+
interface Source<in out A, in out E = never, in out R = never> {
|
|
14
|
+
readonly get: Effect.Effect<A, E, R>;
|
|
15
|
+
readonly changes: Stream.Stream<A, E, R>;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export declare class SubscribableImpl<in out A, in out E = never, in out R = never> extends Pipeable.Class implements Subscribable<A, E, R> {
|
|
19
|
+
readonly source: SubscribableImpl.Source<A, E, R>;
|
|
20
|
+
readonly [SubscribableTypeId]: SubscribableTypeId;
|
|
21
|
+
readonly [SubscribableImplTypeId]: SubscribableImplTypeId;
|
|
22
|
+
constructor(source: SubscribableImpl.Source<A, E, R>);
|
|
23
|
+
get get(): Effect.Effect<A, E, R>;
|
|
24
|
+
get changes(): Stream.Stream<A, E, R>;
|
|
25
|
+
}
|
|
26
|
+
export declare const isSubscribableImpl: (u: unknown) => u is SubscribableImpl<unknown, unknown, unknown>;
|
|
27
|
+
export declare const asSubscribableImpl: <A, E, R>(subscribable: Subscribable<A, E, R>) => SubscribableImpl<A, E, R>;
|
|
28
|
+
export declare const make: <A, E, R>(source: SubscribableImpl.Source<A, E, R>) => Subscribable<A, E, R>;
|
|
29
|
+
export declare const unwrap: <A, E, R, E1, R1>(effect: Effect.Effect<Subscribable<A, E, R>, E1, R1>) => Subscribable<A, E | E1, R | R1>;
|
|
30
|
+
export declare const map: {
|
|
31
|
+
<A, B>(f: (a: NoInfer<A>) => B): <E, R>(self: Subscribable<A, E, R>) => Subscribable<B, E, R>;
|
|
32
|
+
<A, E, R, B>(self: Subscribable<A, E, R>, f: (a: NoInfer<A>) => B): Subscribable<B, E, R>;
|
|
33
|
+
};
|
|
34
|
+
export declare const mapEffect: {
|
|
35
|
+
<A, B, E2, R2>(f: (a: NoInfer<A>) => Effect.Effect<B, E2, R2>): <E, R>(self: Subscribable<A, E, R>) => Subscribable<B, E | E2, R | R2>;
|
|
36
|
+
<A, E, R, B, E2, R2>(self: Subscribable<A, E, R>, f: (a: NoInfer<A>) => Effect.Effect<B, E2, R2>): Subscribable<B, E | E2, R | R2>;
|
|
37
|
+
};
|
|
38
|
+
/** Maps over an `Option` value in the `Subscribable`. */
|
|
7
39
|
export declare const mapOption: {
|
|
8
|
-
<A, B>(f: (a: A) => B): <E, R>(self: Subscribable
|
|
9
|
-
<A, B, E, R>(self: Subscribable
|
|
40
|
+
<A, B>(f: (a: A) => B): <E, R>(self: Subscribable<Option.Option<A>, E, R>) => Subscribable<Option.Option<B>, E, R>;
|
|
41
|
+
<A, B, E, R>(self: Subscribable<Option.Option<A>, E, R>, f: (a: A) => B): Subscribable<Option.Option<B>, E, R>;
|
|
10
42
|
};
|
|
11
|
-
/**
|
|
12
|
-
* Maps over an `Option` value in the `Subscribable` with an Effect.
|
|
13
|
-
*/
|
|
43
|
+
/** Maps over an `Option` value in the `Subscribable` with an Effect. */
|
|
14
44
|
export declare const mapOptionEffect: {
|
|
15
|
-
<A, B, E2>(f: (a: A) => Effect.Effect<B, E2>): <E, R>(self: Subscribable
|
|
16
|
-
<A, B, E, E2,
|
|
45
|
+
<A, B, E2, R2>(f: (a: A) => Effect.Effect<B, E2, R2>): <E, R>(self: Subscribable<Option.Option<A>, E, R>) => Subscribable<Option.Option<B>, E | E2, R | R2>;
|
|
46
|
+
<A, B, E, R, E2, R2>(self: Subscribable<Option.Option<A>, E, R>, f: (a: A) => Effect.Effect<B, E2, R2>): Subscribable<Option.Option<B>, E | E2, R | R2>;
|
|
17
47
|
};
|
|
18
|
-
/**
|
|
19
|
-
* Maps errors from both the current value and the stream of changes.
|
|
20
|
-
*/
|
|
48
|
+
/** Maps errors from both the current value and the stream of changes. */
|
|
21
49
|
export declare const mapError: {
|
|
22
|
-
<E, E2>(f: (error: NoInfer<E>) => E2): <A, R>(self: Subscribable
|
|
23
|
-
<A, E, R, E2>(self: Subscribable
|
|
50
|
+
<E, E2>(f: (error: NoInfer<E>) => E2): <A, R>(self: Subscribable<A, E, R>) => Subscribable<A, E2, R>;
|
|
51
|
+
<A, E, R, E2>(self: Subscribable<A, E, R>, f: (error: NoInfer<E>) => E2): Subscribable<A, E2, R>;
|
|
24
52
|
};
|
|
25
|
-
/**
|
|
26
|
-
export declare const mapErrorCause: {
|
|
27
|
-
<E, E2>(f: (cause: Cause.Cause<NoInfer<E>>) => Cause.Cause<E2>): <A, R>(self: Subscribable.Subscribable<A, E, R>) => Subscribable.Subscribable<A, E2, R>;
|
|
28
|
-
<A, E, R, E2>(self: Subscribable.Subscribable<A, E, R>, f: (cause: Cause.Cause<NoInfer<E>>) => Cause.Cause<E2>): Subscribable.Subscribable<A, E2, R>;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Runs an effect when either the current value or the stream of changes fails.
|
|
32
|
-
*/
|
|
53
|
+
/** Runs an effect when either the current value or the stream of changes fails. */
|
|
33
54
|
export declare const tapError: {
|
|
34
|
-
<E, B, E2, R2>(f: (error: NoInfer<E>) => Effect.Effect<B, E2, R2>): <A, R>(self: Subscribable
|
|
35
|
-
<A, E, R, B, E2, R2>(self: Subscribable
|
|
55
|
+
<E, B, E2, R2>(f: (error: NoInfer<E>) => Effect.Effect<B, E2, R2>): <A, R>(self: Subscribable<A, E, R>) => Subscribable<A, E | E2, R | R2>;
|
|
56
|
+
<A, E, R, B, E2, R2>(self: Subscribable<A, E, R>, f: (error: NoInfer<E>) => Effect.Effect<B, E2, R2>): Subscribable<A, E | E2, R | R2>;
|
|
36
57
|
};
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<E, B, E2, R2>(f: (error: NoInfer<E>) => Subscribable
|
|
40
|
-
<A, E, R, B, E2, R2>(self: Subscribable.Subscribable<A, E, R>, f: (error: NoInfer<E>) => Subscribable.Subscribable<B, E2, R2>): Subscribable.Subscribable<A | B, E2, R | R2>;
|
|
58
|
+
declare const catch_: {
|
|
59
|
+
<E, B, E2, R2>(f: (error: NoInfer<E>) => Subscribable<B, E2, R2>): <A, R>(self: Subscribable<A, E, R>) => Subscribable<A | B, E2, R | R2>;
|
|
60
|
+
<A, E, R, B, E2, R2>(self: Subscribable<A, E, R>, f: (error: NoInfer<E>) => Subscribable<B, E2, R2>): Subscribable<A | B, E2, R | R2>;
|
|
41
61
|
};
|
|
62
|
+
/** Recovers from typed errors with another `Subscribable`. */
|
|
63
|
+
export { catch_ as catch };
|
|
42
64
|
/** Recovers from all failure causes with another `Subscribable`. */
|
|
43
|
-
export declare const
|
|
44
|
-
<E, B, E2, R2>(f: (cause: Cause.Cause<NoInfer<E>>) => Subscribable
|
|
45
|
-
<A, E, R, B, E2, R2>(self: Subscribable
|
|
65
|
+
export declare const catchCause: {
|
|
66
|
+
<E, B, E2, R2>(f: (cause: Cause.Cause<NoInfer<E>>) => Subscribable<B, E2, R2>): <A, R>(self: Subscribable<A, E, R>) => Subscribable<A | B, E2, R | R2>;
|
|
67
|
+
<A, E, R, B, E2, R2>(self: Subscribable<A, E, R>, f: (cause: Cause.Cause<NoInfer<E>>) => Subscribable<B, E2, R2>): Subscribable<A | B, E2, R | R2>;
|
|
46
68
|
};
|
|
47
69
|
/** Runs an effect when either channel fails, exposing the complete failure cause. */
|
|
48
|
-
export declare const
|
|
49
|
-
<E, B, E2, R2>(f: (cause: Cause.Cause<NoInfer<E>>) => Effect.Effect<B, E2, R2>): <A, R>(self: Subscribable
|
|
50
|
-
<A, E, R, B, E2, R2>(self: Subscribable
|
|
70
|
+
export declare const tapCause: {
|
|
71
|
+
<E, B, E2, R2>(f: (cause: Cause.Cause<NoInfer<E>>) => Effect.Effect<B, E2, R2>): <A, R>(self: Subscribable<A, E, R>) => Subscribable<A, E | E2, R | R2>;
|
|
72
|
+
<A, E, R, B, E2, R2>(self: Subscribable<A, E, R>, f: (cause: Cause.Cause<NoInfer<E>>) => Effect.Effect<B, E2, R2>): Subscribable<A, E | E2, R | R2>;
|
|
51
73
|
};
|
|
52
74
|
/** Falls back to another `Subscribable` when either channel fails. */
|
|
53
75
|
export declare const orElse: {
|
|
54
|
-
<B, E2, R2>(that: () => Subscribable
|
|
55
|
-
<A, E, R, B, E2, R2>(self: Subscribable
|
|
76
|
+
<B, E2, R2>(that: () => Subscribable<B, E2, R2>): <A, E, R>(self: Subscribable<A, E, R>) => Subscribable<A | B, E2, R | R2>;
|
|
77
|
+
<A, E, R, B, E2, R2>(self: Subscribable<A, E, R>, that: () => Subscribable<B, E2, R2>): Subscribable<A | B, E2, R | R2>;
|
|
56
78
|
};
|
|
57
79
|
/** Replaces typed errors from either channel with a lazily evaluated value. */
|
|
58
80
|
export declare const orElseSucceed: {
|
|
59
|
-
<B>(value: () => B): <A, E, R>(self: Subscribable
|
|
60
|
-
<A, E, R, B>(self: Subscribable
|
|
81
|
+
<B>(value: () => B): <A, E, R>(self: Subscribable<A, E, R>) => Subscribable<A | B, never, R>;
|
|
82
|
+
<A, E, R, B>(self: Subscribable<A, E, R>, value: () => B): Subscribable<A | B, never, R>;
|
|
61
83
|
};
|
|
62
84
|
/** Retries failures from both channels according to the supplied schedule. */
|
|
63
85
|
export declare const retry: {
|
|
64
|
-
<E, X, R2>(policy: Schedule.Schedule<X, NoInfer<E>, R2>): <A, R>(self: Subscribable
|
|
65
|
-
<A, E, R, X, R2>(self: Subscribable
|
|
66
|
-
};
|
|
67
|
-
/** Converts typed failures from both channels into `
|
|
68
|
-
export declare const
|
|
69
|
-
/**
|
|
70
|
-
* Narrows the focus to a field of an object.
|
|
71
|
-
*/
|
|
86
|
+
<E, X, E2, R2>(policy: Schedule.Schedule<X, NoInfer<E>, E2, R2>): <A, R>(self: Subscribable<A, E, R>) => Subscribable<A, E | E2, R | R2>;
|
|
87
|
+
<A, E, R, X, E2, R2>(self: Subscribable<A, E, R>, policy: Schedule.Schedule<X, NoInfer<E>, E2, R2>): Subscribable<A, E | E2, R | R2>;
|
|
88
|
+
};
|
|
89
|
+
/** Converts typed failures from both channels into `Result` values. */
|
|
90
|
+
export declare const result: <A, E, R>(self: Subscribable<A, E, R>) => Subscribable<Result.Result<A, E>, never, R>;
|
|
91
|
+
/** Narrows the focus to a field of an object. */
|
|
72
92
|
export declare const focusObjectOn: {
|
|
73
|
-
<A extends object, K extends keyof A
|
|
74
|
-
<A extends object, K extends keyof A, E, R>(self: Subscribable
|
|
93
|
+
<A extends object, K extends keyof A>(key: K): <E, R>(self: Subscribable<A, E, R>) => Subscribable<A[K], E, R>;
|
|
94
|
+
<A extends object, K extends keyof A, E, R>(self: Subscribable<A, E, R>, key: K): Subscribable<A[K], E, R>;
|
|
75
95
|
};
|
|
76
|
-
/**
|
|
77
|
-
* Narrows the focus to an indexed element of an array.
|
|
78
|
-
*/
|
|
96
|
+
/** Narrows the focus to an indexed element of an array. */
|
|
79
97
|
export declare const focusArrayAt: {
|
|
80
|
-
<A extends readonly any[]
|
|
81
|
-
<A extends readonly any[], E, R>(self: Subscribable
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
*/
|
|
86
|
-
export declare const focusArrayLength: <A extends readonly any[], E, R>(self: Subscribable.Subscribable<A, E, R>) => Subscribable.Subscribable<number, E, R>;
|
|
87
|
-
/**
|
|
88
|
-
* Narrows the focus to an indexed element of a readonly tuple.
|
|
89
|
-
*/
|
|
98
|
+
<A extends readonly any[]>(index: number): <E, R>(self: Subscribable<A, E, R>) => Subscribable<A[number], E | Cause.NoSuchElementError, R>;
|
|
99
|
+
<A extends readonly any[], E, R>(self: Subscribable<A, E, R>, index: number): Subscribable<A[number], E | Cause.NoSuchElementError, R>;
|
|
100
|
+
};
|
|
101
|
+
export declare const focusArrayLength: <A extends readonly any[], E, R>(self: Subscribable<A, E, R>) => Subscribable<number, E, R>;
|
|
102
|
+
/** Narrows the focus to an indexed element of a readonly tuple. */
|
|
90
103
|
export declare const focusTupleAt: {
|
|
91
|
-
<T extends readonly [any, ...any[]], I extends number
|
|
92
|
-
<T extends readonly [any, ...any[]], I extends number, E, R>(self: Subscribable
|
|
104
|
+
<T extends readonly [any, ...any[]], I extends number>(index: I): <E, R>(self: Subscribable<T, E, R>) => Subscribable<T[I], E, R>;
|
|
105
|
+
<T extends readonly [any, ...any[]], I extends number, E, R>(self: Subscribable<T, E, R>, index: I): Subscribable<T[I], E, R>;
|
|
93
106
|
};
|
|
94
|
-
/**
|
|
95
|
-
* Narrows the focus to an indexed element of `Chunk`.
|
|
96
|
-
*/
|
|
107
|
+
/** Narrows the focus to an indexed element of `Chunk`. */
|
|
97
108
|
export declare const focusChunkAt: {
|
|
98
|
-
<A
|
|
99
|
-
<A, E, R>(self: Subscribable
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
*/
|
|
104
|
-
export declare const focusChunkSize: <A, E, R>(self: Subscribable.Subscribable<Chunk.Chunk<A>, E, R>) => Subscribable.Subscribable<number, E, R>;
|
|
105
|
-
/**
|
|
106
|
-
* Narrows the focus to the size of a `Iterable`.
|
|
107
|
-
*/
|
|
108
|
-
export declare const focusIterableSize: <A, E, R>(self: Subscribable.Subscribable<Iterable<A>, E, R>) => Subscribable.Subscribable<number, E, R>;
|
|
109
|
+
<A>(index: number): <E, R>(self: Subscribable<Chunk.Chunk<A>, E, R>) => Subscribable<A, E | Cause.NoSuchElementError, R>;
|
|
110
|
+
<A, E, R>(self: Subscribable<Chunk.Chunk<A>, E, R>, index: number): Subscribable<A, E | Cause.NoSuchElementError, R>;
|
|
111
|
+
};
|
|
112
|
+
export declare const focusChunkSize: <A, E, R>(self: Subscribable<Chunk.Chunk<A>, E, R>) => Subscribable<number, E, R>;
|
|
113
|
+
export declare const focusIterableSize: <A extends Iterable<any>, E, R>(self: Subscribable<A, E, R>) => Subscribable<number, E, R>;
|
package/dist/Subscribable.js
CHANGED
|
@@ -1,93 +1,96 @@
|
|
|
1
|
-
import { Array, Chunk, Effect, Function, Iterable, Option,
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { Array, Chunk, Effect, Function, Iterable, Option, Pipeable, Predicate, Stream } from "effect";
|
|
2
|
+
export const SubscribableTypeId = Symbol.for("@effect-fc/Lens/v4/Subscribable");
|
|
3
|
+
export const isSubscribable = (u) => Predicate.hasProperty(u, SubscribableTypeId);
|
|
4
|
+
export const SubscribableImplTypeId = Symbol.for("@effect-fc/Lens/v4/SubscribableImpl");
|
|
5
|
+
export class SubscribableImpl extends Pipeable.Class {
|
|
6
|
+
source;
|
|
7
|
+
[SubscribableTypeId] = SubscribableTypeId;
|
|
8
|
+
[SubscribableImplTypeId] = SubscribableImplTypeId;
|
|
9
|
+
constructor(source) {
|
|
10
|
+
super();
|
|
11
|
+
this.source = source;
|
|
12
|
+
}
|
|
13
|
+
get get() { return this.source.get; }
|
|
14
|
+
get changes() { return this.source.changes; }
|
|
15
|
+
}
|
|
16
|
+
export const isSubscribableImpl = (u) => Predicate.hasProperty(u, SubscribableImplTypeId);
|
|
17
|
+
export const asSubscribableImpl = (subscribable) => {
|
|
18
|
+
if (!isSubscribableImpl(subscribable))
|
|
19
|
+
throw new Error("Not a 'SubscribableImpl'");
|
|
20
|
+
return subscribable;
|
|
21
|
+
};
|
|
22
|
+
export const make = (source) => new SubscribableImpl(source);
|
|
23
|
+
export const unwrap = (effect) => make({
|
|
24
|
+
get: Effect.flatMap(effect, self => self.get),
|
|
25
|
+
changes: Stream.unwrap(Effect.map(effect, self => self.changes)),
|
|
26
|
+
});
|
|
27
|
+
export const map = Function.dual(2, (self, f) => make({
|
|
28
|
+
get get() { return Effect.map(self.get, f); },
|
|
29
|
+
get changes() { return Stream.map(self.changes, f); },
|
|
30
|
+
}));
|
|
31
|
+
export const mapEffect = Function.dual(2, (self, f) => make({
|
|
32
|
+
get get() { return Effect.flatMap(self.get, f); },
|
|
33
|
+
get changes() { return Stream.mapEffect(self.changes, f); },
|
|
34
|
+
}));
|
|
35
|
+
/** Maps over an `Option` value in the `Subscribable`. */
|
|
36
|
+
export const mapOption = Function.dual(2, (self, f) => map(self, Option.map(f)));
|
|
37
|
+
/** Maps over an `Option` value in the `Subscribable` with an Effect. */
|
|
38
|
+
export const mapOptionEffect = Function.dual(2, (self, f) => mapEffect(self, Option.match({
|
|
11
39
|
onSome: a => Effect.map(f(a), Option.some),
|
|
12
40
|
onNone: () => Effect.succeed(Option.none()),
|
|
13
41
|
})));
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
*/
|
|
17
|
-
export const mapError = Function.dual(2, (self, f) => Subscribable.make({
|
|
42
|
+
/** Maps errors from both the current value and the stream of changes. */
|
|
43
|
+
export const mapError = Function.dual(2, (self, f) => make({
|
|
18
44
|
get get() { return Effect.mapError(self.get, f); },
|
|
19
45
|
get changes() { return Stream.mapError(self.changes, f); },
|
|
20
46
|
}));
|
|
21
|
-
/**
|
|
22
|
-
export const
|
|
23
|
-
get get() { return Effect.mapErrorCause(self.get, f); },
|
|
24
|
-
get changes() { return Stream.mapErrorCause(self.changes, f); },
|
|
25
|
-
}));
|
|
26
|
-
/**
|
|
27
|
-
* Runs an effect when either the current value or the stream of changes fails.
|
|
28
|
-
*/
|
|
29
|
-
export const tapError = Function.dual(2, (self, f) => Subscribable.make({
|
|
47
|
+
/** Runs an effect when either the current value or the stream of changes fails. */
|
|
48
|
+
export const tapError = Function.dual(2, (self, f) => make({
|
|
30
49
|
get get() { return Effect.tapError(self.get, f); },
|
|
31
50
|
get changes() { return Stream.tapError(self.changes, f); },
|
|
32
51
|
}));
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
get
|
|
36
|
-
get changes() { return Stream.catchAll(self.changes, error => f(error).changes); },
|
|
52
|
+
const catch_ = Function.dual(2, (self, f) => make({
|
|
53
|
+
get get() { return Effect.catch(self.get, error => f(error).get); },
|
|
54
|
+
get changes() { return Stream.catch(self.changes, error => f(error).changes); },
|
|
37
55
|
}));
|
|
56
|
+
/** Recovers from typed errors with another `Subscribable`. */
|
|
57
|
+
export { catch_ as catch };
|
|
38
58
|
/** Recovers from all failure causes with another `Subscribable`. */
|
|
39
|
-
export const
|
|
40
|
-
get get() { return Effect.
|
|
41
|
-
get changes() { return Stream.
|
|
59
|
+
export const catchCause = Function.dual(2, (self, f) => make({
|
|
60
|
+
get get() { return Effect.catchCause(self.get, cause => f(cause).get); },
|
|
61
|
+
get changes() { return Stream.catchCause(self.changes, cause => f(cause).changes); },
|
|
42
62
|
}));
|
|
43
63
|
/** Runs an effect when either channel fails, exposing the complete failure cause. */
|
|
44
|
-
export const
|
|
45
|
-
get get() { return Effect.
|
|
46
|
-
get changes() { return Stream.
|
|
64
|
+
export const tapCause = Function.dual(2, (self, f) => make({
|
|
65
|
+
get get() { return Effect.tapCause(self.get, f); },
|
|
66
|
+
get changes() { return Stream.tapCause(self.changes, f); },
|
|
47
67
|
}));
|
|
48
68
|
/** Falls back to another `Subscribable` when either channel fails. */
|
|
49
|
-
export const orElse = Function.dual(2, (self, that) =>
|
|
69
|
+
export const orElse = Function.dual(2, (self, that) => catch_(self, that));
|
|
50
70
|
/** Replaces typed errors from either channel with a lazily evaluated value. */
|
|
51
|
-
export const orElseSucceed = Function.dual(2, (self, value) =>
|
|
71
|
+
export const orElseSucceed = Function.dual(2, (self, value) => make({
|
|
52
72
|
get get() { return Effect.orElseSucceed(self.get, value); },
|
|
53
73
|
get changes() { return Stream.orElseSucceed(self.changes, value); },
|
|
54
74
|
}));
|
|
55
75
|
/** Retries failures from both channels according to the supplied schedule. */
|
|
56
|
-
export const retry = Function.dual(2, (self, policy) =>
|
|
76
|
+
export const retry = Function.dual(2, (self, policy) => make({
|
|
57
77
|
get get() { return Effect.retry(self.get, policy); },
|
|
58
78
|
get changes() { return Stream.retry(self.changes, policy); },
|
|
59
79
|
}));
|
|
60
|
-
/** Converts typed failures from both channels into `
|
|
61
|
-
export const
|
|
62
|
-
get get() { return Effect.
|
|
63
|
-
get changes() { return Stream.
|
|
80
|
+
/** Converts typed failures from both channels into `Result` values. */
|
|
81
|
+
export const result = (self) => make({
|
|
82
|
+
get get() { return Effect.result(self.get); },
|
|
83
|
+
get changes() { return Stream.result(self.changes); },
|
|
64
84
|
});
|
|
65
|
-
/**
|
|
66
|
-
|
|
67
|
-
*/
|
|
68
|
-
export const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
export const focusArrayLength = (self) => Subscribable.map(self, Array.length);
|
|
77
|
-
/**
|
|
78
|
-
* Narrows the focus to an indexed element of a readonly tuple.
|
|
79
|
-
*/
|
|
80
|
-
export const focusTupleAt = Function.dual(2, (self, index) => Subscribable.map(self, Array.unsafeGet(index)));
|
|
81
|
-
/**
|
|
82
|
-
* Narrows the focus to an indexed element of `Chunk`.
|
|
83
|
-
*/
|
|
84
|
-
export const focusChunkAt = Function.dual(2, (self, index) => Subscribable.mapEffect(self, Chunk.get(index)));
|
|
85
|
-
/**
|
|
86
|
-
* Narrows the focus to the size of a `Chunk`.
|
|
87
|
-
*/
|
|
88
|
-
export const focusChunkSize = (self) => Subscribable.map(self, Chunk.size);
|
|
89
|
-
/**
|
|
90
|
-
* Narrows the focus to the size of a `Iterable`.
|
|
91
|
-
*/
|
|
92
|
-
export const focusIterableSize = (self) => Subscribable.map(self, Iterable.size);
|
|
85
|
+
/** Narrows the focus to a field of an object. */
|
|
86
|
+
export const focusObjectOn = Function.dual(2, (self, key) => map(self, a => a[key]));
|
|
87
|
+
/** Narrows the focus to an indexed element of an array. */
|
|
88
|
+
export const focusArrayAt = Function.dual(2, (self, index) => mapEffect(self, a => Effect.fromOption(Array.get(a, index))));
|
|
89
|
+
export const focusArrayLength = (self) => map(self, Array.length);
|
|
90
|
+
/** Narrows the focus to an indexed element of a readonly tuple. */
|
|
91
|
+
export const focusTupleAt = Function.dual(2, (self, index) => map(self, Array.getUnsafe(index)));
|
|
92
|
+
/** Narrows the focus to an indexed element of `Chunk`. */
|
|
93
|
+
export const focusChunkAt = Function.dual(2, (self, index) => mapEffect(self, chunk => Effect.fromOption(Chunk.get(chunk, index))));
|
|
94
|
+
export const focusChunkSize = (self) => map(self, Chunk.size);
|
|
95
|
+
export const focusIterableSize = (self) => map(self, Iterable.size);
|
|
93
96
|
//# sourceMappingURL=Subscribable.js.map
|
package/dist/Subscribable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Subscribable.js","sourceRoot":"","sources":["../src/Subscribable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Subscribable.js","sourceRoot":"","sources":["../src/Subscribable.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-lens",
|
|
3
3
|
"description": "An effectful Lens type to easily manage nested state",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "2.0.0-beta.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
7
7
|
"./README.md",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"clean:modules": "rm -rf node_modules"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"effect": "
|
|
39
|
+
"effect": "4.0.0-beta.85"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"effect": "
|
|
42
|
+
"effect": "4.0.0-beta.85"
|
|
43
43
|
}
|
|
44
44
|
}
|