@@ -137,18 +137,28 @@ async function instantiate(module, imports = {}) {
137137 } ,
138138 staticarrayFunction ( a , b ) {
139139 // bindings/esm/staticarrayFunction(~lib/staticarray/StaticArray<i32>, ~lib/staticarray/StaticArray<i32>) => ~lib/staticarray/StaticArray<i32>
140- a = __retain ( __lowerStaticArray ( ( pointer , value ) => { new Int32Array ( memory . buffer ) [ pointer >>> 2 ] = value ; } , 6 , 2 , a ) || __notnull ( ) ) ;
141- b = __lowerStaticArray ( ( pointer , value ) => { new Int32Array ( memory . buffer ) [ pointer >>> 2 ] = value ; } , 6 , 2 , b ) || __notnull ( ) ;
140+ a = __retain ( __lowerStaticArray ( ( pointer , value ) => { new Int32Array ( memory . buffer ) [ pointer >>> 2 ] = value ; } , 6 , 2 , a , Int32Array ) || __notnull ( ) ) ;
141+ b = __lowerStaticArray ( ( pointer , value ) => { new Int32Array ( memory . buffer ) [ pointer >>> 2 ] = value ; } , 6 , 2 , b , Int32Array ) || __notnull ( ) ;
142142 try {
143143 return __liftStaticArray ( pointer => new Int32Array ( memory . buffer ) [ pointer >>> 2 ] , 2 , exports . staticarrayFunction ( a , b ) >>> 0 ) ;
144144 } finally {
145145 __release ( a ) ;
146146 }
147147 } ,
148+ staticarrayU16 ( a ) {
149+ // bindings/esm/staticarrayU16(~lib/staticarray/StaticArray<u16>) => ~lib/staticarray/StaticArray<u16>
150+ a = __lowerStaticArray ( ( pointer , value ) => { new Uint16Array ( memory . buffer ) [ pointer >>> 1 ] = value ; } , 7 , 1 , a , Uint16Array ) || __notnull ( ) ;
151+ return __liftStaticArray ( pointer => new Uint16Array ( memory . buffer ) [ pointer >>> 1 ] , 1 , exports . staticarrayU16 ( a ) >>> 0 ) ;
152+ } ,
153+ staticarrayI64 ( a ) {
154+ // bindings/esm/staticarrayI64(~lib/staticarray/StaticArray<i64>) => ~lib/staticarray/StaticArray<i64>
155+ a = __lowerStaticArray ( ( pointer , value ) => { new BigInt64Array ( memory . buffer ) [ pointer >>> 3 ] = value || 0n ; } , 8 , 3 , a , BigInt64Array ) || __notnull ( ) ;
156+ return __liftStaticArray ( pointer => new BigInt64Array ( memory . buffer ) [ pointer >>> 3 ] , 3 , exports . staticarrayI64 ( a ) >>> 0 ) ;
157+ } ,
148158 arrayFunction ( a , b ) {
149159 // bindings/esm/arrayFunction(~lib/array/Array<i32>, ~lib/array/Array<i32>) => ~lib/array/Array<i32>
150- a = __retain ( __lowerArray ( ( pointer , value ) => { new Int32Array ( memory . buffer ) [ pointer >>> 2 ] = value ; } , 7 , 2 , a ) || __notnull ( ) ) ;
151- b = __lowerArray ( ( pointer , value ) => { new Int32Array ( memory . buffer ) [ pointer >>> 2 ] = value ; } , 7 , 2 , b ) || __notnull ( ) ;
160+ a = __retain ( __lowerArray ( ( pointer , value ) => { new Int32Array ( memory . buffer ) [ pointer >>> 2 ] = value ; } , 9 , 2 , a ) || __notnull ( ) ) ;
161+ b = __lowerArray ( ( pointer , value ) => { new Int32Array ( memory . buffer ) [ pointer >>> 2 ] = value ; } , 9 , 2 , b ) || __notnull ( ) ;
152162 try {
153163 return __liftArray ( pointer => new Int32Array ( memory . buffer ) [ pointer >>> 2 ] , 2 , exports . arrayFunction ( a , b ) >>> 0 ) ;
154164 } finally {
@@ -157,10 +167,10 @@ async function instantiate(module, imports = {}) {
157167 } ,
158168 objectFunction ( a , b ) {
159169 // bindings/esm/objectFunction(bindings/esm/PlainObject, bindings/esm/PlainObject) => bindings/esm/PlainObject
160- a = __retain ( __lowerRecord8 ( a ) || __notnull ( ) ) ;
161- b = __lowerRecord8 ( b ) || __notnull ( ) ;
170+ a = __retain ( __lowerRecord10 ( a ) || __notnull ( ) ) ;
171+ b = __lowerRecord10 ( b ) || __notnull ( ) ;
162172 try {
163- return __liftRecord8 ( exports . objectFunction ( a , b ) >>> 0 ) ;
173+ return __liftRecord10 ( exports . objectFunction ( a , b ) >>> 0 ) ;
164174 } finally {
165175 __release ( a ) ;
166176 }
@@ -180,11 +190,11 @@ async function instantiate(module, imports = {}) {
180190 }
181191 } ,
182192 } , exports ) ;
183- function __lowerRecord8 ( value ) {
193+ function __lowerRecord10 ( value ) {
184194 // bindings/esm/PlainObject
185195 // Hint: Opt-out from lowering as a record by providing an empty constructor
186196 if ( value == null ) return 0 ;
187- const pointer = exports . __pin ( exports . __new ( 68 , 8 ) ) ;
197+ const pointer = exports . __pin ( exports . __new ( 68 , 10 ) ) ;
188198 new Int8Array ( memory . buffer ) [ pointer + 0 >>> 0 ] = value . a ;
189199 new Int16Array ( memory . buffer ) [ pointer + 2 >>> 1 ] = value . b ;
190200 new Int32Array ( memory . buffer ) [ pointer + 4 >>> 2 ] = value . c ;
@@ -199,12 +209,12 @@ async function instantiate(module, imports = {}) {
199209 new Float32Array ( memory . buffer ) [ pointer + 44 >>> 2 ] = value . l ;
200210 new Float64Array ( memory . buffer ) [ pointer + 48 >>> 3 ] = value . m ;
201211 new Uint32Array ( memory . buffer ) [ pointer + 56 >>> 2 ] = __lowerString ( value . n ) ;
202- new Uint32Array ( memory . buffer ) [ pointer + 60 >>> 2 ] = __lowerTypedArray ( Uint8Array , 9 , 0 , value . o ) ;
203- new Uint32Array ( memory . buffer ) [ pointer + 64 >>> 2 ] = __lowerArray ( ( pointer , value ) => { new Uint32Array ( memory . buffer ) [ pointer >>> 2 ] = __lowerString ( value ) || __notnull ( ) ; } , 10 , 2 , value . p ) ;
212+ new Uint32Array ( memory . buffer ) [ pointer + 60 >>> 2 ] = __lowerTypedArray ( Uint8Array , 11 , 0 , value . o ) ;
213+ new Uint32Array ( memory . buffer ) [ pointer + 64 >>> 2 ] = __lowerArray ( ( pointer , value ) => { new Uint32Array ( memory . buffer ) [ pointer >>> 2 ] = __lowerString ( value ) || __notnull ( ) ; } , 12 , 2 , value . p ) ;
204214 exports . __unpin ( pointer ) ;
205215 return pointer ;
206216 }
207- function __liftRecord8 ( pointer ) {
217+ function __liftRecord10 ( pointer ) {
208218 // bindings/esm/PlainObject
209219 // Hint: Opt-out from lifting as a record by providing an empty constructor
210220 if ( ! pointer ) return null ;
@@ -314,12 +324,16 @@ async function instantiate(module, imports = {}) {
314324 for ( let i = 0 ; i < length ; ++ i ) values [ i ] = liftElement ( pointer + ( i << align >>> 0 ) ) ;
315325 return values ;
316326 }
317- function __lowerStaticArray ( lowerElement , id , align , values ) {
327+ function __lowerStaticArray ( lowerElement , id , align , values , typedConstructor ) {
318328 if ( values == null ) return 0 ;
319329 const
320330 length = values . length ,
321331 buffer = exports . __pin ( exports . __new ( length << align , id ) ) >>> 0 ;
322- for ( let i = 0 ; i < length ; i ++ ) lowerElement ( buffer + ( i << align >>> 0 ) , values [ i ] ) ;
332+ if ( typedConstructor ) {
333+ new typedConstructor ( memory . buffer , buffer , length ) . set ( values ) ;
334+ } else {
335+ for ( let i = 0 ; i < length ; i ++ ) lowerElement ( buffer + ( i << align >>> 0 ) , values [ i ] ) ;
336+ }
323337 exports . __unpin ( buffer ) ;
324338 return buffer ;
325339 }
@@ -376,6 +390,8 @@ export const {
376390 stringFunctionOptional,
377391 typedarrayFunction,
378392 staticarrayFunction,
393+ staticarrayU16,
394+ staticarrayI64,
379395 arrayFunction,
380396 objectFunction,
381397 newInternref,
0 commit comments