effect 3.7.0 → 3.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.7.0";
1
+ let moduleVersion = "3.7.2";
2
2
  export const getCurrentVersion = () => moduleVersion;
3
3
  export const setCurrentVersion = version => {
4
4
  moduleVersion = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect",
3
- "version": "3.7.0",
3
+ "version": "3.7.2",
4
4
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/Array.ts CHANGED
@@ -1255,7 +1255,8 @@ export const sortWith: {
1255
1255
  <A, B>(self: Iterable<A>, f: (a: A) => B, order: Order.Order<B>): Array<A>
1256
1256
  } = dual(
1257
1257
  3,
1258
- <A, B>(self: Iterable<A>, f: (a: A) => B, order: Order.Order<B>): Array<A> => sort(self, Order.mapInput(order, f))
1258
+ <A, B>(self: Iterable<A>, f: (a: A) => B, order: Order.Order<B>): Array<A> =>
1259
+ Array.from(self).map((a) => [a, f(a)] as const).sort((a, b) => order(a[1], b[1])).map((x) => x[0])
1259
1260
  )
1260
1261
 
1261
1262
  /**
package/src/Effect.ts CHANGED
@@ -1832,7 +1832,7 @@ export const catchSomeDefect: {
1832
1832
  export const catchTag: {
1833
1833
  <K extends E extends { _tag: string } ? E["_tag"] : never, E, A1, E1, R1>(
1834
1834
  k: K,
1835
- f: (e: Extract<E, { _tag: K }>) => Effect<A1, E1, R1>
1835
+ f: (e: NoInfer<Extract<E, { _tag: K }>>) => Effect<A1, E1, R1>
1836
1836
  ): <A, R>(self: Effect<A, E, R>) => Effect<A1 | A, E1 | Exclude<E, { _tag: K }>, R1 | R>
1837
1837
  <A, E, R, K extends E extends { _tag: string } ? E["_tag"] : never, R1, E1, A1>(
1838
1838
  self: Effect<A, E, R>,
@@ -4347,7 +4347,7 @@ export const tapError: {
4347
4347
  export const tapErrorTag: {
4348
4348
  <K extends E extends { _tag: string } ? E["_tag"] : never, E, A1, E1, R1>(
4349
4349
  k: K,
4350
- f: (e: Extract<E, { _tag: K }>) => Effect<A1, E1, R1>
4350
+ f: (e: NoInfer<Extract<E, { _tag: K }>>) => Effect<A1, E1, R1>
4351
4351
  ): <A, R>(self: Effect<A, E, R>) => Effect<A, E | E1, R1 | R>
4352
4352
  <A, E, R, K extends E extends { _tag: string } ? E["_tag"] : never, A1, E1, R1>(
4353
4353
  self: Effect<A, E, R>,
package/src/Micro.ts CHANGED
@@ -3465,6 +3465,9 @@ export const forEach: {
3465
3465
  let result: MicroExit<any, any> | undefined = undefined
3466
3466
  const items = Array.from(iterable)
3467
3467
  let length = items.length
3468
+ if (length === 0) {
3469
+ return onExit(Either.right(options?.discard ? undefined : []))
3470
+ }
3468
3471
  const out: Array<B> | undefined = options?.discard ? undefined : new Array(length)
3469
3472
  let index = 0
3470
3473
  let inProgress = 0
package/src/Stream.ts CHANGED
@@ -532,14 +532,20 @@ export const branchAfter: {
532
532
  export const broadcast: {
533
533
  <N extends number>(
534
534
  n: N,
535
- maximumLag: number
536
- ): <A, E, R>(
537
- self: Stream<A, E, R>
538
- ) => Effect.Effect<TupleOf<N, Stream<A, E>>, never, Scope.Scope | R>
535
+ maximumLag: number | { readonly capacity: "unbounded"; readonly replay?: number | undefined } | {
536
+ readonly capacity: number
537
+ readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
538
+ readonly replay?: number | undefined
539
+ }
540
+ ): <A, E, R>(self: Stream<A, E, R>) => Effect.Effect<TupleOf<N, Stream<A, E>>, never, Scope.Scope | R>
539
541
  <A, E, R, N extends number>(
540
542
  self: Stream<A, E, R>,
541
543
  n: N,
542
- maximumLag: number
544
+ maximumLag: number | { readonly capacity: "unbounded"; readonly replay?: number | undefined } | {
545
+ readonly capacity: number
546
+ readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
547
+ readonly replay?: number | undefined
548
+ }
543
549
  ): Effect.Effect<TupleOf<N, Stream<A, E>>, never, Scope.Scope | R>
544
550
  } = internal.broadcast
545
551
 
@@ -552,8 +558,21 @@ export const broadcast: {
552
558
  * @category utils
553
559
  */
554
560
  export const broadcastDynamic: {
555
- (maximumLag: number): <A, E, R>(self: Stream<A, E, R>) => Effect.Effect<Stream<A, E>, never, Scope.Scope | R>
556
- <A, E, R>(self: Stream<A, E, R>, maximumLag: number): Effect.Effect<Stream<A, E>, never, Scope.Scope | R>
561
+ (
562
+ maximumLag: number | { readonly capacity: "unbounded"; readonly replay?: number | undefined } | {
563
+ readonly capacity: number
564
+ readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
565
+ readonly replay?: number | undefined
566
+ }
567
+ ): <A, E, R>(self: Stream<A, E, R>) => Effect.Effect<Stream<A, E>, never, Scope.Scope | R>
568
+ <A, E, R>(
569
+ self: Stream<A, E, R>,
570
+ maximumLag: number | { readonly capacity: "unbounded"; readonly replay?: number | undefined } | {
571
+ readonly capacity: number
572
+ readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
573
+ readonly replay?: number | undefined
574
+ }
575
+ ): Effect.Effect<Stream<A, E>, never, Scope.Scope | R>
557
576
  } = internal.broadcastDynamic
558
577
 
559
578
  /**
@@ -569,14 +588,22 @@ export const broadcastDynamic: {
569
588
  export const broadcastedQueues: {
570
589
  <N extends number>(
571
590
  n: N,
572
- maximumLag: number
591
+ maximumLag: number | { readonly capacity: "unbounded"; readonly replay?: number | undefined } | {
592
+ readonly capacity: number
593
+ readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
594
+ readonly replay?: number | undefined
595
+ }
573
596
  ): <A, E, R>(
574
597
  self: Stream<A, E, R>
575
- ) => Effect.Effect<TupleOf<N, Queue.Dequeue<Take.Take<A, E>>>, never, R | Scope.Scope>
598
+ ) => Effect.Effect<TupleOf<N, Queue.Dequeue<Take.Take<A, E>>>, never, Scope.Scope | R>
576
599
  <A, E, R, N extends number>(
577
600
  self: Stream<A, E, R>,
578
601
  n: N,
579
- maximumLag: number
602
+ maximumLag: number | { readonly capacity: "unbounded"; readonly replay?: number | undefined } | {
603
+ readonly capacity: number
604
+ readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
605
+ readonly replay?: number | undefined
606
+ }
580
607
  ): Effect.Effect<TupleOf<N, Queue.Dequeue<Take.Take<A, E>>>, never, Scope.Scope | R>
581
608
  } = internal.broadcastedQueues
582
609
 
@@ -592,13 +619,21 @@ export const broadcastedQueues: {
592
619
  */
593
620
  export const broadcastedQueuesDynamic: {
594
621
  (
595
- maximumLag: number
622
+ maximumLag: number | { readonly capacity: "unbounded"; readonly replay?: number | undefined } | {
623
+ readonly capacity: number
624
+ readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
625
+ readonly replay?: number | undefined
626
+ }
596
627
  ): <A, E, R>(
597
628
  self: Stream<A, E, R>
598
- ) => Effect.Effect<Effect.Effect<Queue.Dequeue<Take.Take<A, E>>, never, Scope.Scope>, never, R | Scope.Scope>
629
+ ) => Effect.Effect<Effect.Effect<Queue.Dequeue<Take.Take<A, E>>, never, Scope.Scope>, never, Scope.Scope | R>
599
630
  <A, E, R>(
600
631
  self: Stream<A, E, R>,
601
- maximumLag: number
632
+ maximumLag: number | { readonly capacity: "unbounded"; readonly replay?: number | undefined } | {
633
+ readonly capacity: number
634
+ readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
635
+ readonly replay?: number | undefined
636
+ }
602
637
  ): Effect.Effect<Effect.Effect<Queue.Dequeue<Take.Take<A, E>>, never, Scope.Scope>, never, Scope.Scope | R>
603
638
  } = internal.broadcastedQueuesDynamic
