effect 3.11.3 → 3.11.4

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 (36) hide show
  1. package/dist/cjs/Cron.js +122 -68
  2. package/dist/cjs/Cron.js.map +1 -1
  3. package/dist/cjs/Function.js +1 -1
  4. package/dist/cjs/internal/core.js +6 -3
  5. package/dist/cjs/internal/core.js.map +1 -1
  6. package/dist/cjs/internal/effect/circular.js +2 -2
  7. package/dist/cjs/internal/effect/circular.js.map +1 -1
  8. package/dist/cjs/internal/fiberRuntime.js +1 -1
  9. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  10. package/dist/cjs/internal/mailbox.js +4 -4
  11. package/dist/cjs/internal/mailbox.js.map +1 -1
  12. package/dist/cjs/internal/version.js +1 -1
  13. package/dist/dts/Cron.d.ts +1 -1
  14. package/dist/dts/Cron.d.ts.map +1 -1
  15. package/dist/dts/Function.d.ts +1 -1
  16. package/dist/dts/internal/core.d.ts.map +1 -1
  17. package/dist/esm/Cron.js +121 -67
  18. package/dist/esm/Cron.js.map +1 -1
  19. package/dist/esm/Function.js +1 -1
  20. package/dist/esm/internal/core.js +2 -0
  21. package/dist/esm/internal/core.js.map +1 -1
  22. package/dist/esm/internal/effect/circular.js +2 -2
  23. package/dist/esm/internal/effect/circular.js.map +1 -1
  24. package/dist/esm/internal/fiberRuntime.js +1 -1
  25. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  26. package/dist/esm/internal/mailbox.js +4 -4
  27. package/dist/esm/internal/mailbox.js.map +1 -1
  28. package/dist/esm/internal/version.js +1 -1
  29. package/package.json +1 -1
  30. package/src/Cron.ts +154 -66
  31. package/src/Function.ts +1 -1
  32. package/src/internal/core.ts +8 -0
  33. package/src/internal/effect/circular.ts +2 -2
  34. package/src/internal/fiberRuntime.ts +1 -1
  35. package/src/internal/mailbox.ts +4 -4
  36. package/src/internal/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mailbox.js","names":["Arr","NoSuchElementException","Chunk","Effectable","dual","Inspectable","Iterable","Option","pipeArguments","hasProperty","channel","channelExecutor","coreChannel","core","circular","fiberRuntime","stream","TypeId","Symbol","for","ReadonlyTypeId","isMailbox","u","isReadonlyMailbox","empty","exitEmpty","exitSucceed","exitFalse","exitTrue","constDone","MailboxImpl","Class","scheduler","capacity","strategy","state","_tag","takers","Set","offers","awaiters","messages","messagesChunk","constructor","offer","message","suspend","length","size","push","releaseTaker","offerRemainingSingle","unsafeTake","scheduleReleaseTaker","unsafeOffer","offerAll","succeed","fromIterable","remaining","unsafeOfferAllArray","unsafeFromArray","offerRemainingArray","unsafeOfferAll","Number","POSITIVE_INFINITY","appendAll","pipe","takeRight","isChunk","free","i","fail","error","done","exitFail","failCause","cause","exitFailCause","unsafeDone","exit","finalize","shutdown","sync","exitVoid","entry","resume","slice","offset","clear","end","exitAs","unsafeTakeAll","releaseCapacity","takeAll","zipRight","awaitTake","takeN","n","Math","min","take","drop","exitZipRight","unsafeHead","pop","undefined","await","unsafeAsync","add","delete","unsafeSize","none","some","commit","arguments","toJSON","_id","toString","format","NodeInspectSymbol","scheduleRunning","scheduleTask","taker","of","openState","awaiter","make","withFiberRuntime","fiber","currentScheduler","into","effect","self","uninterruptibleMask","restore","matchCauseEffect","onFailure","onSuccess","_","toChannel","loop","flatMap","void","write","toStream","fromChannel","fromStream","args","isStream","options","tap","acquireRelease","mailbox","writer","readWithCause","onInput","input","onDone","unwrapScopedWith","scope","pipeTo","runIn","forkIn"],"sources":["../../../src/internal/mailbox.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"mailbox.js","names":["Arr","NoSuchElementException","Chunk","Effectable","dual","Inspectable","Iterable","Option","pipeArguments","hasProperty","channel","channelExecutor","coreChannel","core","circular","fiberRuntime","stream","TypeId","Symbol","for","ReadonlyTypeId","isMailbox","u","isReadonlyMailbox","empty","exitEmpty","exitSucceed","exitFalse","exitTrue","constDone","MailboxImpl","Class","scheduler","capacity","strategy","state","_tag","takers","Set","offers","awaiters","messages","messagesChunk","constructor","offer","message","suspend","length","size","push","releaseTaker","offerRemainingSingle","unsafeTake","scheduleReleaseTaker","unsafeOffer","offerAll","succeed","fromIterable","remaining","unsafeOfferAllArray","unsafeFromArray","offerRemainingArray","unsafeOfferAll","Number","POSITIVE_INFINITY","appendAll","pipe","takeRight","isChunk","free","i","fail","error","done","exitFail","failCause","cause","exitFailCause","unsafeDone","exit","finalize","shutdown","sync","exitVoid","entry","resume","slice","offset","clear","end","exitAs","unsafeTakeAll","releaseCapacity","takeAll","zipRight","awaitTake","takeN","n","Math","min","take","drop","exitZipRight","unsafeHead","pop","undefined","await","asyncInterrupt","add","delete","unsafeSize","none","some","commit","arguments","toJSON","_id","toString","format","NodeInspectSymbol","scheduleRunning","scheduleTask","taker","of","openState","awaiter","make","withFiberRuntime","fiber","currentScheduler","into","effect","self","uninterruptibleMask","restore","matchCauseEffect","onFailure","onSuccess","_","toChannel","loop","flatMap","void","write","toStream","fromChannel","fromStream","args","isStream","options","tap","acquireRelease","mailbox","writer","readWithCause","onInput","input","onDone","unwrapScopedWith","scope","pipeTo","runIn","forkIn"],"sources":["../../../src/internal/mailbox.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.11.3";
1
+ let moduleVersion = "3.11.4";
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.11.3",
3
+ "version": "3.11.4",
4
4
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/Cron.ts CHANGED
@@ -6,7 +6,7 @@ import type * as DateTime from "./DateTime.js"
6
6
  import * as Either from "./Either.js"
7
7
  import * as Equal from "./Equal.js"
8
8
  import * as equivalence from "./Equivalence.js"
9
- import { dual, pipe } from "./Function.js"
9
+ import { constVoid, dual, pipe } from "./Function.js"
10
10
  import * as Hash from "./Hash.js"
11
11
  import { format, type Inspectable, NodeInspectSymbol } from "./Inspectable.js"
12
12
  import * as dateTime from "./internal/dateTime.js"
@@ -41,9 +41,25 @@ export interface Cron extends Pipeable, Equal.Equal, Inspectable {
41
41
  readonly days: ReadonlySet<number>
42
42
  readonly months: ReadonlySet<number>
43
43
  readonly weekdays: ReadonlySet<number>
44
+ /** @internal */
45
+ readonly first: {
46
+ readonly minute: number
47
+ readonly hour: number
48
+ readonly day: number
49
+ readonly month: number
50
+ readonly weekday: number
51
+ }
52
+ /** @internal */
53
+ readonly next: {
54
+ readonly minute: ReadonlyArray<number | undefined>
55
+ readonly hour: ReadonlyArray<number | undefined>
56
+ readonly day: ReadonlyArray<number | undefined>
57
+ readonly month: ReadonlyArray<number | undefined>
58
+ readonly weekday: ReadonlyArray<number | undefined>
59
+ }
44
60
  }
45
61
 
46
- const CronProto: Omit<Cron, "minutes" | "hours" | "days" | "months" | "weekdays" | "tz"> = {
62
+ const CronProto = {
47
63
  [TypeId]: TypeId,
48
64
  [Equal.symbol](this: Cron, that: unknown) {
49
65
  return isCron(that) && equals(this, that)
@@ -79,7 +95,7 @@ const CronProto: Omit<Cron, "minutes" | "hours" | "days" | "months" | "weekdays"
79
95
  pipe() {
80
96
  return pipeArguments(this, arguments)
81
97
  }
82
- } as const
98
+ }
83
99
 
84
100
  /**
85
101
  * Checks if a given value is a `Cron` instance.
@@ -99,14 +115,7 @@ export const isCron = (u: unknown): u is Cron => hasProperty(u, TypeId)
99
115
  * @since 2.0.0
100
116
  * @category constructors
101
117
  */
102
- export const make = ({
103
- days,
104
- hours,
105
- minutes,
106
- months,
107
- tz,
108
- weekdays
109
- }: {
118
+ export const make = (values: {
110
119
  readonly minutes: Iterable<number>
111
120
  readonly hours: Iterable<number>
112
121
  readonly days: Iterable<number>
@@ -115,15 +124,56 @@ export const make = ({
115
124
  readonly tz?: DateTime.TimeZone | undefined
116
125
  }): Cron => {
117
126
  const o: Mutable<Cron> = Object.create(CronProto)
118
- o.minutes = new Set(Arr.sort(minutes, N.Order))
119
- o.hours = new Set(Arr.sort(hours, N.Order))
120
- o.days = new Set(Arr.sort(days, N.Order))
121
- o.months = new Set(Arr.sort(months, N.Order))
122
- o.weekdays = new Set(Arr.sort(weekdays, N.Order))
123
- o.tz = Option.fromNullable(tz)
127
+ o.minutes = new Set(Arr.sort(values.minutes, N.Order))
128
+ o.hours = new Set(Arr.sort(values.hours, N.Order))
129
+ o.days = new Set(Arr.sort(values.days, N.Order))
130
+ o.months = new Set(Arr.sort(values.months, N.Order))
131
+ o.weekdays = new Set(Arr.sort(values.weekdays, N.Order))
132
+ o.tz = Option.fromNullable(values.tz)
133
+
134
+ const minutes = Array.from(o.minutes)
135
+ const hours = Array.from(o.hours)
136
+ const days = Array.from(o.days)
137
+ const months = Array.from(o.months)
138
+ const weekdays = Array.from(o.weekdays)
139
+
140
+ o.first = {
141
+ minute: minutes[0] ?? 0,
142
+ hour: hours[0] ?? 0,
143
+ day: days[0] ?? 1,
144
+ month: (months[0] ?? 1) - 1,
145
+ weekday: weekdays[0] ?? 0
146
+ }
147
+
148
+ o.next = {
149
+ minute: nextLookupTable(minutes, 60),
150
+ hour: nextLookupTable(hours, 24),
151
+ day: nextLookupTable(days, 32),
152
+ month: nextLookupTable(months, 13),
153
+ weekday: nextLookupTable(weekdays, 7)
154
+ }
155
+
124
156
  return o
125
157
  }
126
158
 
159
+ const nextLookupTable = (values: ReadonlyArray<number>, size: number): Array<number | undefined> => {
160
+ const result = new Array(size).fill(undefined)
161
+ if (values.length === 0) {
162
+ return result
163
+ }
164
+
165
+ let current: number | undefined = undefined
166
+ let index = values.length - 1
167
+ for (let i = size - 1; i >= 0; i--) {
168
+ while (index >= 0 && values[index] >= i) {
169
+ current = values[index--]
170
+ }
171
+ result[i] = current
172
+ }
173
+
174
+ return result
175
+ }
176
+
127
177
  /**
128
178
  * @since 2.0.0
129
179
  * @category symbol
@@ -149,7 +199,7 @@ export interface ParseError {
149
199
  readonly input?: string
150
200
  }
151
201
 
152
- const ParseErrorProto: Omit<ParseError, "input" | "message"> = {
202
+ const ParseErrorProto = {
153
203
  _tag: "ParseError",
154
204
  [ParseErrorTypeId]: ParseErrorTypeId
155
205
  }
@@ -231,9 +281,9 @@ export const parse = (cron: string, tz?: DateTime.TimeZone): Either.Either<Cron,
231
281
  * @since 2.0.0
232
282
  */
233
283
  export const match = (cron: Cron, date: DateTime.DateTime.Input): boolean => {
234
- const zoned = dateTime.unsafeMakeZoned(date)
235
- const adjusted = Option.isSome(cron.tz) ? dateTime.setZone(zoned, cron.tz.value) : zoned
236
- const parts = dateTime.toParts(adjusted)
284
+ const parts = dateTime.unsafeMakeZoned(date, {
285
+ timeZone: Option.getOrUndefined(cron.tz)
286
+ }).pipe(dateTime.toParts)
237
287
 
238
288
  if (cron.minutes.size !== 0 && !cron.minutes.has(parts.minutes)) {
239
289
  return false
@@ -262,6 +312,9 @@ export const match = (cron: Cron, date: DateTime.DateTime.Input): boolean => {
262
312
  return cron.days.has(parts.day) || cron.weekdays.has(parts.weekDay)
263
313
  }
264
314
 
315
+ const daysInMonth = (date: Date): number =>
316
+ new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth() + 1, 0)).getUTCDate()
317
+
265
318
  /**
266
319
  * Returns the next run `Date` for the given `Cron` instance.
267
320
  *
@@ -285,66 +338,101 @@ export const match = (cron: Cron, date: DateTime.DateTime.Input): boolean => {
285
338
  * @since 2.0.0
286
339
  */
287
340
  export const next = (cron: Cron, now?: DateTime.DateTime.Input): Date => {
288
- const { days, hours, minutes, months, weekdays } = cron
289
-
290
- const restrictMinutes = minutes.size !== 0
291
- const restrictHours = hours.size !== 0
292
- const restrictDays = days.size !== 0
293
- const restrictMonths = months.size !== 0
294
- const restrictWeekdays = weekdays.size !== 0
341
+ const tz = Option.getOrUndefined(cron.tz)
342
+ const zoned = dateTime.unsafeMakeZoned(now ?? new Date(), {
343
+ timeZone: tz
344
+ })
295
345
 
296
- // TODO: This is unsafe.
297
- const zoned = dateTime.unsafeMakeZoned(now ?? new Date())
298
- const adjusted = Option.isSome(cron.tz) ? dateTime.setZone(zoned, cron.tz.value) : zoned
346
+ const utc = tz !== undefined && dateTime.isTimeZoneNamed(tz) && tz.id === "UTC"
347
+ const adjustDst = utc ? constVoid : (current: Date) => {
348
+ const adjusted = dateTime.unsafeMakeZoned(current, {
349
+ timeZone: zoned.zone,
350
+ adjustForTimeZone: true
351
+ }).pipe(dateTime.toDate)
352
+
353
+ // TODO: This implementation currently only skips forward when transitioning into daylight savings time.
354
+ const drift = current.getTime() - adjusted.getTime()
355
+ if (drift > 0) {
356
+ current.setTime(current.getTime() + drift)
357
+ }
358
+ }
299
359
 
300
- // TODO: This algorithm can be optimized to avoid some unnecessary iterations.
301
- const result = dateTime.mutate(adjusted, (current) => {
302
- // Increment by one minute to ensure we don't match the current date.
303
- current.setUTCMinutes(current.getUTCMinutes() + 1)
304
- current.setUTCSeconds(0)
305
- current.setUTCMilliseconds(0)
360
+ const result = dateTime.mutate(zoned, (current) => {
361
+ current.setUTCMinutes(current.getUTCMinutes() + 1, 0, 0)
306
362
 
307
363
  for (let i = 0; i < 10_000; i++) {
308
- if (restrictMonths && !months.has(current.getUTCMonth() + 1)) {
309
- current.setUTCMonth(current.getUTCMonth() + 1)
310
- current.setUTCDate(1)
311
- current.setUTCHours(0)
312
- current.setUTCMinutes(0)
313
- continue
314
- }
315
-
316
- if (restrictDays && restrictWeekdays) {
317
- if (!days.has(current.getUTCDate()) && !weekdays.has(current.getUTCDay())) {
318
- current.setUTCDate(current.getUTCDate() + 1)
319
- current.setUTCHours(0)
320
- current.setUTCMinutes(0)
364
+ if (cron.minutes.size !== 0) {
365
+ const currentMinute = current.getUTCMinutes()
366
+ const nextMinute = cron.next.minute[currentMinute]
367
+ if (nextMinute === undefined) {
368
+ current.setUTCHours(current.getUTCHours() + 1, cron.first.minute)
369
+ adjustDst(current)
321
370
  continue
322
371
  }
323
- } else if (restrictDays) {
324
- if (!days.has(current.getUTCDate())) {
325
- current.setUTCDate(current.getUTCDate() + 1)
326
- current.setUTCHours(0)
327
- current.setUTCMinutes(0)
372
+ if (nextMinute > currentMinute) {
373
+ current.setUTCMinutes(nextMinute)
374
+ adjustDst(current)
328
375
  continue
329
376
  }
330
- } else if (restrictWeekdays) {
331
- if (!weekdays.has(current.getUTCDay())) {
377
+ }
378
+
379
+ if (cron.hours.size !== 0) {
380
+ const currentHour = current.getUTCHours()
381
+ const nextHour = cron.next.hour[currentHour]
382
+ if (nextHour === undefined) {
332
383
  current.setUTCDate(current.getUTCDate() + 1)
333
- current.setUTCHours(0)
334
- current.setUTCMinutes(0)
384
+ current.setUTCHours(cron.first.hour, cron.first.minute)
385
+ adjustDst(current)
386
+ continue
387
+ }
388
+ if (nextHour > currentHour) {
389
+ current.setUTCHours(nextHour, cron.first.minute)
390
+ adjustDst(current)
335
391
  continue
336
392
  }
337
393
  }
338
394
 
339
- if (restrictHours && !hours.has(current.getUTCHours())) {
340
- current.setUTCHours(current.getUTCHours() + 1)
341
- current.setUTCMinutes(0)
342
- continue
395
+ if (cron.weekdays.size !== 0 || cron.days.size !== 0) {
396
+ let a: number = Infinity
397
+ let b: number = Infinity
398
+
399
+ if (cron.weekdays.size !== 0) {
400
+ const currentWeekday = current.getUTCDay()
401
+ const nextWeekday = cron.next.weekday[currentWeekday]
402
+ a = nextWeekday === undefined ? 7 - currentWeekday + cron.first.weekday : nextWeekday - currentWeekday
403
+ }
404
+
405
+ if (cron.days.size !== 0 && a !== 0) {
406
+ const currentDay = current.getUTCDate()
407
+ const nextDay = cron.next.day[currentDay]
408
+ b = nextDay === undefined ? daysInMonth(current) - currentDay + cron.first.day : nextDay - currentDay
409
+ }
410
+
411
+ const addDays = Math.min(a, b)
412
+ if (addDays !== 0) {
413
+ current.setUTCDate(current.getUTCDate() + addDays)
414
+ current.setUTCHours(cron.first.hour, cron.first.minute)
415
+ adjustDst(current)
416
+ continue
417
+ }
343
418
  }
344
419
 
345
- if (restrictMinutes && !minutes.has(current.getUTCMinutes())) {
346
- current.setUTCMinutes(current.getUTCMinutes() + 1)
347
- continue
420
+ if (cron.months.size !== 0) {
421
+ const currentMonth = current.getUTCMonth() + 1
422
+ const nextMonth = cron.next.month[currentMonth]
423
+ if (nextMonth === undefined) {
424
+ current.setUTCFullYear(current.getUTCFullYear() + 1)
425
+ current.setUTCMonth(cron.first.month, cron.first.day)
426
+ current.setUTCHours(cron.first.hour, cron.first.minute)
427
+ adjustDst(current)
428
+ continue
429
+ }
430
+ if (nextMonth > currentMonth) {
431
+ current.setUTCMonth(nextMonth - 1, cron.first.day)
432
+ current.setUTCHours(cron.first.hour, cron.first.minute)
433
+ adjustDst(current)
434
+ continue
435
+ }
348
436
  }
349
437
 
350
438
  return
package/src/Function.ts CHANGED
@@ -517,7 +517,7 @@ export const compose: {
517
517
  * The `absurd` function is a stub for cases where a value of type `never` is encountered in your code,
518
518
  * meaning that it should be impossible for this code to be executed.
519
519
  *
520
- * This function is particularly when it's necessary to specify that certain cases are impossible.
520
+ * This function is particularly useful when it's necessary to specify that certain cases are impossible.
521
521
  *
522
522
  * @since 2.0.0
523
523
  */
@@ -528,6 +528,14 @@ export const unsafeAsync = <A, E = never, R = never>(
528
528
  return onInterrupt(effect, (_) => isEffect(cancelerRef) ? cancelerRef : void_)
529
529
  }
530
530
 
531
+ /* @internal */
532
+ export const asyncInterrupt = <A, E = never, R = never>(
533
+ register: (
534
+ callback: (_: Effect.Effect<A, E, R>) => void
535
+ ) => void | Effect.Effect<void, never, R>,
536
+ blockingOn: FiberId.FiberId = FiberId.none
537
+ ): Effect.Effect<A, E, R> => suspend(() => unsafeAsync(register, blockingOn))
538
+
531
539
  /* @internal */
532
540
  export const async = <A, E = never, R = never>(
533
541
  resume: (
@@ -47,7 +47,7 @@ class Semaphore {
47
47
  }
48
48
 
49
49
  readonly take = (n: number): Effect.Effect<number> =>
50
- core.async<number>((resume) => {
50
+ core.asyncInterrupt<number>((resume) => {
51
51
  if (this.free < n) {
52
52
  const observer = () => {
53
53
  if (this.free < n) {
@@ -153,7 +153,7 @@ class Latch extends Effectable.Class<void> implements Effect.Latch {
153
153
  }
154
154
  return this.unsafeSchedule(fiber)
155
155
  })
156
- await = core.unsafeAsync<void>((resume) => {
156
+ await = core.asyncInterrupt<void>((resume) => {
157
157
  if (this.isOpen) {
158
158
  return resume(core.void)
159
159
  }
@@ -1132,7 +1132,7 @@ export class FiberRuntime<in out A, in out E = never> extends Effectable.Class<A
1132
1132
  }
1133
1133
  }
1134
1134
  })
1135
- return core.async<void>((abortResume) => {
1135
+ return core.unsafeAsync<void>((abortResume) => {
1136
1136
  resume = (_: any) => {
1137
1137
  abortResume(core.void)
1138
1138
  }
@@ -299,7 +299,7 @@ class MailboxImpl<A, E> extends Effectable.Class<readonly [messages: Chunk.Chunk
299
299
  take: Effect<A, E | NoSuchElementException> = core.suspend(() =>
300
300
  this.unsafeTake() ?? core.zipRight(this.awaitTake, this.take)
301
301
  )
302
- await: Effect<void, E> = core.unsafeAsync<void, E>((resume) => {
302
+ await: Effect<void, E> = core.asyncInterrupt<void, E>((resume) => {
303
303
  if (this.state._tag === "Done") {
304
304
  return resume(this.state.exit)
305
305
  }
@@ -337,7 +337,7 @@ class MailboxImpl<A, E> extends Effectable.Class<readonly [messages: Chunk.Chunk
337
337
  }
338
338
 
339
339
  private offerRemainingSingle(message: A) {
340
- return core.unsafeAsync<boolean>((resume) => {
340
+ return core.asyncInterrupt<boolean>((resume) => {
341
341
  if (this.state._tag !== "Open") {
342
342
  return resume(exitFalse)
343
343
  }
@@ -351,7 +351,7 @@ class MailboxImpl<A, E> extends Effectable.Class<readonly [messages: Chunk.Chunk
351
351
  })
352
352
  }
353
353
  private offerRemainingArray(remaining: Array<A>) {
354
- return core.unsafeAsync<Chunk.Chunk<A>>((resume) => {
354
+ return core.asyncInterrupt<Chunk.Chunk<A>>((resume) => {
355
355
  if (this.state._tag !== "Open") {
356
356
  return resume(core.exitSucceed(Chunk.unsafeFromArray(remaining)))
357
357
  }
@@ -394,7 +394,7 @@ class MailboxImpl<A, E> extends Effectable.Class<readonly [messages: Chunk.Chunk
394
394
  }
395
395
  return false
396
396
  }
397
- private awaitTake = core.unsafeAsync<void, E>((resume) => {
397
+ private awaitTake = core.asyncInterrupt<void, E>((resume) => {
398
398
  if (this.state._tag === "Done") {
399
399
  return resume(this.state.exit)
400
400
  }
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.11.3"
1
+ let moduleVersion = "3.11.4"
2
2
 
3
3
  export const getCurrentVersion = () => moduleVersion
4
4