effect 3.14.21 → 3.15.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/dist/cjs/Brand.js +8 -0
- package/dist/cjs/Brand.js.map +1 -1
- package/dist/cjs/Cause.js +8 -1
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/ConfigError.js.map +1 -1
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +36 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Function.js +2 -2
- package/dist/cjs/Function.js.map +1 -1
- package/dist/cjs/Layer.js +8 -1
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/MutableHashMap.js.map +1 -1
- package/dist/cjs/MutableList.js.map +1 -1
- package/dist/cjs/Pipeable.js +25 -1
- package/dist/cjs/Pipeable.js.map +1 -1
- package/dist/cjs/Record.js +26 -1
- package/dist/cjs/Record.js.map +1 -1
- package/dist/cjs/Schema.js +14 -5
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/Stream.js +23 -2
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/internal/configError.js +12 -0
- package/dist/cjs/internal/configError.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +17 -1
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/stream.js +62 -2
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/cjs/internal/version.js.map +1 -1
- package/dist/dts/Brand.d.ts +7 -0
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +7 -0
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/ConfigError.d.ts +2 -0
- package/dist/dts/ConfigError.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +25 -363
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +35 -0
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Function.d.ts +2 -2
- package/dist/dts/Function.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +6 -0
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/MutableHashMap.d.ts +1 -1
- package/dist/dts/MutableHashMap.d.ts.map +1 -1
- package/dist/dts/MutableList.d.ts +1 -1
- package/dist/dts/MutableList.d.ts.map +1 -1
- package/dist/dts/Pipeable.d.ts +30 -1
- package/dist/dts/Pipeable.d.ts.map +1 -1
- package/dist/dts/Record.d.ts +86 -0
- package/dist/dts/Record.d.ts.map +1 -1
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +36 -0
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/Types.d.ts +11 -0
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/dts/internal/core-effect.d.ts.map +1 -1
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Brand.js +8 -1
- package/dist/esm/Brand.js.map +1 -1
- package/dist/esm/Cause.js +7 -0
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/ConfigError.js.map +1 -1
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +35 -0
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Function.js +2 -2
- package/dist/esm/Function.js.map +1 -1
- package/dist/esm/Layer.js +6 -0
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/MutableHashMap.js.map +1 -1
- package/dist/esm/MutableList.js.map +1 -1
- package/dist/esm/Pipeable.js +23 -0
- package/dist/esm/Pipeable.js.map +1 -1
- package/dist/esm/Record.js +25 -0
- package/dist/esm/Record.js.map +1 -1
- package/dist/esm/Schema.js +14 -5
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/Stream.js +21 -0
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/internal/configError.js +12 -0
- package/dist/esm/internal/configError.js.map +1 -1
- package/dist/esm/internal/core-effect.js +17 -1
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/stream.js +58 -0
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/internal/version.js.map +1 -1
- package/package.json +1 -1
- package/src/Brand.ts +9 -1
- package/src/Cause.ts +8 -0
- package/src/ConfigError.ts +2 -0
- package/src/Effect.ts +54 -377
- package/src/Either.ts +107 -0
- package/src/Function.ts +2 -2
- package/src/Layer.ts +11 -0
- package/src/MutableHashMap.ts +1 -1
- package/src/MutableList.ts +1 -1
- package/src/Pipeable.ts +51 -1
- package/src/Record.ts +120 -0
- package/src/Schema.ts +19 -8
- package/src/Stream.ts +40 -0
- package/src/Types.ts +13 -0
- package/src/internal/configError.ts +12 -0
- package/src/internal/core-effect.ts +70 -106
- package/src/internal/stream.ts +68 -0
- package/src/internal/version.ts +1 -1
|
@@ -237,21 +237,36 @@ export const catchSomeDefect = dual<
|
|
|
237
237
|
|
|
238
238
|
/* @internal */
|
|
239
239
|
export const catchTag = dual<
|
|
240
|
-
<K extends
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
<A, E, R, K extends (E extends { _tag: string } ? E["_tag"] : never), R1, E1, A1>(
|
|
240
|
+
<E, const K extends Arr.NonEmptyReadonlyArray<E extends { _tag: string } ? E["_tag"] : never>, A1, E1, R1>(
|
|
241
|
+
...args: [...tags: K, f: (e: Extract<NoInfer<E>, { _tag: K[number] }>) => Effect.Effect<A1, E1, R1>]
|
|
242
|
+
) => <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A | A1, Exclude<E, { _tag: K[number] }> | E1, R | R1>,
|
|
243
|
+
<A, E, R, const K extends Arr.NonEmptyReadonlyArray<E extends { _tag: string } ? E["_tag"] : never>, R1, E1, A1>(
|
|
245
244
|
self: Effect.Effect<A, E, R>,
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
): Effect.Effect<A | A1, Exclude<E, { _tag: K }> | E1, R | R1> =>
|
|
254
|
-
|
|
245
|
+
...args: [...tags: K, f: (e: Extract<NoInfer<E>, { _tag: K[number] }>) => Effect.Effect<A1, E1, R1>]
|
|
246
|
+
) => Effect.Effect<A | A1, Exclude<E, { _tag: K[number] }> | E1, R | R1>
|
|
247
|
+
>(
|
|
248
|
+
(args: any) => core.isEffect(args[0]),
|
|
249
|
+
<A, E, R, const K extends Arr.NonEmptyReadonlyArray<E extends { _tag: string } ? E["_tag"] : never>, R1, E1, A1>(
|
|
250
|
+
self: Effect.Effect<A, E, R>,
|
|
251
|
+
...args: [...tags: K, f: (e: Extract<NoInfer<E>, { _tag: K[number] }>) => Effect.Effect<A1, E1, R1>]
|
|
252
|
+
): Effect.Effect<A | A1, Exclude<E, { _tag: K[number] }> | E1, R | R1> => {
|
|
253
|
+
const f = args[args.length - 1] as any
|
|
254
|
+
let predicate: Predicate.Predicate<E>
|
|
255
|
+
if (args.length === 2) {
|
|
256
|
+
predicate = Predicate.isTagged(args[0] as string)
|
|
257
|
+
} else {
|
|
258
|
+
predicate = (e) => {
|
|
259
|
+
const tag = Predicate.hasProperty(e, "_tag") ? e["_tag"] : undefined
|
|
260
|
+
if (!tag) return false
|
|
261
|
+
for (let i = 0; i < args.length - 1; i++) {
|
|
262
|
+
if (args[i] === tag) return true
|
|
263
|
+
}
|
|
264
|
+
return false
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return core.catchIf(self, predicate as Predicate.Refinement<E, Extract<E, { _tag: K[number] }>>, f) as any
|
|
268
|
+
}
|
|
269
|
+
)
|
|
255
270
|
|
|
256
271
|
/** @internal */
|
|
257
272
|
export const catchTags: {
|
|
@@ -505,24 +520,15 @@ export const filterMap = dual<
|
|
|
505
520
|
|
|
506
521
|
/* @internal */
|
|
507
522
|
export const filterOrDie: {
|
|
508
|
-
<A, B extends A>(
|
|
509
|
-
|
|
510
|
-
orDieWith: (a: Types.
|
|
523
|
+
<A, B extends A = A>(
|
|
524
|
+
predicate: Predicate.Predicate<Types.NoInfer<A>> | Predicate.Refinement<Types.NoInfer<A>, B>,
|
|
525
|
+
orDieWith: (a: Types.EqualsWith<A, B, A, Exclude<A, B>>) => unknown
|
|
511
526
|
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E, R>
|
|
512
|
-
<A>(
|
|
513
|
-
predicate: Predicate.Predicate<Types.NoInfer<A>>,
|
|
514
|
-
orDieWith: (a: Types.NoInfer<A>) => unknown
|
|
515
|
-
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
|
|
516
527
|
<A, E, R, B extends A>(
|
|
517
528
|
self: Effect.Effect<A, E, R>,
|
|
518
|
-
|
|
519
|
-
orDieWith: (a: A) => unknown
|
|
529
|
+
predicate: Predicate.Predicate<A> | Predicate.Refinement<A, B>,
|
|
530
|
+
orDieWith: (a: Types.EqualsWith<A, B, A, Exclude<A, B>>) => unknown
|
|
520
531
|
): Effect.Effect<B, E, R>
|
|
521
|
-
<A, E, R>(
|
|
522
|
-
self: Effect.Effect<A, E, R>,
|
|
523
|
-
predicate: Predicate.Predicate<A>,
|
|
524
|
-
orDieWith: (a: A) => unknown
|
|
525
|
-
): Effect.Effect<A, E, R>
|
|
526
532
|
} = dual(
|
|
527
533
|
3,
|
|
528
534
|
<A, E, R>(
|
|
@@ -534,20 +540,15 @@ export const filterOrDie: {
|
|
|
534
540
|
|
|
535
541
|
/* @internal */
|
|
536
542
|
export const filterOrDieMessage: {
|
|
537
|
-
<A, B extends A>(
|
|
538
|
-
|
|
543
|
+
<A, B extends A = A>(
|
|
544
|
+
predicate: Predicate.Predicate<Types.NoInfer<A>> | Predicate.Refinement<Types.NoInfer<A>, B>,
|
|
539
545
|
message: string
|
|
540
546
|
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E, R>
|
|
541
|
-
<A>(
|
|
542
|
-
predicate: Predicate.Predicate<Types.NoInfer<A>>,
|
|
543
|
-
message: string
|
|
544
|
-
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
|
|
545
|
-
<A, E, R, B extends A>(
|
|
547
|
+
<A, E, R, B extends A = A>(
|
|
546
548
|
self: Effect.Effect<A, E, R>,
|
|
547
|
-
|
|
549
|
+
predicate: Predicate.Predicate<A> | Predicate.Refinement<A, B>,
|
|
548
550
|
message: string
|
|
549
551
|
): Effect.Effect<B, E, R>
|
|
550
|
-
<A, E, R>(self: Effect.Effect<A, E, R>, predicate: Predicate.Predicate<A>, message: string): Effect.Effect<A, E, R>
|
|
551
552
|
} = dual(
|
|
552
553
|
3,
|
|
553
554
|
<A, E, R>(self: Effect.Effect<A, E, R>, predicate: Predicate.Predicate<A>, message: string): Effect.Effect<A, E, R> =>
|
|
@@ -556,24 +557,15 @@ export const filterOrDieMessage: {
|
|
|
556
557
|
|
|
557
558
|
/* @internal */
|
|
558
559
|
export const filterOrElse: {
|
|
559
|
-
<A, B extends A
|
|
560
|
-
|
|
561
|
-
orElse: (a: Types.NoInfer<A
|
|
560
|
+
<A, C, E2, R2, B extends A = A>(
|
|
561
|
+
predicate: Predicate.Predicate<Types.NoInfer<A>> | Predicate.Refinement<Types.NoInfer<A>, B>,
|
|
562
|
+
orElse: (a: Types.EqualsWith<A, B, Types.NoInfer<A>, Exclude<Types.NoInfer<A>, B>>) => Effect.Effect<C, E2, R2>
|
|
562
563
|
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B | C, E2 | E, R2 | R>
|
|
563
|
-
<A,
|
|
564
|
-
predicate: Predicate.Predicate<Types.NoInfer<A>>,
|
|
565
|
-
orElse: (a: Types.NoInfer<A>) => Effect.Effect<B, E2, R2>
|
|
566
|
-
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A | B, E2 | E, R2 | R>
|
|
567
|
-
<A, E, R, B extends A, C, E2, R2>(
|
|
564
|
+
<A, E, R, C, E2, R2, B extends A = A>(
|
|
568
565
|
self: Effect.Effect<A, E, R>,
|
|
569
|
-
|
|
570
|
-
orElse: (a: A) => Effect.Effect<C, E2, R2>
|
|
566
|
+
predicate: Predicate.Predicate<A> | Predicate.Refinement<A, B>,
|
|
567
|
+
orElse: (a: Types.EqualsWith<A, B, A, Exclude<A, B>>) => Effect.Effect<C, E2, R2>
|
|
571
568
|
): Effect.Effect<B | C, E | E2, R | R2>
|
|
572
|
-
<A, E, R, B, E2, R2>(
|
|
573
|
-
self: Effect.Effect<A, E, R>,
|
|
574
|
-
predicate: Predicate.Predicate<A>,
|
|
575
|
-
orElse: (a: A) => Effect.Effect<B, E2, R2>
|
|
576
|
-
): Effect.Effect<A | B, E | E2, R | R2>
|
|
577
569
|
} = dual(3, <A, E, R, B, E2, R2>(
|
|
578
570
|
self: Effect.Effect<A, E, R>,
|
|
579
571
|
predicate: Predicate.Predicate<A>,
|
|
@@ -586,71 +578,43 @@ export const filterOrElse: {
|
|
|
586
578
|
|
|
587
579
|
/** @internal */
|
|
588
580
|
export const liftPredicate = dual<
|
|
589
|
-
|
|
590
|
-
<
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
},
|
|
599
|
-
{
|
|
600
|
-
<A, E, B extends A>(
|
|
601
|
-
self: A,
|
|
602
|
-
refinement: Predicate.Refinement<A, B>,
|
|
603
|
-
orFailWith: (a: A) => E
|
|
604
|
-
): Effect.Effect<B, E>
|
|
605
|
-
<A, E>(
|
|
606
|
-
self: A,
|
|
607
|
-
predicate: Predicate.Predicate<Types.NoInfer<A>>,
|
|
608
|
-
orFailWith: (a: Types.NoInfer<A>) => E
|
|
609
|
-
): Effect.Effect<A, E>
|
|
610
|
-
}
|
|
581
|
+
<T extends A, E, B extends T = T, A = T>(
|
|
582
|
+
predicate: Predicate.Refinement<T, B> | Predicate.Predicate<T>,
|
|
583
|
+
orFailWith: (a: Types.EqualsWith<T, B, A, Exclude<A, B>>) => E
|
|
584
|
+
) => (a: A) => Effect.Effect<Types.EqualsWith<T, B, A, B>, E>,
|
|
585
|
+
<A, E, B extends A = A>(
|
|
586
|
+
self: A,
|
|
587
|
+
predicate: Predicate.Refinement<A, B> | Predicate.Predicate<A>,
|
|
588
|
+
orFailWith: (a: Types.EqualsWith<A, B, A, Exclude<A, B>>) => E
|
|
589
|
+
) => Effect.Effect<B, E>
|
|
611
590
|
>(
|
|
612
591
|
3,
|
|
613
|
-
<A, E>(
|
|
592
|
+
<A, E, B extends A = A>(
|
|
614
593
|
self: A,
|
|
615
|
-
predicate: Predicate.Predicate
|
|
616
|
-
orFailWith: (a: Types.
|
|
617
|
-
): Effect.Effect<
|
|
594
|
+
predicate: Predicate.Refinement<A, B> | Predicate.Predicate<A>,
|
|
595
|
+
orFailWith: (a: Types.EqualsWith<A, B, A, Exclude<A, B>>) => E
|
|
596
|
+
): Effect.Effect<B, E> =>
|
|
597
|
+
core.suspend(() => predicate(self) ? core.succeed(self as B) : core.fail(orFailWith(self as any)))
|
|
618
598
|
)
|
|
619
599
|
|
|
620
600
|
/* @internal */
|
|
621
601
|
export const filterOrFail: {
|
|
622
|
-
<A, B extends A
|
|
623
|
-
|
|
624
|
-
orFailWith: (a: Types.NoInfer<A
|
|
602
|
+
<A, E2, B extends A = A>(
|
|
603
|
+
predicate: Predicate.Predicate<Types.NoInfer<A>> | Predicate.Refinement<Types.NoInfer<A>, B>,
|
|
604
|
+
orFailWith: (a: Types.EqualsWith<A, B, Types.NoInfer<A>, Exclude<Types.NoInfer<A>, B>>) => E2
|
|
625
605
|
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E2 | E, R>
|
|
626
|
-
<A, E2>(
|
|
627
|
-
predicate: Predicate.Predicate<Types.NoInfer<A>>,
|
|
628
|
-
orFailWith: (a: Types.NoInfer<A>) => E2
|
|
629
|
-
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E2 | E, R>
|
|
630
|
-
<A, B extends A>(
|
|
631
|
-
refinement: Predicate.Refinement<Types.NoInfer<A>, B>
|
|
632
|
-
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, Cause.NoSuchElementException | E, R>
|
|
633
|
-
<A>(
|
|
634
|
-
predicate: Predicate.Predicate<Types.NoInfer<A>>
|
|
635
|
-
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, Cause.NoSuchElementException | E, R>
|
|
636
|
-
<A, E, R, B extends A, E2>(
|
|
606
|
+
<A, E, R, E2, B extends A = A>(
|
|
637
607
|
self: Effect.Effect<A, E, R>,
|
|
638
|
-
|
|
639
|
-
orFailWith: (a: A) => E2
|
|
640
|
-
): Effect.Effect<B,
|
|
641
|
-
<A,
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
): Effect.Effect<A, E | E2, R>
|
|
646
|
-
<A, E, R, B extends A>(
|
|
608
|
+
predicate: Predicate.Predicate<A> | Predicate.Refinement<A, B>,
|
|
609
|
+
orFailWith: (a: Types.EqualsWith<A, B, A, Exclude<A, B>>) => E2
|
|
610
|
+
): Effect.Effect<B, E2 | E, R>
|
|
611
|
+
<A, B extends A = A>(
|
|
612
|
+
predicate: Predicate.Predicate<Types.NoInfer<A>> | Predicate.Refinement<Types.NoInfer<A>, B>
|
|
613
|
+
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, Cause.NoSuchElementException | E, R>
|
|
614
|
+
<A, E, R, B extends A = A>(
|
|
647
615
|
self: Effect.Effect<A, E, R>,
|
|
648
|
-
|
|
616
|
+
predicate: Predicate.Predicate<A> | Predicate.Refinement<A, B>
|
|
649
617
|
): Effect.Effect<B, E | Cause.NoSuchElementException, R>
|
|
650
|
-
<A, E, R>(
|
|
651
|
-
self: Effect.Effect<A, E, R>,
|
|
652
|
-
predicate: Predicate.Predicate<A>
|
|
653
|
-
): Effect.Effect<A, E | Cause.NoSuchElementException, R>
|
|
654
618
|
} = dual((args) => core.isEffect(args[0]), <A, E, R, E2>(
|
|
655
619
|
self: Effect.Effect<A, E, R>,
|
|
656
620
|
predicate: Predicate.Predicate<A>,
|
package/src/internal/stream.ts
CHANGED
|
@@ -7200,6 +7200,74 @@ export const transduce = dual<
|
|
|
7200
7200
|
}
|
|
7201
7201
|
)
|
|
7202
7202
|
|
|
7203
|
+
/** @internal */
|
|
7204
|
+
export const toAsyncIterableRuntime = dual<
|
|
7205
|
+
<A, XR>(
|
|
7206
|
+
runtime: Runtime.Runtime<XR>
|
|
7207
|
+
) => <E, R extends XR>(self: Stream.Stream<A, E, R>) => AsyncIterable<A>,
|
|
7208
|
+
<A, E, XR, R extends XR>(
|
|
7209
|
+
self: Stream.Stream<A, E, R>,
|
|
7210
|
+
runtime: Runtime.Runtime<XR>
|
|
7211
|
+
) => AsyncIterable<A>
|
|
7212
|
+
>(
|
|
7213
|
+
(args) => isStream(args[0]),
|
|
7214
|
+
<A, E, XR, R extends XR>(
|
|
7215
|
+
self: Stream.Stream<A, E, R>,
|
|
7216
|
+
runtime: Runtime.Runtime<XR>
|
|
7217
|
+
): AsyncIterable<A> => {
|
|
7218
|
+
const runFork = Runtime.runFork(runtime)
|
|
7219
|
+
return {
|
|
7220
|
+
[Symbol.asyncIterator]() {
|
|
7221
|
+
let currentResolve: ((value: IteratorResult<A>) => void) | undefined = undefined
|
|
7222
|
+
let currentReject: ((reason: any) => void) | undefined = undefined
|
|
7223
|
+
let fiber: Fiber.RuntimeFiber<void, E> | undefined = undefined
|
|
7224
|
+
const latch = Effect.unsafeMakeLatch(false)
|
|
7225
|
+
return {
|
|
7226
|
+
next() {
|
|
7227
|
+
if (!fiber) {
|
|
7228
|
+
fiber = runFork(runForEach(self, (value) =>
|
|
7229
|
+
latch.whenOpen(Effect.sync(() => {
|
|
7230
|
+
latch.unsafeClose()
|
|
7231
|
+
currentResolve!({ done: false, value })
|
|
7232
|
+
currentResolve = currentReject = undefined
|
|
7233
|
+
}))))
|
|
7234
|
+
fiber.addObserver((exit) => {
|
|
7235
|
+
fiber = Effect.runFork(latch.whenOpen(Effect.sync(() => {
|
|
7236
|
+
if (exit._tag === "Failure") {
|
|
7237
|
+
currentReject!(Cause.squash(exit.cause))
|
|
7238
|
+
} else {
|
|
7239
|
+
currentResolve!({ done: true, value: void 0 })
|
|
7240
|
+
}
|
|
7241
|
+
currentResolve = currentReject = undefined
|
|
7242
|
+
})))
|
|
7243
|
+
})
|
|
7244
|
+
}
|
|
7245
|
+
return new Promise<IteratorResult<A>>((resolve, reject) => {
|
|
7246
|
+
currentResolve = resolve
|
|
7247
|
+
currentReject = reject
|
|
7248
|
+
latch.unsafeOpen()
|
|
7249
|
+
})
|
|
7250
|
+
},
|
|
7251
|
+
return() {
|
|
7252
|
+
if (!fiber) return Promise.resolve({ done: true, value: void 0 })
|
|
7253
|
+
return Effect.runPromise(Effect.as(Fiber.interrupt(fiber), { done: true, value: void 0 }))
|
|
7254
|
+
}
|
|
7255
|
+
}
|
|
7256
|
+
}
|
|
7257
|
+
}
|
|
7258
|
+
}
|
|
7259
|
+
)
|
|
7260
|
+
|
|
7261
|
+
/** @internal */
|
|
7262
|
+
export const toAsyncIterable = <A, E>(self: Stream.Stream<A, E>): AsyncIterable<A> =>
|
|
7263
|
+
toAsyncIterableRuntime(self, Runtime.defaultRuntime)
|
|
7264
|
+
|
|
7265
|
+
/** @internal */
|
|
7266
|
+
export const toAsyncIterableEffect = <A, E, R>(
|
|
7267
|
+
self: Stream.Stream<A, E, R>
|
|
7268
|
+
): Effect.Effect<AsyncIterable<A>, never, R> =>
|
|
7269
|
+
Effect.map(Effect.runtime<R>(), (runtime) => toAsyncIterableRuntime(self, runtime))
|
|
7270
|
+
|
|
7203
7271
|
/** @internal */
|
|
7204
7272
|
export const unfold = <S, A>(s: S, f: (s: S) => Option.Option<readonly [A, S]>): Stream.Stream<A> =>
|
|
7205
7273
|
unfoldChunk(s, (s) => pipe(f(s), Option.map(([a, s]) => [Chunk.of(a), s])))
|
package/src/internal/version.ts
CHANGED