effect 3.2.0 → 3.2.2
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/Config.js.map +1 -1
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Tracer.js.map +1 -1
- package/dist/cjs/Utils.js +20 -1
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/internal/cause.js +13 -6
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/config.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +21 -15
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core.js +13 -16
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +11 -10
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/stm/core.js +12 -11
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/tracer.js +13 -14
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Config.d.ts +4 -4
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +24 -1
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Tracer.d.ts +2 -1
- package/dist/dts/Tracer.d.ts.map +1 -1
- package/dist/dts/Utils.d.ts +12 -0
- package/dist/dts/Utils.d.ts.map +1 -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/fiberRuntime.d.ts.map +1 -1
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Tracer.js.map +1 -1
- package/dist/esm/Utils.js +19 -0
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/internal/cause.js +12 -5
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/config.js.map +1 -1
- package/dist/esm/internal/core-effect.js +20 -14
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +8 -11
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +11 -10
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/stm/core.js +10 -9
- package/dist/esm/internal/stm/core.js.map +1 -1
- package/dist/esm/internal/tracer.js +13 -14
- package/dist/esm/internal/tracer.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Config.ts +4 -3
- package/src/Effect.ts +29 -1
- package/src/Tracer.ts +2 -1
- package/src/Utils.ts +20 -0
- package/src/internal/cause.ts +17 -7
- package/src/internal/config.ts +1 -1
- package/src/internal/core-effect.ts +23 -15
- package/src/internal/core.ts +10 -14
- package/src/internal/fiberRuntime.ts +15 -12
- package/src/internal/stm/core.ts +16 -9
- package/src/internal/tracer.ts +15 -7
- package/src/internal/version.ts +1 -1
package/src/internal/stm/core.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { effect_internal_function } from "effect/Utils"
|
|
1
2
|
import * as Cause from "../../Cause.js"
|
|
2
3
|
import * as Context from "../../Context.js"
|
|
3
4
|
import * as Effect from "../../Effect.js"
|
|
@@ -504,15 +505,19 @@ export class STMDriver<in out R, out E, out A> {
|
|
|
504
505
|
case "Commit": {
|
|
505
506
|
switch (current.effect_instruction_i0) {
|
|
506
507
|
case OpCodes.OP_DIE: {
|
|
507
|
-
exit = TExit.die(current.effect_instruction_i1())
|
|
508
|
+
exit = TExit.die(effect_internal_function(() => current.effect_instruction_i1()))
|
|
508
509
|
break
|
|
509
510
|
}
|
|
510
511
|
case OpCodes.OP_FAIL: {
|
|
511
512
|
const cont = this.nextFailure()
|
|
512
513
|
if (cont === undefined) {
|
|
513
|
-
exit = TExit.fail(current.effect_instruction_i1())
|
|
514
|
+
exit = TExit.fail(effect_internal_function(() => current.effect_instruction_i1()))
|
|
514
515
|
} else {
|
|
515
|
-
curr =
|
|
516
|
+
curr = effect_internal_function(() =>
|
|
517
|
+
cont.effect_instruction_i2(
|
|
518
|
+
effect_internal_function(() => current.effect_instruction_i1())
|
|
519
|
+
) as Primitive
|
|
520
|
+
)
|
|
516
521
|
}
|
|
517
522
|
break
|
|
518
523
|
}
|
|
@@ -521,7 +526,7 @@ export class STMDriver<in out R, out E, out A> {
|
|
|
521
526
|
if (cont === undefined) {
|
|
522
527
|
exit = TExit.retry
|
|
523
528
|
} else {
|
|
524
|
-
curr = cont.effect_instruction_i2() as Primitive
|
|
529
|
+
curr = effect_internal_function(() => cont.effect_instruction_i2() as Primitive)
|
|
525
530
|
}
|
|
526
531
|
break
|
|
527
532
|
}
|
|
@@ -530,7 +535,9 @@ export class STMDriver<in out R, out E, out A> {
|
|
|
530
535
|
break
|
|
531
536
|
}
|
|
532
537
|
case OpCodes.OP_WITH_STM_RUNTIME: {
|
|
533
|
-
curr =
|
|
538
|
+
curr = effect_internal_function(() =>
|
|
539
|
+
current.effect_instruction_i1(this as STMDriver<unknown, unknown, unknown>) as Primitive
|
|
540
|
+
)
|
|
534
541
|
break
|
|
535
542
|
}
|
|
536
543
|
case OpCodes.OP_ON_SUCCESS:
|
|
@@ -542,7 +549,7 @@ export class STMDriver<in out R, out E, out A> {
|
|
|
542
549
|
}
|
|
543
550
|
case OpCodes.OP_PROVIDE: {
|
|
544
551
|
const env = this.env
|
|
545
|
-
this.env = current.effect_instruction_i2(env)
|
|
552
|
+
this.env = effect_internal_function(() => current.effect_instruction_i2(env))
|
|
546
553
|
curr = pipe(
|
|
547
554
|
current.effect_instruction_i1,
|
|
548
555
|
ensuring(sync(() => (this.env = env)))
|
|
@@ -555,17 +562,17 @@ export class STMDriver<in out R, out E, out A> {
|
|
|
555
562
|
if (cont === undefined) {
|
|
556
563
|
exit = TExit.succeed(value)
|
|
557
564
|
} else {
|
|
558
|
-
curr = cont.effect_instruction_i2(value) as Primitive
|
|
565
|
+
curr = effect_internal_function(() => cont.effect_instruction_i2(value) as Primitive)
|
|
559
566
|
}
|
|
560
567
|
break
|
|
561
568
|
}
|
|
562
569
|
case OpCodes.OP_SYNC: {
|
|
563
|
-
const value = current.effect_instruction_i1()
|
|
570
|
+
const value = effect_internal_function(() => current.effect_instruction_i1())
|
|
564
571
|
const cont = this.nextSuccess()
|
|
565
572
|
if (cont === undefined) {
|
|
566
573
|
exit = TExit.succeed(value)
|
|
567
574
|
} else {
|
|
568
|
-
curr = cont.effect_instruction_i2(value) as Primitive
|
|
575
|
+
curr = effect_internal_function(() => cont.effect_instruction_i2(value) as Primitive)
|
|
569
576
|
}
|
|
570
577
|
break
|
|
571
578
|
}
|
package/src/internal/tracer.ts
CHANGED
|
@@ -118,12 +118,20 @@ export const addSpanStackTrace = (options: Tracer.SpanOptions | undefined): Trac
|
|
|
118
118
|
Error.stackTraceLimit = 3
|
|
119
119
|
const traceError = new Error()
|
|
120
120
|
Error.stackTraceLimit = limit
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
121
|
+
let cache: false | string = false
|
|
122
|
+
return {
|
|
123
|
+
...options,
|
|
124
|
+
captureStackTrace: () => {
|
|
125
|
+
if (cache !== false) {
|
|
126
|
+
return cache
|
|
127
|
+
}
|
|
128
|
+
if (traceError.stack !== undefined) {
|
|
129
|
+
const stack = traceError.stack.split("\n")
|
|
130
|
+
if (stack[3] !== undefined) {
|
|
131
|
+
cache = stack[3].trim()
|
|
132
|
+
return cache
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
127
136
|
}
|
|
128
|
-
return { ...options, captureStackTrace: stack[3].trim() }
|
|
129
137
|
}
|
package/src/internal/version.ts
CHANGED