@@ -42,13 +42,29 @@ function putString(asbindInstance, value, typeName) {
42
42
return asbindInstance . exports . __newString ( value ) ;
43
43
}
44
44
45
+ function getArrayBuffer ( asbindInstance , value , typeName ) {
46
+ return asbindInstance . exports . __getArrayBuffer ( value ) ;
47
+ }
48
+
49
+ function putArrayBuffer ( asbindInstance , value , typeName ) {
50
+ const ptr = asbindInstance . exports . __new (
51
+ value . byteLength ,
52
+ getTypeId ( asbindInstance , typeName )
53
+ ) ;
54
+ new Uint8Array (
55
+ asbindInstance . exports . memory . buffer ,
56
+ ptr ,
57
+ value . byteLength
58
+ ) . set ( new Uint8Array ( value ) ) ;
59
+ return ptr ;
60
+ }
61
+
45
62
function getArrayBufferView ( asbindInstance , value , typeName ) {
46
63
return asbindInstance . exports [
47
64
`__get${ normalizeArrayBufferViewTypeName ( typeName ) } View`
48
65
] ( value ) ;
49
66
}
50
-
51
- function putArrayBuffer ( asbindInstance , value , typeName ) {
67
+ function putArrayBufferView ( asbindInstance , value , typeName ) {
52
68
return asbindInstance . exports . __newArray (
53
69
getTypeId ( asbindInstance , typeName ) ,
54
70
value
@@ -92,19 +108,23 @@ const converters = new Map([
92
108
[ / ^ ~ l i b \/ s t r i n g \/ S t r i n g $ / , { ascToJs : getString , jsToAsc : putString } ] ,
93
109
[
94
110
/ ^ ~ l i b \/ t y p e d a r r a y \/ ( U i | I ) n t ( 8 | 1 6 | 3 2 ) A r r a y $ / ,
95
- { ascToJs : getArrayBufferView , jsToAsc : putArrayBuffer }
111
+ { ascToJs : getArrayBufferView , jsToAsc : putArrayBufferView }
96
112
] ,
97
113
[
98
114
/ ^ ~ l i b \/ t y p e d a r r a y \/ B i g ( U i | I ) n t 6 4 A r r a y $ / ,
99
- { ascToJs : getArrayBufferView , jsToAsc : putArrayBuffer }
115
+ { ascToJs : getArrayBufferView , jsToAsc : putArrayBufferView }
100
116
] ,
101
117
[
102
118
/ ^ ~ l i b \/ t y p e d a r r a y \/ U i n t 8 C l a m p e d A r r a y $ / ,
103
- { ascToJs : getArrayBufferView , jsToAsc : putArrayBuffer }
119
+ { ascToJs : getArrayBufferView , jsToAsc : putArrayBufferView }
104
120
] ,
105
121
[
106
122
/ ^ ~ l i b \/ t y p e d a r r a y \/ F l o a t ( 3 2 | 6 4 ) A r r a y $ / ,
107
- { ascToJs : getArrayBufferView , jsToAsc : putArrayBuffer }
123
+ { ascToJs : getArrayBuffer , jsToAsc : putArrayBufferView }
124
+ ] ,
125
+ [
126
+ / ^ ~ l i b \/ a r r a y b u f f e r \/ A r r a y B u f f e r $ / ,
127
+ { ascToJs : getArrayBuffer , jsToAsc : putArrayBuffer }
108
128
] ,
109
129
[ / ^ ~ l i b \/ a r r a y \/ A r r a y < .+ > $ / , { ascToJs : getArray , jsToAsc : putArray } ]
110
130
] ) ;
0 commit comments