effect 2.4.3 → 2.4.5

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.
Files changed (66) hide show
  1. package/dist/cjs/Brand.js +11 -38
  2. package/dist/cjs/Brand.js.map +1 -1
  3. package/dist/cjs/Effect.js.map +1 -1
  4. package/dist/cjs/ManagedRuntime.js.map +1 -1
  5. package/dist/cjs/Predicate.js +7 -1
  6. package/dist/cjs/Predicate.js.map +1 -1
  7. package/dist/cjs/Runtime.js.map +1 -1
  8. package/dist/cjs/internal/blockedRequests.js +11 -7
  9. package/dist/cjs/internal/blockedRequests.js.map +1 -1
  10. package/dist/cjs/internal/core-effect.js +4 -4
  11. package/dist/cjs/internal/core-effect.js.map +1 -1
  12. package/dist/cjs/internal/core.js +4 -4
  13. package/dist/cjs/internal/core.js.map +1 -1
  14. package/dist/cjs/internal/fiberRuntime.js +3 -1
  15. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  16. package/dist/cjs/internal/managedRuntime.js +4 -4
  17. package/dist/cjs/internal/managedRuntime.js.map +1 -1
  18. package/dist/cjs/internal/runtime.js +13 -3
  19. package/dist/cjs/internal/runtime.js.map +1 -1
  20. package/dist/cjs/internal/version.js +1 -1
  21. package/dist/dts/Brand.d.ts +2 -1
  22. package/dist/dts/Brand.d.ts.map +1 -1
  23. package/dist/dts/Effect.d.ts +19 -15
  24. package/dist/dts/Effect.d.ts.map +1 -1
  25. package/dist/dts/ManagedRuntime.d.ts +6 -2
  26. package/dist/dts/ManagedRuntime.d.ts.map +1 -1
  27. package/dist/dts/Predicate.d.ts +5 -0
  28. package/dist/dts/Predicate.d.ts.map +1 -1
  29. package/dist/dts/ReadonlyArray.d.ts +2 -2
  30. package/dist/dts/ReadonlyArray.d.ts.map +1 -1
  31. package/dist/dts/Runtime.d.ts +6 -2
  32. package/dist/dts/Runtime.d.ts.map +1 -1
  33. package/dist/esm/Brand.js +9 -36
  34. package/dist/esm/Brand.js.map +1 -1
  35. package/dist/esm/Effect.js.map +1 -1
  36. package/dist/esm/ManagedRuntime.js.map +1 -1
  37. package/dist/esm/Predicate.js +5 -0
  38. package/dist/esm/Predicate.js.map +1 -1
  39. package/dist/esm/Runtime.js.map +1 -1
  40. package/dist/esm/internal/blockedRequests.js +9 -6
  41. package/dist/esm/internal/blockedRequests.js.map +1 -1
  42. package/dist/esm/internal/core-effect.js +4 -4
  43. package/dist/esm/internal/core-effect.js.map +1 -1
  44. package/dist/esm/internal/core.js +5 -5
  45. package/dist/esm/internal/core.js.map +1 -1
  46. package/dist/esm/internal/fiberRuntime.js +3 -1
  47. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  48. package/dist/esm/internal/managedRuntime.js +4 -4
  49. package/dist/esm/internal/managedRuntime.js.map +1 -1
  50. package/dist/esm/internal/runtime.js +13 -3
  51. package/dist/esm/internal/runtime.js.map +1 -1
  52. package/dist/esm/internal/version.js +1 -1
  53. package/package.json +1 -1
  54. package/src/Brand.ts +23 -18
  55. package/src/Effect.ts +21 -16
  56. package/src/ManagedRuntime.ts +6 -2
  57. package/src/Predicate.ts +8 -0
  58. package/src/ReadonlyArray.ts +2 -2
  59. package/src/Runtime.ts +7 -2
  60. package/src/internal/blockedRequests.ts +29 -13
  61. package/src/internal/core-effect.ts +19 -25
  62. package/src/internal/core.ts +13 -13
  63. package/src/internal/fiberRuntime.ts +3 -1
  64. package/src/internal/managedRuntime.ts +10 -6
  65. package/src/internal/runtime.ts +41 -21
  66. package/src/internal/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","names":["equals","Context","Exit","Fiber","FiberId","FiberRefs","dual","pipe","format","NodeInspectSymbol","Option","pipeArguments","Predicate","_scheduler","_scope","InternalCause","core","executionStrategy","FiberRuntime","fiberScope","internalize","OpCodes","runtimeFlags","_supervisor","unsafeFork","runtime","self","options","fiberId","unsafeMake","fiberRefUpdates","currentContext","context","scheduler","push","currentScheduler","fiberRefs","updateManyAs","entries","forkAs","updateRefs","fiberRuntime","effect","scope","flatMap","fork","sequential","closeableScope","zipRight","scopeAddFinalizer","fiberIdWith","id","unit","interruptAsFiber","onExit","exit","close","supervisor","none","onStart","addObserver","onEnd","globalScope","add","immediate","resume","start","unsafeRunCallback","cancelOptions","interruptAs","flatten","undefined","unsafeRunSync","result","unsafeRunSyncExit","_tag","fiberFailure","i0","asyncFiberException","fiber","limit","Error","stackTraceLimit","error","message","Object","defineProperties","value","name","toString","get","isAsyncFiberException","u","isTagged","FiberFailureId","Symbol","for","FiberFailureCauseId","cause","prettyErrors","length","head","split","substring","stack","pretty","toJSON","_id","isFiberFailure","hasProperty","fastPath","op","_op","exitFail","left","exitSucceed","right","NoSuchElementException","SyncScheduler","flush","unsafePoll","unsafeRunPromise","unsafeRunPromiseExit","then","OP_SUCCESS","OP_FAILURE","Promise","resolve","RuntimeImpl","constructor","arguments","make","withFiberRuntime","state","status","succeed","getFiberRef","getFiberRefs","defaultRuntimeFlags","Interruption","CooperativeYielding","RuntimeMetrics","defaultRuntime","empty","updateRuntimeFlags","f","disableRuntimeFlag","flag","disable","enableRuntimeFlag","enable","updateContext","provideService","tag","service","updateFiberRefs","setFiberRef","fiberRef","updateAs","deleteFiberRef","delete","unsafeRunEffect","unsafeForkEffect","unsafeRunPromiseEffect","unsafeRunPromiseExitEffect","unsafeRunSyncEffect","unsafeRunSyncExitEffect","asyncEffect","register","suspend","cleanup","deferredMake","deferred","uninterruptibleMask","restore","matchCauseEffect","cb","intoDeferred","onFailure","deferredFailCause","onSuccess","cleanup_","onInterrupt","deferredAwait"],"sources":["../../../src/internal/runtime.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","names":["equals","Context","Exit","Fiber","FiberId","FiberRefs","dual","pipe","format","NodeInspectSymbol","Option","pipeArguments","Predicate","_scheduler","_scope","InternalCause","core","executionStrategy","FiberRuntime","fiberScope","internalize","OpCodes","runtimeFlags","_supervisor","unsafeFork","runtime","self","options","fiberId","unsafeMake","fiberRefUpdates","currentContext","context","scheduler","push","currentScheduler","fiberRefs","updateManyAs","entries","forkAs","updateRefs","fiberRuntime","effect","scope","flatMap","fork","sequential","closeableScope","zipRight","scopeAddFinalizer","fiberIdWith","id","unit","interruptAsFiber","onExit","exit","close","supervisor","none","onStart","addObserver","onEnd","globalScope","add","immediate","resume","start","unsafeRunCallback","cancelOptions","interruptAs","flatten","undefined","unsafeRunSync","result","unsafeRunSyncExit","_tag","fiberFailure","i0","asyncFiberException","fiber","limit","Error","stackTraceLimit","error","message","Object","defineProperties","value","name","toString","get","isAsyncFiberException","u","isTagged","FiberFailureId","Symbol","for","FiberFailureCauseId","cause","prettyErrors","length","head","split","substring","stack","pretty","toJSON","_id","isFiberFailure","hasProperty","fastPath","op","_op","exitFail","left","exitSucceed","right","NoSuchElementException","SyncScheduler","flush","unsafePoll","unsafeRunPromise","unsafeRunPromiseExit","then","OP_SUCCESS","OP_FAILURE","Promise","resolve","signal","aborted","unsafeInterruptAsFork","addEventListener","RuntimeImpl","constructor","arguments","make","withFiberRuntime","state","status","succeed","getFiberRef","getFiberRefs","defaultRuntimeFlags","Interruption","CooperativeYielding","RuntimeMetrics","defaultRuntime","empty","updateRuntimeFlags","f","disableRuntimeFlag","flag","disable","enableRuntimeFlag","enable","updateContext","provideService","tag","service","updateFiberRefs","setFiberRef","fiberRef","updateAs","deleteFiberRef","delete","unsafeRunEffect","unsafeForkEffect","unsafeRunPromiseEffect","unsafeRunPromiseExitEffect","unsafeRunSyncEffect","unsafeRunSyncExitEffect","asyncEffect","register","suspend","cleanup","deferredMake","deferred","uninterruptibleMask","restore","matchCauseEffect","cb","intoDeferred","onFailure","deferredFailCause","onSuccess","cleanup_","onInterrupt","deferredAwait"],"sources":["../../../src/internal/runtime.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- let moduleVersion = "2.4.3";