604
639
 
@@ -4888,11 +4923,19 @@ export const timeoutTo: {
4888
4923
  */
4889
4924
  export const toPubSub: {
4890
4925
  (
4891
- capacity: number
4926
+ capacity: number | { readonly capacity: "unbounded"; readonly replay?: number | undefined } | {
4927
+ readonly capacity: number
4928
+ readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
4929
+ readonly replay?: number | undefined
4930
+ }
4892
4931
  ): <A, E, R>(self: Stream<A, E, R>) => Effect.Effect<PubSub.PubSub<Take.Take<A, E>>, never, Scope.Scope | R>
4893
4932
  <A, E, R>(
4894
4933
  self: Stream<A, E, R>,
4895
- capacity: number
4934
+ capacity: number | { readonly capacity: "unbounded"; readonly replay?: number | undefined } | {
4935
+ readonly capacity: number
4936
+ readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
4937
+ readonly replay?: number | undefined
4938
+ }
4896
4939
  ): Effect.Effect<PubSub.PubSub<Take.Take<A, E>>, never, Scope.Scope | R>
4897
4940
  } = internal.toPubSub
4898
4941
 
@@ -2405,7 +2405,7 @@ export const either = <A, E, R>(self: Stream.Stream<A, E, R>): Stream.Stream<Eit
2405
2405
  pipe(self, map(Either.right), catchAll((error) => make(Either.left(error))))
2406
2406
 
2407
2407
  /** @internal */
2408
- export const empty: Stream.Stream<never> = new StreamImpl(core.write(Chunk.empty()))
2408
+ export const empty: Stream.Stream<never> = new StreamImpl(core.void)
2409
2409
 
2410
2410
  /** @internal */
2411
2411
  export const ensuring = dual<
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.7.0"
1
+ let moduleVersion = "3.7.2"
2
2
 
3
3
  export const getCurrentVersion = () => moduleVersion
4
4