@@ -116,7 +116,7 @@ export function napi_get_typedarray_info (
116116 if ( ! handle . isTypedArray ( ) ) {
117117 return envObject . setLastError ( napi_status . napi_invalid_arg )
118118 }
119- const v : ArrayBufferView = handle . value
119+ let v : ArrayBufferView = handle . value
120120 if ( type ) {
121121 from64 ( 'type' )
122122 let t : napi_typedarray_type
@@ -150,13 +150,13 @@ export function napi_get_typedarray_info (
150150 }
151151 makeSetValue ( 'type' , 0 , 't' , 'i32' )
152152 }
153+ v = emnapiExternalMemory . getOrUpdateMemoryView ( v )
153154 if ( length ) {
154155 from64 ( 'length' )
155156 makeSetValue ( 'length' , 0 , 'v.length' , SIZE_TYPE )
156157 }
157- let buffer : ArrayBufferLike
158+
158159 if ( data || arraybuffer ) {
159- buffer = v . buffer
160160 if ( data ) {
161161 from64 ( 'data' )
162162
@@ -168,7 +168,7 @@ export function napi_get_typedarray_info (
168168 from64 ( 'arraybuffer' )
169169
170170 // eslint-disable-next-line @typescript-eslint/no-unused-vars
171- const ab = envObject . ensureHandleId ( buffer )
171+ const ab = envObject . ensureHandleId ( v . buffer )
172172 makeSetValue ( 'arraybuffer' , 0 , 'ab' , '*' )
173173 }
174174 }
@@ -215,14 +215,13 @@ export function napi_get_dataview_info (
215215 if ( ! handle . isDataView ( ) ) {
216216 return envObject . setLastError ( napi_status . napi_invalid_arg )
217217 }
218- const v = handle . value as DataView < ArrayBufferLike >
218+ const v = emnapiExternalMemory . getOrUpdateMemoryView ( handle . value as DataView < ArrayBufferLike > )
219219 if ( byte_length ) {
220220 from64 ( 'byte_length' )
221221 makeSetValue ( 'byte_length' , 0 , 'v.byteLength' , SIZE_TYPE )
222222 }
223- let buffer : ArrayBufferLike
223+
224224 if ( data || arraybuffer ) {
225- buffer = v . buffer
226225 if ( data ) {
227226 from64 ( 'data' )
228227
@@ -234,7 +233,7 @@ export function napi_get_dataview_info (
234233 from64 ( 'arraybuffer' )
235234
236235 // eslint-disable-next-line @typescript-eslint/no-unused-vars
237- const ab = envObject . ensureHandleId ( buffer )
236+ const ab = envObject . ensureHandleId ( v . buffer )
238237 makeSetValue ( 'arraybuffer' , 0 , 'ab' , '*' )
239238 }
240239 }
0 commit comments