@@ -60,7 +60,15 @@ import * as Scheduler from "./Scheduler.js"
60
60
import type * as Scope from "./Scope.js"
61
61
import type * as Supervisor from "./Supervisor.js"
62
62
import type * as Tracer from "./Tracer.js"
63
- import type { Concurrency , Contravariant , Covariant , NoExcessProperties , NoInfer , NotFunction } from "./Types.js"
63
+ import type {
64
+ Concurrency ,
65
+ Contravariant ,
66
+ Covariant ,
67
+ EqualsWith ,
68
+ NoExcessProperties ,
69
+ NoInfer ,
70
+ NotFunction
71
+ } from "./Types.js"
64
72
import type * as Unify from "./Unify.js"
65
73
import { isGeneratorFunction , type YieldWrap } from "./Utils.js"
66
74
@@ -4968,13 +4976,15 @@ export const uninterruptibleMask: <A, E, R>(
4968
4976
* @since 3.4.0
4969
4977
*/
4970
4978
export const liftPredicate : {
4971
- < A , B extends A , E > (
4972
- refinement : Refinement < A , B > ,
4973
- orFailWith : ( a : A ) => E
4974
- ) : ( a : A ) => Effect < B , E >
4975
- < B extends A , E , A = B > ( predicate : Predicate < A > , orFailWith : ( a : A ) => E ) : ( a : B ) => Effect < B , E >
4976
- < A , E , B extends A > ( self : A , refinement : Refinement < A , B > , orFailWith : ( a : A ) => E ) : Effect < B , E >
4977
- < B extends A , E , A = B > ( self : B , predicate : Predicate < A > , orFailWith : ( a : A ) => E ) : Effect < B , E >
4979
+ < T extends A , E , B extends T = T , A = T > (
4980
+ predicate : Refinement < T , B > | Predicate < T > ,
4981
+ orFailWith : ( a : EqualsWith < T , B , A , Exclude < A , B > > ) => E
4982
+ ) : ( a : A ) => Effect < EqualsWith < T , B , A , B > , E >
4983
+ < A , E , B extends A = A > (
4984
+ self : A ,
4985
+ predicate : Refinement < A , B > | Predicate < A > ,
4986
+ orFailWith : ( a : EqualsWith < A , B , A , Exclude < A , B > > ) => E
4987
+ ) : Effect < B , E >
4978
4988
} = effect . liftPredicate
4979
4989
4980
4990
/**
@@ -8311,20 +8321,15 @@ export {
8311
8321
* @category Filtering
8312
8322
*/
8313
8323
export const filterOrDie : {
8314
- < A , B extends A > (
8315
- refinement : Refinement < NoInfer < A > , B > ,
8316
- orDieWith : ( a : NoInfer < A > ) => unknown
8324
+ < A , B extends A = A > (
8325
+ predicate : Predicate < NoInfer < A > > | Refinement < NoInfer < A > , B > ,
8326
+ orDieWith : ( a : EqualsWith < A , B , A , Exclude < A , B > > ) => unknown
8317
8327
) : < E , R > ( self : Effect < A , E , R > ) => Effect < B , E , R >
8318
- < A > (
8319
- predicate : Predicate < NoInfer < A > > ,
8320
- orDieWith : ( a : NoInfer < A > ) => unknown
8321
- ) : < E , R > ( self : Effect < A , E , R > ) => Effect < A , E , R >
8322
8328
< A , E , R , B extends A > (
8323
8329
self : Effect < A , E , R > ,
8324
- refinement : Refinement < A , B > ,
8325
- orDieWith : ( a : A ) => unknown
8330
+ predicate : Predicate < A > | Refinement < A , B > ,
8331
+ orDieWith : ( a : EqualsWith < A , B , A , Exclude < A , B > > ) => unknown
8326
8332
) : Effect < B , E , R >
8327
- < A , E , R > ( self : Effect < A , E , R > , predicate : Predicate < A > , orDieWith : ( a : A ) => unknown ) : Effect < A , E , R >
8328
8333
} = effect . filterOrDie
8329
8334
8330
8335
/**
@@ -8340,13 +8345,15 @@ export const filterOrDie: {
8340
8345
* @category Filtering
8341
8346
*/
8342
8347
export const filterOrDieMessage : {
8343
- < A , B extends A > (
8344
- refinement : Refinement < NoInfer < A > , B > ,
8348
+ < A , B extends A = A > (
8349
+ predicate : Predicate < NoInfer < A > > | Refinement < NoInfer < A > , B > ,
8345
8350
message : string
8346
8351
) : < E , R > ( self : Effect < A , E , R > ) => Effect < B , E , R >
8347
- < A > ( predicate : Predicate < NoInfer < A > > , message : string ) : < E , R > ( self : Effect < A , E , R > ) => Effect < A , E , R >
8348
- < A , E , R , B extends A > ( self : Effect < A , E , R > , refinement : Refinement < A , B > , message : string ) : Effect < B , E , R >
8349
- < A , E , R > ( self : Effect < A , E , R > , predicate : Predicate < A > , message : string ) : Effect < A , E , R >
8352
+ < A , E , R , B extends A = A > (
8353
+ self : Effect < A , E , R > ,
8354
+ predicate : Predicate < A > | Refinement < A , B > ,
8355
+ message : string
8356
+ ) : Effect < B , E , R >
8350
8357
} = effect . filterOrDieMessage
8351
8358
8352
8359
/**
@@ -8363,24 +8370,15 @@ export const filterOrDieMessage: {
8363
8370
* @category Filtering
8364
8371
*/
8365
8372
export const filterOrElse : {
8366
- < A , B extends A , C , E2 , R2 > (
8367
- refinement : Refinement < NoInfer < A > , B > ,
8368
- orElse : ( a : NoInfer < A > ) => Effect < C , E2 , R2 >
8373
+ < A , C , E2 , R2 , B extends A = A > (
8374
+ predicate : Predicate < NoInfer < A > > | Refinement < NoInfer < A > , B > ,
8375
+ orElse : ( a : EqualsWith < A , B , NoInfer < A > , Exclude < NoInfer < A > , B > > ) => Effect < C , E2 , R2 >
8369
8376
) : < E , R > ( self : Effect < A , E , R > ) => Effect < B | C , E2 | E , R2 | R >
8370
- < A , B , E2 , R2 > (
8371
- predicate : Predicate < NoInfer < A > > ,
8372
- orElse : ( a : NoInfer < A > ) => Effect < B , E2 , R2 >
8373
- ) : < E , R > ( self : Effect < A , E , R > ) => Effect < A | B , E2 | E , R2 | R >
8374
- < A , E , R , B extends A , C , E2 , R2 > (
8377
+ < A , E , R , C , E2 , R2 , B extends A = A > (
8375
8378
self : Effect < A , E , R > ,
8376
- refinement : Refinement < A , B > ,
8377
- orElse : ( a : A ) => Effect < C , E2 , R2 >
8379
+ predicate : Predicate < A > | Refinement < A , B > ,
8380
+ orElse : ( a : EqualsWith < A , B , A , Exclude < A , B > > ) => Effect < C , E2 , R2 >
8378
8381
) : Effect < B | C , E | E2 , R | R2 >
8379
- < A , E , R , B , E2 , R2 > (
8380
- self : Effect < A , E , R > ,
8381
- predicate : Predicate < A > ,
8382
- orElse : ( a : A ) => Effect < B , E2 , R2 >
8383
- ) : Effect < A | B , E | E2 , R | R2 >
8384
8382
} = effect . filterOrElse
8385
8383
8386
8384
/**
@@ -8434,29 +8432,22 @@ export const filterOrElse: {
8434
8432
* @category Filtering
8435
8433
*/
8436
8434
export const filterOrFail : {
8437
- < A , B extends A , E2 > (
8438
- refinement : Refinement < NoInfer < A > , B > ,
8439
- orFailWith : ( a : NoInfer < A > ) => E2
8435
+ < A , E2 , B extends A = A > (
8436
+ predicate : Predicate < NoInfer < A > > | Refinement < NoInfer < A > , B > ,
8437
+ orFailWith : ( a : EqualsWith < A , B , NoInfer < A > , Exclude < NoInfer < A > , B > > ) => E2
8440
8438
) : < E , R > ( self : Effect < A , E , R > ) => Effect < B , E2 | E , R >
8441
- < A , E2 > (
8442
- predicate : Predicate < NoInfer < A > > ,
8443
- orFailWith : ( a : NoInfer < A > ) => E2
8444
- ) : < E , R > ( self : Effect < A , E , R > ) => Effect < A , E2 | E , R >
8445
- < A , B extends A > (
8446
- refinement : Refinement < NoInfer < A > , B >
8447
- ) : < E , R > ( self : Effect < A , E , R > ) => Effect < B , Cause . NoSuchElementException | E , R >
8448
- < A > ( predicate : Predicate < NoInfer < A > > ) : < E , R > ( self : Effect < A , E , R > ) => Effect < A , Cause . NoSuchElementException | E , R >
8449
- < A , E , R , B extends A , E2 > (
8439
+ < A , E , R , E2 , B extends A = A > (
8450
8440
self : Effect < A , E , R > ,
8451
- refinement : Refinement < A , B > ,
8452
- orFailWith : ( a : A ) => E2
8453
- ) : Effect < B , E | E2 , R >
8454
- < A , E , R , E2 > ( self : Effect < A , E , R > , predicate : Predicate < A > , orFailWith : ( a : A ) => E2 ) : Effect < A , E | E2 , R >
8455
- < A , E , R , B extends A > (
8441
+ predicate : Predicate < A > | Refinement < A , B > ,
8442
+ orFailWith : ( a : EqualsWith < A , B , A , Exclude < A , B > > ) => E2
8443
+ ) : Effect < B , E2 | E , R >
8444
+ < A , B extends A = A > (
8445
+ predicate : Predicate < NoInfer < A > > | Refinement < NoInfer < A > , B >
8446
+ ) : < E , R > ( self : Effect < A , E , R > ) => Effect < B , Cause . NoSuchElementException | E , R >
8447
+ < A , E , R , B extends A = A > (
8456
8448
self : Effect < A , E , R > ,
8457
- refinement : Refinement < A , B >
8449
+ predicate : Predicate < A > | Refinement < A , B >
8458
8450
) : Effect < B , E | Cause . NoSuchElementException , R >
8459
- < A , E , R > ( self : Effect < A , E , R > , predicate : Predicate < A > ) : Effect < A , E | Cause . NoSuchElementException , R >
8460
8451
} = effect . filterOrFail
8461
8452
8462
8453
/**
0 commit comments