@@ -346,6 +346,9 @@ public class JavaScriptEnvironment: ComponentBase {
346346 registerObjectGroup ( . jsDisposableStacks)
347347 registerObjectGroup ( . jsDisposableStackPrototype)
348348 registerObjectGroup ( . jsDisposableStackConstructor)
349+ registerObjectGroup ( . jsAsyncDisposableStacks)
350+ registerObjectGroup ( . jsAsyncDisposableStackPrototype)
351+ registerObjectGroup ( . jsAsyncDisposableStackConstructor)
349352 registerObjectGroup ( . jsArrayBuffers)
350353 registerObjectGroup ( . jsSharedArrayBuffers)
351354 for variant in [ " Uint8Array " , " Int8Array " , " Uint16Array " , " Int16Array " , " Uint32Array " , " Int32Array " , " Float16Array " , " Float32Array " , " Float64Array " , " Uint8ClampedArray " , " BigInt64Array " , " BigUint64Array " ] {
@@ -600,6 +603,7 @@ public class JavaScriptEnvironment: ComponentBase {
600603 registerBuiltin ( " WeakRef " , ofType: . jsWeakRefConstructor)
601604 registerBuiltin ( " FinalizationRegistry " , ofType: . jsFinalizationRegistryConstructor)
602605 registerBuiltin ( " DisposableStack " , ofType: . jsDisposableStackConstructor)
606+ registerBuiltin ( " AsyncDisposableStack " , ofType: . jsAsyncDisposableStackConstructor)
603607 registerBuiltin ( " Math " , ofType: . jsMathObject)
604608 registerBuiltin ( " JSON " , ofType: . jsJSONObject)
605609 registerBuiltin ( " Reflect " , ofType: . jsReflectObject)
@@ -1070,6 +1074,9 @@ public extension ILType {
10701074 /// Type of a JavaScript DisposableStack object.
10711075 static let jsDisposableStack = ILType . object ( ofGroup: " DisposableStack " , withProperties: [ " disposed " ] , withMethods: [ " dispose " , " use " , " adopt " , " defer " , " move " ] )
10721076
1077+ /// Type of a JavaScript AsyncDisposableStack object.
1078+ static let jsAsyncDisposableStack = ILType . object ( ofGroup: " AsyncDisposableStack " , withProperties: [ " disposed " ] , withMethods: [ " disposeAsync " , " use " , " adopt " , " defer " , " move " ] )
1079+
10731080 /// Type of a JavaScript ArrayBuffer object.
10741081 static let jsArrayBuffer = ILType . object ( ofGroup: " ArrayBuffer " , withProperties: [ " byteLength " , " maxByteLength " , " resizable " ] , withMethods: [ " resize " , " slice " , " transfer " , " transferToFixedLength " , " transferToImmutable " ] )
10751082
@@ -1177,6 +1184,9 @@ public extension ILType {
11771184 /// Type of the JavaScript DisposableStack constructor builtin.
11781185 static let jsDisposableStackConstructor = ILType . constructor ( [ ] => . jsDisposableStack) + . object( ofGroup: " DisposableStackConstructor " , withProperties: [ " prototype " ] )
11791186
1187+ /// Type of the JavaScript AsyncDisposableStack constructor builtin.
1188+ static let jsAsyncDisposableStackConstructor = ILType . constructor ( [ ] => . jsAsyncDisposableStack) + . object( ofGroup: " AsyncDisposableStackConstructor " , withProperties: [ " prototype " ] )
1189+
11801190 /// Type of the JavaScript Math constructor builtin.
11811191 static let jsMathObject = ILType . object ( ofGroup: " Math " , withProperties: [ " E " , " PI " ] , withMethods: [ " abs " , " acos " , " acosh " , " asin " , " asinh " , " atan " , " atanh " , " atan2 " , " ceil " , " cbrt " , " expm1 " , " clz32 " , " cos " , " cosh " , " exp " , " floor " , " fround " , " f16round " , " hypot " , " imul " , " log " , " log1p " , " log2 " , " log10 " , " max " , " min " , " pow " , " random " , " round " , " sign " , " sin " , " sinh " , " sqrt " , " sumPrecise " , " tan " , " tanh " , " trunc " ] )
11821192
@@ -1705,6 +1715,35 @@ public extension ObjectGroup {
17051715 methods: [ : ]
17061716 )
17071717
1718+ /// ObjectGroup modelling JavaScript AsyncDisposableStack objects
1719+ static let jsAsyncDisposableStacks = ObjectGroup (
1720+ name: " AsyncDisposableStack " ,
1721+ instanceType: . jsAsyncDisposableStack,
1722+ properties: [
1723+ " disposed " : . boolean
1724+ ] ,
1725+ methods: [
1726+ " disposeAsync " : [ ] => . jsPromise,
1727+ " use " : [ . jsAnything] => . jsAnything,
1728+ " adopt " : [ . jsAnything, . function( ) ] => . jsAnything,
1729+ " defer " : [ . function( ) ] => . undefined,
1730+ " move " : [ ] => . jsAsyncDisposableStack,
1731+ ]
1732+ )
1733+
1734+ static let jsAsyncDisposableStackPrototype = createPrototypeObjectGroup ( jsAsyncDisposableStacks,
1735+ constructor: . jsAsyncDisposableStackConstructor)
1736+
1737+ static let jsAsyncDisposableStackConstructor = ObjectGroup (
1738+ name: " AsyncDisposableStackConstructor " ,
1739+ constructorPath: " AsyncDisposableStack " ,
1740+ instanceType: . jsAsyncDisposableStackConstructor,
1741+ properties: [
1742+ " prototype " : jsAsyncDisposableStackPrototype. instanceType
1743+ ] ,
1744+ methods: [ : ]
1745+ )
1746+
17081747 /// ObjectGroup modelling JavaScript ArrayBuffer objects
17091748 static let jsArrayBuffers = ObjectGroup (
17101749 name: " ArrayBuffer " ,
0 commit comments