effect 3.1.6 → 3.2.1
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/Config.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/config.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/Config.d.ts +4 -4
- package/dist/dts/Config.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/Config.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/config.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/Config.ts +4 -3
- 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/config.ts +1 -1
- 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/runtime.ts
CHANGED
|
@@ -173,12 +173,16 @@ class FiberFailureImpl extends Error implements Runtime.FiberFailure {
|
|
|
173
173
|
const prettyErrors = InternalCause.prettyErrors(cause)
|
|
174
174
|
if (prettyErrors.length > 0) {
|
|
175
175
|
const head = prettyErrors[0]
|
|
176
|
-
this.name = head.
|
|
177
|
-
this.message = head.message
|
|
178
|
-
this.stack =
|
|
176
|
+
this.name = head.name
|
|
177
|
+
this.message = head.message
|
|
178
|
+
this.stack = head.stack!
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
this.name = `(FiberFailure) ${this.name}`
|
|
182
|
+
|
|
183
|
+
if (this.message === undefined || this.message.length === 0) {
|
|
184
|
+
this.message = "An error has occurred"
|
|
185
|
+
}
|
|
182
186
|
}
|
|
183
187
|
|
|
184
188
|
toJSON(): unknown {
|
|
@@ -187,8 +191,9 @@ class FiberFailureImpl extends Error implements Runtime.FiberFailure {
|
|
|
187
191
|
cause: this[FiberFailureCauseId].toJSON()
|
|
188
192
|
}
|
|
189
193
|
}
|
|
194
|
+
|
|
190
195
|
toString(): string {
|
|
191
|
-
return "(FiberFailure) " +
|
|
196
|
+
return "(FiberFailure) " + (this.stack ?? this.message)
|
|
192
197
|
}
|
|
193
198
|
[Inspectable.NodeInspectSymbol](): unknown {
|
|
194
199
|
return this.toString()
|
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