File tree 3 files changed +14
-7
lines changed
3 files changed +14
-7
lines changed Original file line number Diff line number Diff line change @@ -296,22 +296,25 @@ export function __classPrivateFieldIn(state, receiver) {
296
296
export function __addDisposableResource ( env , value , async ) {
297
297
if ( value !== null && value !== void 0 ) {
298
298
if ( typeof value !== "object" && typeof value !== "function" ) throw new TypeError ( "Object expected." ) ;
299
- var dispose ;
299
+ var dispose , inner ;
300
300
if ( async ) {
301
301
if ( ! Symbol . asyncDispose ) throw new TypeError ( "Symbol.asyncDispose is not defined." ) ;
302
302
dispose = value [ Symbol . asyncDispose ] ;
303
303
}
304
304
if ( dispose === void 0 ) {
305
305
if ( ! Symbol . dispose ) throw new TypeError ( "Symbol.dispose is not defined." ) ;
306
306
dispose = value [ Symbol . dispose ] ;
307
+ if ( async ) inner = dispose ;
307
308
}
308
309
if ( typeof dispose !== "function" ) throw new TypeError ( "Object not disposable." ) ;
310
+ if ( inner ) dispose = function ( ) { try { inner . call ( this ) ; } catch ( e ) { return Promise . reject ( e ) ; } } ;
309
311
env . stack . push ( { value : value , dispose : dispose , async : async } ) ;
310
312
}
311
313
else if ( async ) {
312
314
env . stack . push ( { async : true } ) ;
313
315
}
314
316
return value ;
317
+
315
318
}
316
319
317
320
var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function ( error , suppressed , message ) {
Original file line number Diff line number Diff line change @@ -296,16 +296,18 @@ export function __classPrivateFieldIn(state, receiver) {
296
296
export function __addDisposableResource ( env , value , async ) {
297
297
if ( value !== null && value !== void 0 ) {
298
298
if ( typeof value !== "object" && typeof value !== "function" ) throw new TypeError ( "Object expected." ) ;
299
- var dispose ;
299
+ var dispose , inner ;
300
300
if ( async ) {
301
- if ( ! Symbol . asyncDispose ) throw new TypeError ( "Symbol.asyncDispose is not defined." ) ;
302
- dispose = value [ Symbol . asyncDispose ] ;
301
+ if ( ! Symbol . asyncDispose ) throw new TypeError ( "Symbol.asyncDispose is not defined." ) ;
302
+ dispose = value [ Symbol . asyncDispose ] ;
303
303
}
304
304
if ( dispose === void 0 ) {
305
- if ( ! Symbol . dispose ) throw new TypeError ( "Symbol.dispose is not defined." ) ;
306
- dispose = value [ Symbol . dispose ] ;
305
+ if ( ! Symbol . dispose ) throw new TypeError ( "Symbol.dispose is not defined." ) ;
306
+ dispose = value [ Symbol . dispose ] ;
307
+ if ( async ) inner = dispose ;
307
308
}
308
309
if ( typeof dispose !== "function" ) throw new TypeError ( "Object not disposable." ) ;
310
+ if ( inner ) dispose = function ( ) { try { inner . call ( this ) ; } catch ( e ) { return Promise . reject ( e ) ; } } ;
309
311
env . stack . push ( { value : value , dispose : dispose , async : async } ) ;
310
312
}
311
313
else if ( async ) {
Original file line number Diff line number Diff line change @@ -344,16 +344,18 @@ var __disposeResources;
344
344
__addDisposableResource = function ( env , value , async ) {
345
345
if ( value !== null && value !== void 0 ) {
346
346
if ( typeof value !== "object" && typeof value !== "function" ) throw new TypeError ( "Object expected." ) ;
347
- var dispose ;
347
+ var dispose , inner ;
348
348
if ( async ) {
349
349
if ( ! Symbol . asyncDispose ) throw new TypeError ( "Symbol.asyncDispose is not defined." ) ;
350
350
dispose = value [ Symbol . asyncDispose ] ;
351
351
}
352
352
if ( dispose === void 0 ) {
353
353
if ( ! Symbol . dispose ) throw new TypeError ( "Symbol.dispose is not defined." ) ;
354
354
dispose = value [ Symbol . dispose ] ;
355
+ if ( async ) inner = dispose ;
355
356
}
356
357
if ( typeof dispose !== "function" ) throw new TypeError ( "Object not disposable." ) ;
358
+ if ( inner ) dispose = function ( ) { try { inner . call ( this ) ; } catch ( e ) { return Promise . reject ( e ) ; } } ;
357
359
env . stack . push ( { value : value , dispose : dispose , async : async } ) ;
358
360
}
359
361
else if ( async ) {
You can’t perform that action at this time.
0 commit comments