effect 3.1.6 → 3.2.0
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/Array.js +139 -2
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/Cause.js +8 -1
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/Chunk.js +18 -1
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Data.js +11 -8
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/Effect.js +20 -3
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Stream.js +19 -1
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/Tracer.js.map +1 -1
- package/dist/cjs/internal/cause.js +55 -48
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/channel.js +11 -1
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +51 -9
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core.js +8 -4
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +27 -14
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/layer/circular.js +4 -1
- package/dist/cjs/internal/layer/circular.js.map +1 -1
- package/dist/cjs/internal/layer.js +11 -1
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/runtime.js +7 -4
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/stream.js +27 -9
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/tracer.js +31 -1
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Array.d.ts +199 -0
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +15 -0
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +20 -0
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Data.d.ts +46 -13
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +36 -0
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +23 -1
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/Tracer.d.ts +1 -0
- package/dist/dts/Tracer.d.ts.map +1 -1
- package/dist/dts/internal/core-effect.d.ts +7 -1
- package/dist/dts/internal/core-effect.d.ts.map +1 -1
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Array.js +182 -0
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/Cause.js +7 -0
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Chunk.js +16 -0
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Data.js +11 -8
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/Effect.js +17 -0
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Stream.js +18 -0
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/Tracer.js.map +1 -1
- package/dist/esm/internal/cause.js +54 -47
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/channel.js +10 -1
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/core-effect.js +47 -7
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +7 -3
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +26 -14
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/layer/circular.js +4 -1
- package/dist/esm/internal/layer/circular.js.map +1 -1
- package/dist/esm/internal/layer.js +10 -1
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/runtime.js +7 -4
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/stream.js +23 -7
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/tracer.js +29 -0
- package/dist/esm/internal/tracer.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Array.ts +214 -0
- package/src/Cause.ts +17 -0
- package/src/Chunk.ts +30 -0
- package/src/Data.ts +121 -48
- package/src/Effect.ts +40 -0
- package/src/Stream.ts +31 -1
- package/src/Tracer.ts +1 -0
- package/src/internal/cause.ts +70 -52
- package/src/internal/channel.ts +32 -14
- package/src/internal/core-effect.ts +74 -25
- package/src/internal/core.ts +8 -3
- package/src/internal/fiberRuntime.ts +22 -11
- package/src/internal/layer/circular.ts +4 -2
- package/src/internal/layer.ts +37 -14
- package/src/internal/runtime.ts +9 -4
- package/src/internal/stream.ts +37 -13
- package/src/internal/tracer.ts +21 -0
- package/src/internal/version.ts +1 -1
package/src/internal/stream.ts
CHANGED
|
@@ -50,6 +50,7 @@ import * as SinkEndReason from "./stream/sinkEndReason.js"
|
|
|
50
50
|
import * as ZipAllState from "./stream/zipAllState.js"
|
|
51
51
|
import * as ZipChunksState from "./stream/zipChunksState.js"
|
|
52
52
|
import * as InternalTake from "./take.js"
|
|
53
|
+
import * as InternalTracer from "./tracer.js"
|
|
53
54
|
|
|
54
55
|
/** @internal */
|
|
55
56
|
const StreamSymbolKey = "effect/Stream"
|
|
@@ -6541,16 +6542,30 @@ export const toQueueOfElements = dual<
|
|
|
6541
6542
|
))
|
|
6542
6543
|
|
|
6543
6544
|
/** @internal */
|
|
6544
|
-
export const toReadableStream = <A, E>(
|
|
6545
|
-
|
|
6545
|
+
export const toReadableStream = <A, E>(self: Stream.Stream<A, E>) =>
|
|
6546
|
+
toReadableStreamRuntime(self, Runtime.defaultRuntime)
|
|
6547
|
+
|
|
6548
|
+
/** @internal */
|
|
6549
|
+
export const toReadableStreamEffect = <A, E, R>(self: Stream.Stream<A, E, R>) =>
|
|
6550
|
+
Effect.map(Effect.runtime<R>(), (runtime) => toReadableStreamRuntime(self, runtime))
|
|
6551
|
+
|
|
6552
|
+
/** @internal */
|
|
6553
|
+
export const toReadableStreamRuntime = dual<
|
|
6554
|
+
<XR>(runtime: Runtime.Runtime<XR>) => <A, E, R extends XR>(self: Stream.Stream<A, E, R>) => ReadableStream<A>,
|
|
6555
|
+
<A, E, XR, R extends XR>(self: Stream.Stream<A, E, R>, runtime: Runtime.Runtime<XR>) => ReadableStream<A>
|
|
6556
|
+
>(2, <A, E, XR, R extends XR>(self: Stream.Stream<A, E, R>, runtime: Runtime.Runtime<XR>): ReadableStream<A> => {
|
|
6557
|
+
const runSync = Runtime.runSync(runtime)
|
|
6558
|
+
const runPromise = Runtime.runPromise(runtime)
|
|
6559
|
+
|
|
6560
|
+
let pull: Effect.Effect<void, never, R>
|
|
6546
6561
|
let scope: Scope.CloseableScope
|
|
6547
6562
|
return new ReadableStream<A>({
|
|
6548
6563
|
start(controller) {
|
|
6549
|
-
scope =
|
|
6564
|
+
scope = runSync(Scope.make())
|
|
6550
6565
|
pull = pipe(
|
|
6551
|
-
toPull(
|
|
6552
|
-
Scope.
|
|
6553
|
-
|
|
6566
|
+
toPull(self),
|
|
6567
|
+
Scope.extend(scope),
|
|
6568
|
+
runSync,
|
|
6554
6569
|
Effect.tap((chunk) =>
|
|
6555
6570
|
Effect.sync(() => {
|
|
6556
6571
|
Chunk.map(chunk, (a) => {
|
|
@@ -6573,13 +6588,13 @@ export const toReadableStream = <A, E>(source: Stream.Stream<A, E>) => {
|
|
|
6573
6588
|
)
|
|
6574
6589
|
},
|
|
6575
6590
|
pull() {
|
|
6576
|
-
return
|
|
6591
|
+
return runPromise(pull)
|
|
6577
6592
|
},
|
|
6578
6593
|
cancel() {
|
|
6579
|
-
return
|
|
6594
|
+
return runPromise(Scope.close(scope, Exit.void))
|
|
6580
6595
|
}
|
|
6581
6596
|
})
|
|
6582
|
-
}
|
|
6597
|
+
})
|
|
6583
6598
|
|
|
6584
6599
|
/** @internal */
|
|
6585
6600
|
export const transduce = dual<
|
|
@@ -6801,17 +6816,26 @@ export const whenEffect = dual<
|
|
|
6801
6816
|
)
|
|
6802
6817
|
|
|
6803
6818
|
/** @internal */
|
|
6804
|
-
export const withSpan
|
|
6819
|
+
export const withSpan: {
|
|
6805
6820
|
(
|
|
6806
6821
|
name: string,
|
|
6807
6822
|
options?: Tracer.SpanOptions
|
|
6808
|
-
)
|
|
6823
|
+
): <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, Exclude<R, Tracer.ParentSpan>>
|
|
6809
6824
|
<A, E, R>(
|
|
6810
6825
|
self: Stream.Stream<A, E, R>,
|
|
6811
6826
|
name: string,
|
|
6812
6827
|
options?: Tracer.SpanOptions
|
|
6813
|
-
)
|
|
6814
|
-
|
|
6828
|
+
): Stream.Stream<A, E, Exclude<R, Tracer.ParentSpan>>
|
|
6829
|
+
} = function() {
|
|
6830
|
+
const dataFirst = typeof arguments[0] !== "string"
|
|
6831
|
+
const name = dataFirst ? arguments[1] : arguments[0]
|
|
6832
|
+
const options = InternalTracer.addSpanStackTrace(dataFirst ? arguments[2] : arguments[1])
|
|
6833
|
+
if (dataFirst) {
|
|
6834
|
+
const self = arguments[0]
|
|
6835
|
+
return new StreamImpl(channel.withSpan(toChannel(self), name, options))
|
|
6836
|
+
}
|
|
6837
|
+
return (self: Stream.Stream<any, any, any>) => new StreamImpl(channel.withSpan(toChannel(self), name, options))
|
|
6838
|
+
} as any
|
|
6815
6839
|
|
|
6816
6840
|
/** @internal */
|
|
6817
6841
|
export const zip = dual<
|
package/src/internal/tracer.ts
CHANGED
|
@@ -106,3 +106,24 @@ export const externalSpan = (options: {
|
|
|
106
106
|
sampled: options.sampled ?? true,
|
|
107
107
|
context: options.context ?? Context.empty()
|
|
108
108
|
})
|
|
109
|
+
|
|
110
|
+
/** @internal */
|
|
111
|
+
export const addSpanStackTrace = (options: Tracer.SpanOptions | undefined): Tracer.SpanOptions => {
|
|
112
|
+
if (options?.captureStackTrace === false) {
|
|
113
|
+
return options
|
|
114
|
+
} else if (options?.captureStackTrace !== undefined && typeof options.captureStackTrace !== "boolean") {
|
|
115
|
+
return options
|
|
116
|
+
}
|
|
117
|
+
const limit = Error.stackTraceLimit
|
|
118
|
+
Error.stackTraceLimit = 3
|
|
119
|
+
const traceError = new Error()
|
|
120
|
+
Error.stackTraceLimit = limit
|
|
121
|
+
if (traceError.stack === undefined) {
|
|
122
|
+
return { ...options, captureStackTrace: false }
|
|
123
|
+
}
|
|
124
|
+
const stack = traceError.stack.split("\n")
|
|
125
|
+
if (!stack[3]) {
|
|
126
|
+
return { ...options, captureStackTrace: false }
|
|
127
|
+
}
|
|
128
|
+
return { ...options, captureStackTrace: stack[3].trim() }
|
|
129
|
+
}
|
package/src/internal/version.ts
CHANGED