@@ -73,6 +73,7 @@ import type {
7373} from "./Types.js"
7474import type * as Unify from "./Unify.js"
7575import { isGeneratorFunction , type YieldWrap } from "./Utils.js"
76+ import { canWriteStackTraceLimit } from "./internal/stackTraceLimit.js"
7677
7778/**
7879 * @since 2.0.0
@@ -13509,10 +13510,15 @@ export const Tag: <const Id extends string>(id: Id) => <
1350913510 : [ X ] extends [ PromiseLike < infer A > ] ? Effect < A , Cause . UnknownException , Self >
1351013511 : Effect < X , never , Self >
1351113512 } = ( id ) => ( ) => {
13512- const limit = Error . stackTraceLimit
13513- Error . stackTraceLimit = 2
13514- const creationError = new Error ( )
13515- Error . stackTraceLimit = limit
13513+ let creationError : Error
13514+ if ( ! canWriteStackTraceLimit ) {
13515+ creationError = new Error ( )
13516+ } else {
13517+ const prevLimit = Error . stackTraceLimit
13518+ Error . stackTraceLimit = 2
13519+ creationError = new Error ( )
13520+ Error . stackTraceLimit = prevLimit
13521+ }
1351613522 function TagClass ( ) { }
1351713523 Object . setPrototypeOf ( TagClass , TagProto )
1351813524 TagClass . key = id
@@ -13668,10 +13674,15 @@ export const Service: <Self = never>() => [Self] extends [never] ? MissingSelfGe
1366813674 return function ( ) {
1366913675 const [ id , maker ] = arguments
1367013676 const proxy = "accessors " in maker ? maker [ "accessors "] : false
13671- const limit = Error . stackTraceLimit
13672- Error . stackTraceLimit = 2
13673- const creationError = new Error ( )
13674- Error . stackTraceLimit = limit
13677+ let creationError : Error
13678+ if ( ! canWriteStackTraceLimit ) {
13679+ creationError = new Error ( )
13680+ } else {
13681+ const prevLimit = Error . stackTraceLimit
13682+ Error . stackTraceLimit = 2
13683+ creationError = new Error ( )
13684+ Error . stackTraceLimit = prevLimit
13685+ }
1367513686
1367613687 let patchState : "unchecked " | "plain " | "patched " = "unchecked "
1367713688 const TagClass : any = function ( this : any , service : any ) {
@@ -14628,16 +14639,26 @@ export const fn:
1462814639 name : string ,
1462914640 options ?: Tracer . SpanOptions
1463014641 ) => fn . Gen & fn . NonGen ) = function ( nameOrBody : Function | string , ...pipeables : Array < any > ) {
14631- const limit = Error . stackTraceLimit
14632- Error . stackTraceLimit = 2
14633- const errorDef = new Error ( )
14634- Error . stackTraceLimit = limit
14642+ let errorDef : Error
14643+ if ( ! canWriteStackTraceLimit ) {
14644+ errorDef = new Error ( )
14645+ } else {
14646+ const prevLimit = Error . stackTraceLimit
14647+ Error . stackTraceLimit = 2
14648+ errorDef = new Error ( )
14649+ Error . stackTraceLimit = prevLimit
14650+ }
1463514651 if ( typeof nameOrBody !== "string" ) {
1463614652 return defineLength ( nameOrBody . length , function ( this : any , ...args : Array < any > ) {
14637- const limit = Error . stackTraceLimit
14638- Error . stackTraceLimit = 2
14639- const errorCall = new Error ( )
14640- Error . stackTraceLimit = limit
14653+ let errorCall : Error
14654+ if ( ! canWriteStackTraceLimit ) {
14655+ errorCall = new Error ( )
14656+ } else {
14657+ const prevLimit = Error . stackTraceLimit
14658+ Error . stackTraceLimit = 2
14659+ errorCall = new Error ( )
14660+ Error . stackTraceLimit = prevLimit
14661+ }
1464114662 return fnApply ( {
1464214663 self : this ,
1464314664 body : nameOrBody ,
@@ -14659,10 +14680,15 @@ export const fn:
1465914680 body . length ,
1466014681 ( {
1466114682 [ name ] ( this : any , ...args : Array < any > ) {
14662- const limit = Error . stackTraceLimit
14663- Error . stackTraceLimit = 2
14664- const errorCall = new Error ( )
14665- Error . stackTraceLimit = limit
14683+ let errorCall : Error
14684+ if ( ! canWriteStackTraceLimit ) {
14685+ errorCall = new Error ( )
14686+ } else {
14687+ const prevLimit = Error . stackTraceLimit
14688+ Error . stackTraceLimit = 2
14689+ errorCall = new Error ( )
14690+ Error . stackTraceLimit = prevLimit
14691+ }
1466614692 return fnApply ( {
1466714693 self : this ,
1466814694 body,
0 commit comments