File tree Expand file tree Collapse file tree 3 files changed +14
-7
lines changed
Expand file tree Collapse file tree 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) {
296296export function __addDisposableResource ( env , value , async ) {
297297 if ( value !== null && value !== void 0 ) {
298298 if ( typeof value !== "object" && typeof value !== "function" ) throw new TypeError ( "Object expected." ) ;
299- var dispose ;
299+ var dispose , inner ;
300300 if ( async ) {
301301 if ( ! Symbol . asyncDispose ) throw new TypeError ( "Symbol.asyncDispose is not defined." ) ;
302302 dispose = value [ Symbol . asyncDispose ] ;
303303 }
304304 if ( dispose === void 0 ) {
305305 if ( ! Symbol . dispose ) throw new TypeError ( "Symbol.dispose is not defined." ) ;
306306 dispose = value [ Symbol . dispose ] ;
307+ if ( async ) inner = dispose ;
307308 }
308309 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 ) ; } } ;
309311 env . stack . push ( { value : value , dispose : dispose , async : async } ) ;
310312 }
311313 else if ( async ) {
312314 env . stack . push ( { async : true } ) ;
313315 }
314316 return value ;
317+
315318}
316319
317320var _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) {
296296export function __addDisposableResource ( env , value , async ) {
297297 if ( value !== null && value !== void 0 ) {
298298 if ( typeof value !== "object" && typeof value !== "function" ) throw new TypeError ( "Object expected." ) ;
299- var dispose ;
299+ var dispose , inner ;
300300 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 ] ;
303303 }
304304 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 ;
307308 }
308309 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 ) ; } } ;
309311 env . stack . push ( { value : value , dispose : dispose , async : async } ) ;
310312 }
311313 else if ( async ) {
Original file line number Diff line number Diff line change @@ -344,16 +344,18 @@ var __disposeResources;
344344 __addDisposableResource = function ( env , value , async ) {
345345 if ( value !== null && value !== void 0 ) {
346346 if ( typeof value !== "object" && typeof value !== "function" ) throw new TypeError ( "Object expected." ) ;
347- var dispose ;
347+ var dispose , inner ;
348348 if ( async ) {
349349 if ( ! Symbol . asyncDispose ) throw new TypeError ( "Symbol.asyncDispose is not defined." ) ;
350350 dispose = value [ Symbol . asyncDispose ] ;
351351 }
352352 if ( dispose === void 0 ) {
353353 if ( ! Symbol . dispose ) throw new TypeError ( "Symbol.dispose is not defined." ) ;
354354 dispose = value [ Symbol . dispose ] ;
355+ if ( async ) inner = dispose ;
355356 }
356357 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 ) ; } } ;
357359 env . stack . push ( { value : value , dispose : dispose , async : async } ) ;
358360 }
359361 else if ( async ) {
You can’t perform that action at this time.
0 commit comments