1
+ let moduleVersion = "2.4.5";
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": "2.4.3",
3
+ "version": "2.4.5",
4
4
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/Brand.ts CHANGED
@@ -211,28 +211,33 @@ export const errors: (...errors: Array<Brand.BrandErrors>) => Brand.BrandErrors
211
211
  * @since 2.0.0
212
212
  * @category constructors
213
213
  */
214
- export const refined: <A extends Brand<any>>(
214
+ export function refined<A extends Brand<any>>(
215
+ f: (unbranded: Brand.Unbranded<A>) => Option.Option<Brand.BrandErrors>
216
+ ): Brand.Constructor<A>
217
+ export function refined<A extends Brand<any>>(
215
218
  refinement: Predicate<Brand.Unbranded<A>>,
216
- onFailure: (a: Brand.Unbranded<A>) => Brand.BrandErrors
217
- ) => Brand.Constructor<A> = <A extends Brand<any>>(
218
- refinement: Predicate<Brand.Unbranded<A>>,
219
- onFailure: (a: Brand.Unbranded<A>) => Brand.BrandErrors
220
- ): Brand.Constructor<A> => {
221
- const either = (args: Brand.Unbranded<A>): Either.Either<A, Brand.BrandErrors> =>
222
- refinement(args) ? Either.right(args as A) : Either.left(onFailure(args))
223
- // @ts-expect-error
224
- return Object.assign((args) =>
225
- Either.match(either(args), {
226
- onLeft: (e) => {
227
- throw e
228
- },
229
- onRight: identity
230
- }), {
219
+ onFailure: (unbranded: Brand.Unbranded<A>) => Brand.BrandErrors
220
+ ): Brand.Constructor<A>
221
+ export function refined<A extends Brand<any>>(
222
+ ...args: [(unbranded: Brand.Unbranded<A>) => Option.Option<Brand.BrandErrors>] | [
223
+ Predicate<Brand.Unbranded<A>>,
224
+ (unbranded: Brand.Unbranded<A>) => Brand.BrandErrors
225
+ ]
226
+ ): Brand.Constructor<A> {
227
+ const either: (unbranded: Brand.Unbranded<A>) => Either.Either<A, Brand.BrandErrors> = args.length === 2 ?
228
+ (unbranded) => args[0](unbranded) ? Either.right(unbranded as A) : Either.left(args[1](unbranded)) :
229
+ (unbranded) => {
230
+ return Option.match(args[0](unbranded), {
231
+ onNone: () => Either.right(unbranded as A),
232
+ onSome: Either.left
233
+ })
234
+ }
235
+ return Object.assign((unbranded: Brand.Unbranded<A>) => Either.getOrThrowWith(either(unbranded), identity), {
231
236
  [RefinedConstructorsTypeId]: RefinedConstructorsTypeId,
232
237
  option: (args: any) => Option.getRight(either(args)),
233
238
  either,
234
239
  is: (args: any): args is Brand.Unbranded<A> & A => Either.isRight(either(args))
235
- })
240
+ }) as any
236
241
  }
237
242
 
238
243
  /**
@@ -253,7 +258,7 @@ export const refined: <A extends Brand<any>>(
253
258
  * @since 2.0.0
254
259
  * @category constructors
255
260
  */
256
- export const nominal: <A extends Brand<any>>() => Brand.Constructor<A> = <A extends Brand<any>>(): Brand.Constructor<
261
+ export const nominal = <A extends Brand<any>>(): Brand.Constructor<
257
262
  A
258
263
  > => {
259
264
  // @ts-expect-error
package/src/Effect.ts CHANGED
@@ -1370,7 +1370,7 @@ export const none: <A, E, R>(
1370
1370
  * @category constructors
1371
1371
  */
1372
1372
  export const promise: <A>(
1373
- evaluate: (signal: AbortSignal) => Promise<A>
1373
+ evaluate: (signal: AbortSignal) => PromiseLike<A>
1374
1374
  ) => Effect<A> = effect.promise
1375
1375
 
1376
1376
  /**
@@ -1834,11 +1834,11 @@ export const tryMap: {
1834
1834
  */
1835
1835
  export const tryMapPromise: {
1836
1836
  <A, B, E1>(
1837
- options: { readonly try: (a: A, signal: AbortSignal) => Promise<B>; readonly catch: (error: unknown) => E1 }
1837
+ options: { readonly try: (a: A, signal: AbortSignal) => PromiseLike<B>; readonly catch: (error: unknown) => E1 }
1838
1838
  ): <E, R>(self: Effect<A, E, R>) => Effect<B, E1 | E, R>
1839
1839
  <A, E, R, B, E1>(
1840
1840
  self: Effect<A, E, R>,
1841
- options: { readonly try: (a: A, signal: AbortSignal) => Promise<B>; readonly catch: (error: unknown) => E1 }
1841
+ options: { readonly try: (a: A, signal: AbortSignal) => PromiseLike<B>; readonly catch: (error: unknown) => E1 }
1842
1842
  ): Effect<B, E | E1, R>
1843
1843
  } = effect.tryMapPromise
1844
1844
 
@@ -1854,9 +1854,9 @@ export const tryMapPromise: {
1854
1854
  */
1855
1855
  export const tryPromise: {
1856
1856
  <A, E>(
1857
- options: { readonly try: (signal: AbortSignal) => Promise<A>; readonly catch: (error: unknown) => E }
1857
+ options: { readonly try: (signal: AbortSignal) => PromiseLike<A>; readonly catch: (error: unknown) => E }
1858
1858
  ): Effect<A, E>
1859
- <A>(try_: (signal: AbortSignal) => Promise<A>): Effect<A, Cause.UnknownException>
1859
+ <A>(try_: (signal: AbortSignal) => PromiseLike<A>): Effect<A, Cause.UnknownException>
1860
1860
  } = effect.tryPromise
1861
1861
 
1862
1862
  /**
@@ -3554,26 +3554,26 @@ export const andThen: {
3554
3554
  ): <E, R>(
3555
3555
  self: Effect<A, E, R>
3556
3556
  ) => [X] extends [Effect<infer A1, infer E1, infer R1>] ? Effect<A1, E | E1, R | R1>
3557
- : [X] extends [Promise<infer A1>] ? Effect<A1, E | Cause.UnknownException, R>
3557
+ : [X] extends [PromiseLike<infer A1>] ? Effect<A1, E | Cause.UnknownException, R>
3558
3558
  : Effect<X, E, R>
3559
3559
  <X>(
3560
3560
  f: NotFunction<X>
3561
3561
  ): <A, E, R>(
3562
3562
  self: Effect<A, E, R>
3563
3563
  ) => [X] extends [Effect<infer A1, infer E1, infer R1>] ? Effect<A1, E | E1, R | R1>
3564
- : [X] extends [Promise<infer A1>] ? Effect<A1, E | Cause.UnknownException, R>
3564
+ : [X] extends [PromiseLike<infer A1>] ? Effect<A1, E | Cause.UnknownException, R>
3565
3565
  : Effect<X, E, R>
3566
3566
  <A, E, R, X>(
3567
3567
  self: Effect<A, E, R>,
3568
3568
  f: (a: NoInfer<A>) => X
3569
3569
  ): [X] extends [Effect<infer A1, infer E1, infer R1>] ? Effect<A1, E | E1, R | R1>
3570
- : [X] extends [Promise<infer A1>] ? Effect<A1, E | Cause.UnknownException, R>
3570
+ : [X] extends [PromiseLike<infer A1>] ? Effect<A1, E | Cause.UnknownException, R>
3571
3571
  : Effect<X, E, R>
3572
3572
  <A, E, R, X>(
3573
3573
  self: Effect<A, E, R>,
3574
3574
  f: NotFunction<X>
3575
3575
  ): [X] extends [Effect<infer A1, infer E1, infer R1>] ? Effect<A1, E | E1, R | R1>
3576
- : [X] extends [Promise<infer A1>] ? Effect<A1, E | Cause.UnknownException, R>
3576
+ : [X] extends [PromiseLike<infer A1>] ? Effect<A1, E | Cause.UnknownException, R>
3577
3577
  : Effect<X, E, R>
3578
3578
  } = core.andThen
3579
3579
 
@@ -3683,26 +3683,26 @@ export const tap: {
3683
3683
  ): <E, R>(
3684
3684
  self: Effect<A, E, R>
3685
3685
  ) => [X] extends [Effect<infer _A1, infer E1, infer R1>] ? Effect<A, E | E1, R | R1>
3686
- : [X] extends [Promise<infer _A1>] ? Effect<A, E | Cause.UnknownException, R>
3686
+ : [X] extends [PromiseLike<infer _A1>] ? Effect<A, E | Cause.UnknownException, R>
3687
3687
  : Effect<A, E, R>
3688
3688
  <X>(
3689
3689
  f: NotFunction<X>
3690
3690
  ): <A, E, R>(
3691
3691
  self: Effect<A, E, R>
3692
3692
  ) => [X] extends [Effect<infer _A1, infer E1, infer R1>] ? Effect<A, E | E1, R | R1>
3693
- : [X] extends [Promise<infer _A1>] ? Effect<A, E | Cause.UnknownException, R>
3693
+ : [X] extends [PromiseLike<infer _A1>] ? Effect<A, E | Cause.UnknownException, R>
3694
3694
  : Effect<A, E, R>
3695
3695
  <A, E, R, X>(
3696
3696
  self: Effect<A, E, R>,
3697
3697
  f: (a: NoInfer<A>) => X
3698
3698
  ): [X] extends [Effect<infer _A1, infer E1, infer R1>] ? Effect<A, E | E1, R | R1>
3699
- : [X] extends [Promise<infer _A1>] ? Effect<A, E | Cause.UnknownException, R>
3699
+ : [X] extends [PromiseLike<infer _A1>] ? Effect<A, E | Cause.UnknownException, R>
3700
3700
  : Effect<A, E, R>
3701
3701
  <A, E, R, X>(
3702
3702
  self: Effect<A, E, R>,
3703
3703
  f: NotFunction<X>
3704
3704
  ): [X] extends [Effect<infer _A1, infer E1, infer R1>] ? Effect<A, E | E1, R | R1>
3705
- : [X] extends [Promise<infer _A1>] ? Effect<A, E | Cause.UnknownException, R>
3705
+ : [X] extends [PromiseLike<infer _A1>] ? Effect<A, E | Cause.UnknownException, R>
3706
3706
  : Effect<A, E, R>
3707
3707
  } = core.tap
3708
3708
 
@@ -4672,7 +4672,10 @@ export const runCallback: <A, E>(
4672
4672
  * @since 2.0.0
4673
4673
  * @category execution
4674
4674
  */
4675
- export const runPromise: <A, E>(effect: Effect<A, E>) => Promise<A> = _runtime.unsafeRunPromiseEffect
4675
+ export const runPromise: <A, E>(
4676
+ effect: Effect<A, E, never>,
4677
+ options?: { readonly signal?: AbortSignal } | undefined
4678
+ ) => Promise<A> = _runtime.unsafeRunPromiseEffect
4676
4679
 
4677
4680
  /**
4678
4681
  * Runs an `Effect` workflow, returning a `Promise` which resolves with the
@@ -4681,8 +4684,10 @@ export const runPromise: <A, E>(effect: Effect<A, E>) => Promise<A> = _runtime.u
4681
4684
  * @since 2.0.0
4682
4685
  * @category execution
4683
4686
  */
4684
- export const runPromiseExit: <A, E>(effect: Effect<A, E>) => Promise<Exit.Exit<A, E>> =
4685
- _runtime.unsafeRunPromiseExitEffect
4687
+ export const runPromiseExit: <A, E>(
4688
+ effect: Effect<A, E, never>,
4689
+ options?: { readonly signal?: AbortSignal } | undefined
4690
+ ) => Promise<Exit.Exit<A, E>> = _runtime.unsafeRunPromiseExitEffect
4686
4691
 
4687
4692
  /**
4688
4693
  * @since 2.0.0
@@ -63,7 +63,9 @@ export interface ManagedRuntime<in R, out ER> extends Pipeable {
63
63
  * This method is effectful and should only be used at the edges of your
64
64
  * program.
65
65
  */
66
- readonly runPromise: <A, E>(effect: Effect.Effect<A, E, R>) => Promise<A>
66
+ readonly runPromise: <A, E>(effect: Effect.Effect<A, E, R>, options?: {
67
+ readonly signal?: AbortSignal | undefined
68
+ }) => Promise<A>
67
69
 
68
70
  /**
69
71
  * Runs the `Effect`, returning a JavaScript `Promise` that will be resolved
@@ -72,7 +74,9 @@ export interface ManagedRuntime<in R, out ER> extends Pipeable {
72
74
  * This method is effectful and should only be used at the edges of your
73
75
  * program.
74
76
  */
75
- readonly runPromiseExit: <A, E>(effect: Effect.Effect<A, E, R>) => Promise<Exit.Exit<A, ER | E>>
77
+ readonly runPromiseExit: <A, E>(effect: Effect.Effect<A, E, R>, options?: {
78
+ readonly signal?: AbortSignal | undefined
79
+ }) => Promise<Exit.Exit<A, ER | E>>
76
80
 
77
81
  /**
78
82
  * Dispose of the resources associated with the runtime.
package/src/Predicate.ts CHANGED
@@ -543,6 +543,14 @@ export const isPromise = (
543
543
  ): input is Promise<unknown> =>
544
544
  hasProperty(input, "then") && "catch" in input && isFunction(input.then) && isFunction(input.catch)
545
545
 
546
+ /**
547
+ * @category guards
548
+ * @since 2.0.0
549
+ */
550
+ export const isPromiseLike = (
551
+ input: unknown
552
+ ): input is PromiseLike<unknown> => hasProperty(input, "then") && isFunction(input.then)
553
+
546
554
  /**
547
555
  * @since 2.0.0
548
556
  */
@@ -883,7 +883,7 @@ export const reverse = <S extends Iterable<any> | NonEmptyReadonlyArray<any>>(
883
883
  export const sort: {
884
884
  <B>(
885
885
  O: Order.Order<B>
886
- ): <S extends ReadonlyArray<any> | Iterable<any>>(self: S) => ReadonlyArray.With<S, ReadonlyArray.Infer<S>>
886
+ ): <A extends B, S extends ReadonlyArray<A> | Iterable<A>>(self: S) => ReadonlyArray.With<S, ReadonlyArray.Infer<S>>
887
887
  <A extends B, B>(self: NonEmptyReadonlyArray<A>, O: Order.Order<B>): NonEmptyArray<A>
888
888
  <A extends B, B>(self: Iterable<A>, O: Order.Order<B>): Array<A>
889
889
  } = dual(2, <A extends B, B>(self: Iterable<A>, O: Order.Order<B>): Array<A> => {
@@ -1006,7 +1006,7 @@ export const unzip: <S extends Iterable<readonly [any, any]> | NonEmptyReadonlyA
1006
1006
  export const intersperse: {
1007
1007
  <B>(
1008
1008
  middle: B
1009
- ): <S extends ReadonlyArray<any> | Iterable<any>>(self: S) => ReadonlyArray.With<S, ReadonlyArray.Infer<S>>
1009
+ ): <S extends ReadonlyArray<any> | Iterable<any>>(self: S) => ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B>
1010
1010
  <A, B>(self: NonEmptyReadonlyArray<A>, middle: B): NonEmptyArray<A | B>
1011
1011
  <A, B>(self: Iterable<A>, middle: B): Array<A | B>
1012
1012
  } = dual(2, <A, B>(self: Iterable<A>, middle: B): Array<A | B> => {
package/src/Runtime.ts CHANGED
@@ -134,7 +134,9 @@ export const runCallback: <R>(
134
134
  * @since 2.0.0
135
135
  * @category execution
136
136
  */
137
- export const runPromise: <R>(runtime: Runtime<R>) => <A, E>(effect: Effect.Effect<A, E, R>) => Promise<A> =
137
+ export const runPromise: <R>(
138
+ runtime: Runtime<R>
139
+ ) => <A, E>(effect: Effect.Effect<A, E, R>, options?: { readonly signal?: AbortSignal } | undefined) => Promise<A> =
138
140
  internal.unsafeRunPromise
139
141
 
140
142
  /**
@@ -149,7 +151,10 @@ export const runPromise: <R>(runtime: Runtime<R>) => <A, E>(effect: Effect.Effec
149
151
  */
150
152
  export const runPromiseExit: <R>(
151
153
  runtime: Runtime<R>
152
- ) => <A, E>(effect: Effect.Effect<A, E, R>) => Promise<Exit.Exit<A, E>> = internal.unsafeRunPromiseExit
154
+ ) => <A, E>(
155
+ effect: Effect.Effect<A, E, R>,
156
+ options?: { readonly signal?: AbortSignal } | undefined
157
+ ) => Promise<Exit.Exit<A, E>> = internal.unsafeRunPromiseExit
153
158
 
154
159
  /**
155
160
  * @since 2.0.0
@@ -1,3 +1,4 @@
1
+ import * as Chunk from "../Chunk.js"
1
2
  import type * as Deferred from "../Deferred.js"
2
3
  import * as Either from "../Either.js"
3
4
  import * as Equal from "../Equal.js"
@@ -251,9 +252,9 @@ const step = (
251
252
  break
252
253
  }
253
254
  case "Single": {
254
- parallel = parallelCollectionCombine(
255
+ parallel = parallelCollectionAdd(
255
256
  parallel,
256
- parallelCollectionMake(current.dataSource, current.blockedRequest)
257
+ current
257
258
  )
258
259
  if (List.isNil(stack)) {
259
260
  return [parallel, sequential]
@@ -360,7 +361,7 @@ class ParallelImpl implements ParallelCollection {
360
361
  constructor(
361
362
  readonly map: HashMap.HashMap<
362
363
  RequestResolver.RequestResolver<unknown, unknown>,
363
- Array<Request.Entry<unknown>>
364
+ Chunk.Chunk<Request.Entry<unknown>>
364
365
  >
365
366
  ) {}
366
367
  }
@@ -372,7 +373,22 @@ export const parallelCollectionEmpty = (): ParallelCollection => new ParallelImp
372
373
  export const parallelCollectionMake = <A>(
373
374
  dataSource: RequestResolver.RequestResolver<A>,
374
375
  blockedRequest: Request.Entry<A>
375
- ): ParallelCollection => new ParallelImpl(HashMap.make([dataSource, Array.of(blockedRequest)]) as any)
376
+ ): ParallelCollection => new ParallelImpl(HashMap.make([dataSource, Chunk.of(blockedRequest)]) as any)
377
+
378
+ /** @internal */
379
+ export const parallelCollectionAdd = (
380
+ self: ParallelCollection,
381
+ blockedRequest: RequestBlock.Single
382
+ ): ParallelCollection =>
383
+ new ParallelImpl(HashMap.modifyAt(
384
+ self.map,
385
+ blockedRequest.dataSource,
386
+ (_) =>
387
+ Option.orElseSome(
388
+ Option.map(_, Chunk.append(blockedRequest.blockedRequest)),
389
+ () => Chunk.of(blockedRequest.blockedRequest)
390
+ )
391
+ ))
376
392
 
377
393
  /** @internal */
378
394
  export const parallelCollectionCombine = (
@@ -385,7 +401,7 @@ export const parallelCollectionCombine = (
385
401
  key,
386
402
  Option.match(HashMap.get(map, key), {
387
403
  onNone: () => value,
388
- onSome: (other) => [...value, ...other]
404
+ onSome: (other) => Chunk.appendAll(value, other)
389
405
  })
390
406
  )))
391
407
 
@@ -400,7 +416,7 @@ export const parallelCollectionKeys = (
400
416
  /** @internal */
401
417
  export const parallelCollectionToSequentialCollection = (
402
418
  self: ParallelCollection
403
- ): SequentialCollection => sequentialCollectionMake(HashMap.map(self.map, (x) => Array.of(x)) as any)
419
+ ): SequentialCollection => sequentialCollectionMake(HashMap.map(self.map, (x) => Chunk.of(x)) as any)
404
420
 
405
421
  // TODO
406
422
  // /** @internal */
@@ -423,7 +439,7 @@ class SequentialImpl implements SequentialCollection {
423
439
  constructor(
424
440
  readonly map: HashMap.HashMap<
425
441
  RequestResolver.RequestResolver<unknown, unknown>,
426
- Array<Array<Request.Entry<unknown>>>
442
+ Chunk.Chunk<Chunk.Chunk<Request.Entry<unknown>>>
427
443
  >
428
444
  ) {}
429
445
  }
@@ -432,7 +448,7 @@ class SequentialImpl implements SequentialCollection {
432
448
  export const sequentialCollectionMake = <A, R>(
433
449
  map: HashMap.HashMap<
434
450
  RequestResolver.RequestResolver<A, R>,
435
- Array<Array<Request.Entry<A>>>
451
+ Chunk.Chunk<Chunk.Chunk<Request.Entry<A>>>
436
452
  >
437
453
  ): SequentialCollection => new SequentialImpl(map as any)
438
454
 
@@ -446,8 +462,8 @@ export const sequentialCollectionCombine = (
446
462
  map,
447
463
  key,
448
464
  Option.match(HashMap.get(map, key), {
449
- onNone: () => [],
450
- onSome: (a) => [...a, ...value]
465
+ onNone: () => Chunk.empty(),
466
+ onSome: (a) => Chunk.appendAll(a, value)
451
467
  })
452
468
  )))
453
469
 
@@ -462,7 +478,7 @@ export const sequentialCollectionKeys = (
462
478
  /** @internal */
463
479
  export const sequentialCollectionToChunk = (
464
480
  self: SequentialCollection
465
- ): Array<[RequestResolver.RequestResolver<unknown>, Array<Array<Request.Entry<unknown>>>]> =>
481
+ ): Array<[RequestResolver.RequestResolver<unknown>, Chunk.Chunk<Chunk.Chunk<Request.Entry<unknown>>>]> =>
466
482
  Array.from(self.map) as any
467
483
 
468
484
  /** @internal */
@@ -472,7 +488,7 @@ export type RequestBlockParallelTypeId = typeof RequestBlockParallelTypeId
472
488
  export interface ParallelCollection extends ParallelCollection.Variance {
473
489
  readonly map: HashMap.HashMap<
474
490
  RequestResolver.RequestResolver<unknown, unknown>,
475
- Array<Request.Entry<unknown>>
491
+ Chunk.Chunk<Request.Entry<unknown>>
476
492
  >
477
493
  }
478
494
 
@@ -491,7 +507,7 @@ export type SequentialCollectionTypeId = typeof SequentialCollectionTypeId
491
507
  export interface SequentialCollection extends SequentialCollection.Variance {
492
508
  readonly map: HashMap.HashMap<
493
509
  RequestResolver.RequestResolver<unknown, unknown>,
494
- Array<Array<Request.Entry<unknown>>>
510
+ Chunk.Chunk<Chunk.Chunk<Request.Entry<unknown>>>
495
511
  >
496
512
  }
497
513
 
@@ -1171,17 +1171,15 @@ export const patchFiberRefs = (patch: FiberRefsPatch.FiberRefsPatch): Effect.Eff
1171
1171
  updateFiberRefs((fiberId, fiberRefs) => pipe(patch, fiberRefsPatch.patch(fiberId, fiberRefs)))
1172
1172
 
1173
1173
  /* @internal */
1174
- export const promise = <A>(evaluate: (signal: AbortSignal) => Promise<A>): Effect.Effect<A> =>
1174
+ export const promise = <A>(evaluate: (signal: AbortSignal) => PromiseLike<A>): Effect.Effect<A> =>
1175
1175
  evaluate.length >= 1
1176
1176
  ? core.async((resolve, signal) => {
1177
1177
  evaluate(signal)
1178
- .then((a) => resolve(core.exitSucceed(a)))
1179
- .catch((e) => resolve(core.exitDie(e)))
1178
+ .then((a) => resolve(core.exitSucceed(a)), (e) => resolve(core.exitDie(e)))
1180
1179
  })
1181
1180
  : core.async((resolve) => {
1182
- ;(evaluate as LazyArg<Promise<A>>)()
1183
- .then((a) => resolve(core.exitSucceed(a)))
1184
- .catch((e) => resolve(core.exitDie(e)))
1181
+ ;(evaluate as LazyArg<PromiseLike<A>>)()
1182
+ .then((a) => resolve(core.exitSucceed(a)), (e) => resolve(core.exitDie(e)))
1185
1183
  })
1186
1184
 
1187
1185
  /* @internal */
@@ -1620,23 +1618,23 @@ export const tracer: Effect.Effect<Tracer.Tracer> = tracerWith(core.succeed)
1620
1618
  export const tryPromise: {
1621
1619
  <A, E>(
1622
1620
  options: {
1623
- readonly try: (signal: AbortSignal) => Promise<A>
1621
+ readonly try: (signal: AbortSignal) => PromiseLike<A>
1624
1622
  readonly catch: (error: unknown) => E
1625
1623
  }
1626
1624
  ): Effect.Effect<A, E>
1627
- <A>(try_: (signal: AbortSignal) => Promise<A>): Effect.Effect<A, Cause.UnknownException>
1625
+ <A>(try_: (signal: AbortSignal) => PromiseLike<A>): Effect.Effect<A, Cause.UnknownException>
1628
1626
  } = <A, E>(
1629
- arg: ((signal: AbortSignal) => Promise<A>) | {
1630
- readonly try: (signal: AbortSignal) => Promise<A>
1627
+ arg: ((signal: AbortSignal) => PromiseLike<A>) | {
1628
+ readonly try: (signal: AbortSignal) => PromiseLike<A>
1631
1629
  readonly catch: (error: unknown) => E
1632
1630
  }
1633
1631
  ): Effect.Effect<A, E | Cause.UnknownException> => {
1634
- let evaluate: (signal?: AbortSignal) => Promise<A>
1632
+ let evaluate: (signal?: AbortSignal) => PromiseLike<A>
1635
1633
  let catcher: ((error: unknown) => E) | undefined = undefined
1636
1634
  if (typeof arg === "function") {
1637
- evaluate = arg as (signal?: AbortSignal) => Promise<A>
1635
+ evaluate = arg as (signal?: AbortSignal) => PromiseLike<A>
1638
1636
  } else {
1639
- evaluate = arg.try as (signal?: AbortSignal) => Promise<A>
1637
+ evaluate = arg.try as (signal?: AbortSignal) => PromiseLike<A>
1640
1638
  catcher = arg.catch
1641
1639
  }
1642
1640
 
@@ -1644,12 +1642,10 @@ export const tryPromise: {
1644
1642
  return core.async((resolve, signal) => {
1645
1643
  try {
1646
1644
  evaluate(signal)
1647
- .then((a) => resolve(core.exitSucceed(a)))
1648
- .catch((e) =>
1645
+ .then((a) => resolve(core.exitSucceed(a)), (e) =>
1649
1646
  resolve(core.fail(
1650
1647
  catcher ? catcher(e) : new core.UnknownException(e)
1651
- ))
1652
- )
1648
+ )))
1653
1649
  } catch (e) {
1654
1650
  resolve(core.fail(
1655
1651
  catcher ? catcher(e) : new core.UnknownException(e)
@@ -1661,12 +1657,10 @@ export const tryPromise: {
1661
1657
  return core.async((resolve) => {
1662
1658
  try {
1663
1659
  evaluate()
1664
- .then((a) => resolve(core.exitSucceed(a)))
1665
- .catch((e) =>
1660
+ .then((a) => resolve(core.exitSucceed(a)), (e) =>
1666
1661
  resolve(core.fail(
1667
1662
  catcher ? catcher(e) : new core.UnknownException(e)
1668
- ))
1669
- )
1663
+ )))
1670
1664
  } catch (e) {
1671
1665
  resolve(core.fail(
1672
1666
  catcher ? catcher(e) : new core.UnknownException(e)
@@ -1701,21 +1695,21 @@ export const tryMap = dual<
1701
1695
  export const tryMapPromise = dual<
1702
1696
  <A, B, E1>(
1703
1697
  options: {
1704
- readonly try: (a: A, signal: AbortSignal) => Promise<B>
1698
+ readonly try: (a: A, signal: AbortSignal) => PromiseLike<B>
1705
1699
  readonly catch: (error: unknown) => E1
1706
1700
  }
1707
1701
  ) => <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E | E1, R>,
1708
1702
  <A, E, R, B, E1>(
1709
1703
  self: Effect.Effect<A, E, R>,
1710
1704
  options: {
1711
- readonly try: (a: A, signal: AbortSignal) => Promise<B>
1705
+ readonly try: (a: A, signal: AbortSignal) => PromiseLike<B>
1712
1706
  readonly catch: (error: unknown) => E1
1713
1707
  }
1714
1708
  ) => Effect.Effect<B, E | E1, R>
1715
1709
  >(2, <A, E, R, B, E1>(
1716
1710
  self: Effect.Effect<A, E, R>,
1717
1711
  options: {
1718
- readonly try: (a: A, signal: AbortSignal) => Promise<B>
1712
+ readonly try: (a: A, signal: AbortSignal) => PromiseLike<B>
1719
1713
  readonly catch: (error: unknown) => E1
1720
1714
  }
1721
1715
  ) =>
@@ -1723,7 +1717,7 @@ export const tryMapPromise = dual<
1723
1717
  tryPromise({
1724
1718
  try: options.try.length >= 1
1725
1719
  ? (signal) => options.try(a, signal)
1726
- : () => (options.try as (a: A) => Promise<B>)(a),
1720
+ : () => (options.try as (a: A) => PromiseLike<B>)(a),
1727
1721
  catch: options.catch
1728
1722
  })))
1729
1723