effect 3.12.4 → 3.12.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.
- package/dist/cjs/Arbitrary.js +72 -14
- package/dist/cjs/Arbitrary.js.map +1 -1
- package/dist/cjs/Inspectable.js +0 -4
- package/dist/cjs/Inspectable.js.map +1 -1
- package/dist/cjs/ParseResult.js +2 -2
- package/dist/cjs/ParseResult.js.map +1 -1
- package/dist/cjs/Schema.js +154 -93
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/internal/dateTime.js +12 -3
- package/dist/cjs/internal/dateTime.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +15 -2
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Arbitrary.d.ts.map +1 -1
- package/dist/dts/Inspectable.d.ts.map +1 -1
- package/dist/dts/ParseResult.d.ts +11 -0
- package/dist/dts/ParseResult.d.ts.map +1 -1
- package/dist/dts/Schema.d.ts +34 -15
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/esm/Arbitrary.js +72 -14
- package/dist/esm/Arbitrary.js.map +1 -1
- package/dist/esm/Inspectable.js +0 -3
- package/dist/esm/Inspectable.js.map +1 -1
- package/dist/esm/ParseResult.js +2 -2
- package/dist/esm/ParseResult.js.map +1 -1
- package/dist/esm/Schema.js +149 -86
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/internal/dateTime.js +11 -2
- package/dist/esm/internal/dateTime.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +15 -2
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Arbitrary.ts +84 -14
- package/src/Inspectable.ts +0 -1
- package/src/ParseResult.ts +15 -2
- package/src/Schema.ts +191 -93
- package/src/internal/dateTime.ts +12 -2
- package/src/internal/effect/circular.ts +19 -17
- package/src/internal/fiberRuntime.ts +2 -1
- package/src/internal/version.ts +1 -1
|
@@ -27,7 +27,6 @@ import type * as Types from "../../Types.js"
|
|
|
27
27
|
import * as internalCause from "../cause.js"
|
|
28
28
|
import * as effect from "../core-effect.js"
|
|
29
29
|
import * as core from "../core.js"
|
|
30
|
-
import * as executionStrategy from "../executionStrategy.js"
|
|
31
30
|
import * as internalFiber from "../fiber.js"
|
|
32
31
|
import * as fiberRuntime from "../fiberRuntime.js"
|
|
33
32
|
import { globalScope } from "../fiberScope.js"
|
|
@@ -362,23 +361,26 @@ export const forkIn = dual<
|
|
|
362
361
|
>(
|
|
363
362
|
2,
|
|
364
363
|
(self, scope) =>
|
|
365
|
-
core.
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
core.
|
|
374
|
-
Equal.equals(fiberId, fiber.id()) ?
|
|
375
|
-
core.void :
|
|
376
|
-
core.asVoid(core.interruptFiber(fiber))
|
|
377
|
-
)
|
|
378
|
-
)
|
|
364
|
+
core.withFiberRuntime((parent, parentStatus) => {
|
|
365
|
+
const scopeImpl = scope as fiberRuntime.ScopeImpl
|
|
366
|
+
const fiber = fiberRuntime.unsafeFork(self, parent, parentStatus.runtimeFlags, globalScope)
|
|
367
|
+
if (scopeImpl.state._tag === "Open") {
|
|
368
|
+
const finalizer = () =>
|
|
369
|
+
core.fiberIdWith((fiberId) =>
|
|
370
|
+
Equal.equals(fiberId, fiber.id()) ?
|
|
371
|
+
core.void :
|
|
372
|
+
core.asVoid(core.interruptFiber(fiber))
|
|
379
373
|
)
|
|
380
|
-
)
|
|
381
|
-
|
|
374
|
+
scopeImpl.state.finalizers.add(finalizer)
|
|
375
|
+
fiber.addObserver(() => {
|
|
376
|
+
if (scopeImpl.state._tag === "Closed") return
|
|
377
|
+
scopeImpl.state.finalizers.delete(finalizer)
|
|
378
|
+
})
|
|
379
|
+
} else {
|
|
380
|
+
fiber.unsafeInterruptAsFork(parent.id())
|
|
381
|
+
}
|
|
382
|
+
return core.succeed(fiber)
|
|
383
|
+
})
|
|
382
384
|
)
|
|
383
385
|
|
|
384
386
|
/** @internal */
|
|
@@ -3207,7 +3207,8 @@ export const scopeTag = Context.GenericTag<Scope.Scope>("effect/Scope")
|
|
|
3207
3207
|
/* @internal */
|
|
3208
3208
|
export const scope: Effect.Effect<Scope.Scope, never, Scope.Scope> = scopeTag
|
|
3209
3209
|
|
|
3210
|
-
|
|
3210
|
+
/** @internal */
|
|
3211
|
+
export interface ScopeImpl extends Scope.CloseableScope {
|
|
3211
3212
|
state: {
|
|
3212
3213
|
readonly _tag: "Open"
|
|
3213
3214
|
readonly finalizers: Set<Scope.Scope.Finalizer>
|
package/src/internal/version.ts
CHANGED