bare-buffer 3.1.4 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.c +312 -197
- package/lib/base64.js +15 -2
- package/lib/constants.js +3 -4
- package/lib/hex.js +15 -2
- package/lib/latin1.js +15 -2
- package/lib/utf16le.js +15 -2
- package/lib/utf8.js +18 -3
- package/package.json +2 -2
- package/prebuilds/android-arm/bare-buffer.bare +0 -0
- package/prebuilds/android-arm64/bare-buffer.bare +0 -0
- package/prebuilds/android-ia32/bare-buffer.bare +0 -0
- package/prebuilds/android-x64/bare-buffer.bare +0 -0
- package/prebuilds/darwin-arm64/bare-buffer.bare +0 -0
- package/prebuilds/darwin-x64/bare-buffer.bare +0 -0
- package/prebuilds/ios-arm64/bare-buffer.bare +0 -0
- package/prebuilds/ios-arm64-simulator/bare-buffer.bare +0 -0
- package/prebuilds/ios-x64-simulator/bare-buffer.bare +0 -0
- package/prebuilds/linux-arm64/bare-buffer.bare +0 -0
- package/prebuilds/linux-x64/bare-buffer.bare +0 -0
- package/prebuilds/win32-arm64/bare-buffer.bare +0 -0
- package/prebuilds/win32-x64/bare-buffer.bare +0 -0
package/binding.c
CHANGED
|
@@ -21,7 +21,7 @@ bare_buffer__memcmp(void *a, size_t a_len, void *b, size_t b_len) {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
static void
|
|
24
|
-
|
|
24
|
+
bare_buffer__on_finalize_string(js_env_t *env, void *data, void *finalize_hint) {
|
|
25
25
|
free(data);
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -37,8 +37,8 @@ bare_buffer_alloc(js_env_t *env, js_callback_info_t *info) {
|
|
|
37
37
|
|
|
38
38
|
assert(argc == 1);
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
err =
|
|
40
|
+
int64_t len;
|
|
41
|
+
err = js_get_value_int64(env, argv[0], &len);
|
|
42
42
|
assert(err == 0);
|
|
43
43
|
|
|
44
44
|
js_value_t *result;
|
|
@@ -60,8 +60,8 @@ bare_buffer_alloc_unsafe(js_env_t *env, js_callback_info_t *info) {
|
|
|
60
60
|
|
|
61
61
|
assert(argc == 1);
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
err =
|
|
63
|
+
int64_t len;
|
|
64
|
+
err = js_get_value_int64(env, argv[0], &len);
|
|
65
65
|
assert(err == 0);
|
|
66
66
|
|
|
67
67
|
js_value_t *result;
|
|
@@ -71,7 +71,7 @@ bare_buffer_alloc_unsafe(js_env_t *env, js_callback_info_t *info) {
|
|
|
71
71
|
return result;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
static
|
|
74
|
+
static int64_t
|
|
75
75
|
bare_buffer_typed_byte_length_utf8(js_value_t *receiver, js_value_t *str, js_typed_callback_info_t *info) {
|
|
76
76
|
int err;
|
|
77
77
|
|
|
@@ -83,7 +83,7 @@ bare_buffer_typed_byte_length_utf8(js_value_t *receiver, js_value_t *str, js_typ
|
|
|
83
83
|
err = js_get_value_string_utf8(env, str, NULL, 0, &str_len);
|
|
84
84
|
assert(err == 0);
|
|
85
85
|
|
|
86
|
-
return
|
|
86
|
+
return str_len;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
static js_value_t *
|
|
@@ -103,7 +103,7 @@ bare_buffer_byte_length_utf8(js_env_t *env, js_callback_info_t *info) {
|
|
|
103
103
|
assert(err == 0);
|
|
104
104
|
|
|
105
105
|
js_value_t *result;
|
|
106
|
-
err =
|
|
106
|
+
err = js_create_int64(env, str_len, &result);
|
|
107
107
|
assert(err == 0);
|
|
108
108
|
|
|
109
109
|
return result;
|
|
@@ -113,76 +113,89 @@ static js_value_t *
|
|
|
113
113
|
bare_buffer_to_string_utf8(js_env_t *env, js_callback_info_t *info) {
|
|
114
114
|
int err;
|
|
115
115
|
|
|
116
|
-
size_t argc =
|
|
117
|
-
js_value_t *argv[
|
|
116
|
+
size_t argc = 3;
|
|
117
|
+
js_value_t *argv[3];
|
|
118
118
|
|
|
119
119
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
120
120
|
assert(err == 0);
|
|
121
121
|
|
|
122
|
-
assert(argc ==
|
|
122
|
+
assert(argc == 3);
|
|
123
123
|
|
|
124
124
|
utf8_t *buf;
|
|
125
|
-
|
|
126
|
-
err
|
|
125
|
+
err = js_get_arraybuffer_info(env, argv[0], (void **) &buf, NULL);
|
|
126
|
+
assert(err == 0);
|
|
127
|
+
|
|
128
|
+
int64_t offset;
|
|
129
|
+
err = js_get_value_int64(env, argv[1], &offset);
|
|
130
|
+
assert(err == 0);
|
|
131
|
+
|
|
132
|
+
int64_t len;
|
|
133
|
+
err = js_get_value_int64(env, argv[2], &len);
|
|
127
134
|
assert(err == 0);
|
|
128
135
|
|
|
129
136
|
js_value_t *result;
|
|
130
|
-
err = js_create_string_utf8(env, buf,
|
|
137
|
+
err = js_create_string_utf8(env, &buf[offset], len, &result);
|
|
131
138
|
assert(err == 0);
|
|
132
139
|
|
|
133
140
|
return result;
|
|
134
141
|
}
|
|
135
142
|
|
|
136
|
-
static
|
|
137
|
-
bare_buffer_typed_write_utf8(
|
|
143
|
+
static int64_t
|
|
144
|
+
bare_buffer_typed_write_utf8(
|
|
145
|
+
js_value_t *receiver,
|
|
146
|
+
js_value_t *handle,
|
|
147
|
+
int64_t offset,
|
|
148
|
+
int64_t len,
|
|
149
|
+
js_value_t *string,
|
|
150
|
+
js_typed_callback_info_t *info
|
|
151
|
+
) {
|
|
138
152
|
int err;
|
|
139
153
|
|
|
140
154
|
js_env_t *env;
|
|
141
155
|
err = js_get_typed_callback_info(info, &env, NULL);
|
|
142
156
|
assert(err == 0);
|
|
143
157
|
|
|
144
|
-
|
|
145
|
-
err =
|
|
146
|
-
assert(err == 0);
|
|
147
|
-
|
|
148
|
-
void *buf;
|
|
149
|
-
size_t buf_len;
|
|
150
|
-
err = js_get_typedarray_info(env, typedarray, NULL, &buf, &buf_len, NULL, NULL);
|
|
158
|
+
utf8_t *buf;
|
|
159
|
+
err = js_get_arraybuffer_info(env, handle, (void **) &buf, NULL);
|
|
151
160
|
assert(err == 0);
|
|
152
161
|
|
|
153
162
|
size_t str_len;
|
|
154
|
-
err = js_get_value_string_utf8(env, string, buf,
|
|
155
|
-
assert(err == 0);
|
|
156
|
-
|
|
157
|
-
err = js_close_handle_scope(env, scope);
|
|
163
|
+
err = js_get_value_string_utf8(env, string, &buf[offset], len, &str_len);
|
|
158
164
|
assert(err == 0);
|
|
159
165
|
|
|
160
|
-
return
|
|
166
|
+
return str_len;
|
|
161
167
|
}
|
|
162
168
|
|
|
163
169
|
static js_value_t *
|
|
164
170
|
bare_buffer_write_utf8(js_env_t *env, js_callback_info_t *info) {
|
|
165
171
|
int err;
|
|
166
172
|
|
|
167
|
-
size_t argc =
|
|
168
|
-
js_value_t *argv[
|
|
173
|
+
size_t argc = 4;
|
|
174
|
+
js_value_t *argv[4];
|
|
169
175
|
|
|
170
176
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
171
177
|
assert(err == 0);
|
|
172
178
|
|
|
173
|
-
assert(argc ==
|
|
179
|
+
assert(argc == 4);
|
|
180
|
+
|
|
181
|
+
utf8_t *buf;
|
|
182
|
+
err = js_get_arraybuffer_info(env, argv[0], (void **) &buf, NULL);
|
|
183
|
+
assert(err == 0);
|
|
184
|
+
|
|
185
|
+
int64_t offset;
|
|
186
|
+
err = js_get_value_int64(env, argv[1], &offset);
|
|
187
|
+
assert(err == 0);
|
|
174
188
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
err = js_get_typedarray_info(env, argv[0], NULL, &buf, &buf_len, NULL, NULL);
|
|
189
|
+
int64_t len;
|
|
190
|
+
err = js_get_value_int64(env, argv[2], &len);
|
|
178
191
|
assert(err == 0);
|
|
179
192
|
|
|
180
193
|
size_t str_len;
|
|
181
|
-
err = js_get_value_string_utf8(env, argv[
|
|
194
|
+
err = js_get_value_string_utf8(env, argv[3], &buf[offset], len, &str_len);
|
|
182
195
|
assert(err == 0);
|
|
183
196
|
|
|
184
197
|
js_value_t *result;
|
|
185
|
-
err =
|
|
198
|
+
err = js_create_int64(env, str_len, &result);
|
|
186
199
|
assert(err == 0);
|
|
187
200
|
|
|
188
201
|
return result;
|
|
@@ -192,86 +205,102 @@ static js_value_t *
|
|
|
192
205
|
bare_buffer_to_string_utf16le(js_env_t *env, js_callback_info_t *info) {
|
|
193
206
|
int err;
|
|
194
207
|
|
|
195
|
-
size_t argc =
|
|
196
|
-
js_value_t *argv[
|
|
208
|
+
size_t argc = 3;
|
|
209
|
+
js_value_t *argv[3];
|
|
197
210
|
|
|
198
211
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
199
212
|
assert(err == 0);
|
|
200
213
|
|
|
201
|
-
assert(argc ==
|
|
214
|
+
assert(argc == 3);
|
|
202
215
|
|
|
203
216
|
utf16_t *buf;
|
|
204
|
-
|
|
205
|
-
err
|
|
217
|
+
err = js_get_arraybuffer_info(env, argv[0], (void **) &buf, NULL);
|
|
218
|
+
assert(err == 0);
|
|
219
|
+
|
|
220
|
+
int64_t offset;
|
|
221
|
+
err = js_get_value_int64(env, argv[1], &offset);
|
|
222
|
+
assert(err == 0);
|
|
223
|
+
|
|
224
|
+
int64_t len;
|
|
225
|
+
err = js_get_value_int64(env, argv[2], &len);
|
|
206
226
|
assert(err == 0);
|
|
207
227
|
|
|
208
|
-
|
|
228
|
+
offset /= sizeof(utf16_t);
|
|
229
|
+
len /= sizeof(utf16_t);
|
|
209
230
|
|
|
210
231
|
js_value_t *result;
|
|
211
|
-
err = js_create_string_utf16le(env, buf,
|
|
232
|
+
err = js_create_string_utf16le(env, &buf[offset], len, &result);
|
|
212
233
|
assert(err == 0);
|
|
213
234
|
|
|
214
235
|
return result;
|
|
215
236
|
}
|
|
216
237
|
|
|
217
|
-
static
|
|
218
|
-
bare_buffer_typed_write_utf16le(
|
|
238
|
+
static int64_t
|
|
239
|
+
bare_buffer_typed_write_utf16le(
|
|
240
|
+
js_value_t *receiver,
|
|
241
|
+
js_value_t *handle,
|
|
242
|
+
int64_t offset,
|
|
243
|
+
int64_t len,
|
|
244
|
+
js_value_t *string,
|
|
245
|
+
js_typed_callback_info_t *info
|
|
246
|
+
) {
|
|
219
247
|
int err;
|
|
220
248
|
|
|
221
249
|
js_env_t *env;
|
|
222
250
|
err = js_get_typed_callback_info(info, &env, NULL);
|
|
223
251
|
assert(err == 0);
|
|
224
252
|
|
|
225
|
-
|
|
226
|
-
err =
|
|
227
|
-
assert(err == 0);
|
|
228
|
-
|
|
229
|
-
void *buf;
|
|
230
|
-
size_t buf_len;
|
|
231
|
-
err = js_get_typedarray_info(env, typedarray, NULL, &buf, &buf_len, NULL, NULL);
|
|
253
|
+
utf16_t *buf;
|
|
254
|
+
err = js_get_arraybuffer_info(env, handle, (void **) &buf, NULL);
|
|
232
255
|
assert(err == 0);
|
|
233
256
|
|
|
234
|
-
|
|
257
|
+
offset /= sizeof(utf16_t);
|
|
258
|
+
len /= sizeof(utf16_t);
|
|
235
259
|
|
|
236
260
|
size_t str_len;
|
|
237
|
-
err = js_get_value_string_utf16le(env, string, buf,
|
|
261
|
+
err = js_get_value_string_utf16le(env, string, &buf[offset], len, &str_len);
|
|
238
262
|
assert(err == 0);
|
|
239
263
|
|
|
240
264
|
str_len *= sizeof(utf16_t);
|
|
241
265
|
|
|
242
|
-
|
|
243
|
-
assert(err == 0);
|
|
244
|
-
|
|
245
|
-
return (uint32_t) str_len;
|
|
266
|
+
return str_len;
|
|
246
267
|
}
|
|
247
268
|
|
|
248
269
|
static js_value_t *
|
|
249
270
|
bare_buffer_write_utf16le(js_env_t *env, js_callback_info_t *info) {
|
|
250
271
|
int err;
|
|
251
272
|
|
|
252
|
-
size_t argc =
|
|
253
|
-
js_value_t *argv[
|
|
273
|
+
size_t argc = 4;
|
|
274
|
+
js_value_t *argv[4];
|
|
254
275
|
|
|
255
276
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
256
277
|
assert(err == 0);
|
|
257
278
|
|
|
258
|
-
assert(argc ==
|
|
279
|
+
assert(argc == 4);
|
|
280
|
+
|
|
281
|
+
utf16_t *buf;
|
|
282
|
+
err = js_get_arraybuffer_info(env, argv[0], (void **) &buf, NULL);
|
|
283
|
+
assert(err == 0);
|
|
284
|
+
|
|
285
|
+
int64_t offset;
|
|
286
|
+
err = js_get_value_int64(env, argv[1], &offset);
|
|
287
|
+
assert(err == 0);
|
|
259
288
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
err = js_get_typedarray_info(env, argv[0], NULL, &buf, &buf_len, NULL, NULL);
|
|
289
|
+
int64_t len;
|
|
290
|
+
err = js_get_value_int64(env, argv[2], &len);
|
|
263
291
|
assert(err == 0);
|
|
264
292
|
|
|
265
|
-
|
|
293
|
+
offset /= sizeof(utf16_t);
|
|
294
|
+
len /= sizeof(utf16_t);
|
|
266
295
|
|
|
267
296
|
size_t str_len;
|
|
268
|
-
err = js_get_value_string_utf16le(env, argv[
|
|
297
|
+
err = js_get_value_string_utf16le(env, argv[3], &buf[offset], len, &str_len);
|
|
269
298
|
assert(err == 0);
|
|
270
299
|
|
|
271
300
|
str_len *= sizeof(utf16_t);
|
|
272
301
|
|
|
273
302
|
js_value_t *result;
|
|
274
|
-
err =
|
|
303
|
+
err = js_create_int64(env, str_len, &result);
|
|
275
304
|
assert(err == 0);
|
|
276
305
|
|
|
277
306
|
return result;
|
|
@@ -281,76 +310,89 @@ static js_value_t *
|
|
|
281
310
|
bare_buffer_to_string_latin1(js_env_t *env, js_callback_info_t *info) {
|
|
282
311
|
int err;
|
|
283
312
|
|
|
284
|
-
size_t argc =
|
|
285
|
-
js_value_t *argv[
|
|
313
|
+
size_t argc = 3;
|
|
314
|
+
js_value_t *argv[3];
|
|
286
315
|
|
|
287
316
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
288
317
|
assert(err == 0);
|
|
289
318
|
|
|
290
|
-
assert(argc ==
|
|
319
|
+
assert(argc == 3);
|
|
291
320
|
|
|
292
321
|
latin1_t *buf;
|
|
293
|
-
|
|
294
|
-
err
|
|
322
|
+
err = js_get_arraybuffer_info(env, argv[0], (void **) &buf, NULL);
|
|
323
|
+
assert(err == 0);
|
|
324
|
+
|
|
325
|
+
int64_t offset;
|
|
326
|
+
err = js_get_value_int64(env, argv[1], &offset);
|
|
327
|
+
assert(err == 0);
|
|
328
|
+
|
|
329
|
+
int64_t len;
|
|
330
|
+
err = js_get_value_int64(env, argv[2], &len);
|
|
295
331
|
assert(err == 0);
|
|
296
332
|
|
|
297
333
|
js_value_t *result;
|
|
298
|
-
err = js_create_string_latin1(env, buf,
|
|
334
|
+
err = js_create_string_latin1(env, &buf[offset], len, &result);
|
|
299
335
|
assert(err == 0);
|
|
300
336
|
|
|
301
337
|
return result;
|
|
302
338
|
}
|
|
303
339
|
|
|
304
|
-
static
|
|
305
|
-
bare_buffer_typed_write_latin1(
|
|
340
|
+
static int64_t
|
|
341
|
+
bare_buffer_typed_write_latin1(
|
|
342
|
+
js_value_t *receiver,
|
|
343
|
+
js_value_t *handle,
|
|
344
|
+
int64_t offset,
|
|
345
|
+
int64_t len,
|
|
346
|
+
js_value_t *string,
|
|
347
|
+
js_typed_callback_info_t *info
|
|
348
|
+
) {
|
|
306
349
|
int err;
|
|
307
350
|
|
|
308
351
|
js_env_t *env;
|
|
309
352
|
err = js_get_typed_callback_info(info, &env, NULL);
|
|
310
353
|
assert(err == 0);
|
|
311
354
|
|
|
312
|
-
|
|
313
|
-
err =
|
|
314
|
-
assert(err == 0);
|
|
315
|
-
|
|
316
|
-
void *buf;
|
|
317
|
-
size_t buf_len;
|
|
318
|
-
err = js_get_typedarray_info(env, typedarray, NULL, &buf, &buf_len, NULL, NULL);
|
|
355
|
+
latin1_t *buf;
|
|
356
|
+
err = js_get_arraybuffer_info(env, handle, (void **) &buf, NULL);
|
|
319
357
|
assert(err == 0);
|
|
320
358
|
|
|
321
359
|
size_t str_len;
|
|
322
|
-
err = js_get_value_string_latin1(env, string, buf,
|
|
323
|
-
assert(err == 0);
|
|
324
|
-
|
|
325
|
-
err = js_close_handle_scope(env, scope);
|
|
360
|
+
err = js_get_value_string_latin1(env, string, &buf[offset], len, &str_len);
|
|
326
361
|
assert(err == 0);
|
|
327
362
|
|
|
328
|
-
return
|
|
363
|
+
return str_len;
|
|
329
364
|
}
|
|
330
365
|
|
|
331
366
|
static js_value_t *
|
|
332
367
|
bare_buffer_write_latin1(js_env_t *env, js_callback_info_t *info) {
|
|
333
368
|
int err;
|
|
334
369
|
|
|
335
|
-
size_t argc =
|
|
336
|
-
js_value_t *argv[
|
|
370
|
+
size_t argc = 4;
|
|
371
|
+
js_value_t *argv[4];
|
|
337
372
|
|
|
338
373
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
339
374
|
assert(err == 0);
|
|
340
375
|
|
|
341
|
-
assert(argc ==
|
|
376
|
+
assert(argc == 4);
|
|
377
|
+
|
|
378
|
+
latin1_t *buf;
|
|
379
|
+
err = js_get_arraybuffer_info(env, argv[0], (void **) &buf, NULL);
|
|
380
|
+
assert(err == 0);
|
|
381
|
+
|
|
382
|
+
int64_t offset;
|
|
383
|
+
err = js_get_value_int64(env, argv[1], &offset);
|
|
384
|
+
assert(err == 0);
|
|
342
385
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
err = js_get_typedarray_info(env, argv[0], NULL, &buf, &buf_len, NULL, NULL);
|
|
386
|
+
int64_t len;
|
|
387
|
+
err = js_get_value_int64(env, argv[2], &len);
|
|
346
388
|
assert(err == 0);
|
|
347
389
|
|
|
348
390
|
size_t str_len;
|
|
349
|
-
err = js_get_value_string_latin1(env, argv[
|
|
391
|
+
err = js_get_value_string_latin1(env, argv[3], &buf[offset], len, &str_len);
|
|
350
392
|
assert(err == 0);
|
|
351
393
|
|
|
352
394
|
js_value_t *result;
|
|
353
|
-
err =
|
|
395
|
+
err = js_create_int64(env, str_len, &result);
|
|
354
396
|
assert(err == 0);
|
|
355
397
|
|
|
356
398
|
return result;
|
|
@@ -360,49 +402,58 @@ static js_value_t *
|
|
|
360
402
|
bare_buffer_to_string_base64(js_env_t *env, js_callback_info_t *info) {
|
|
361
403
|
int err;
|
|
362
404
|
|
|
363
|
-
size_t argc =
|
|
364
|
-
js_value_t *argv[
|
|
405
|
+
size_t argc = 3;
|
|
406
|
+
js_value_t *argv[3];
|
|
365
407
|
|
|
366
408
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
367
409
|
assert(err == 0);
|
|
368
410
|
|
|
369
|
-
assert(argc ==
|
|
411
|
+
assert(argc == 3);
|
|
370
412
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
err
|
|
413
|
+
utf8_t *buf;
|
|
414
|
+
err = js_get_arraybuffer_info(env, argv[0], (void **) &buf, NULL);
|
|
415
|
+
assert(err == 0);
|
|
416
|
+
|
|
417
|
+
int64_t offset;
|
|
418
|
+
err = js_get_value_int64(env, argv[1], &offset);
|
|
419
|
+
assert(err == 0);
|
|
420
|
+
|
|
421
|
+
int64_t len;
|
|
422
|
+
err = js_get_value_int64(env, argv[2], &len);
|
|
374
423
|
assert(err == 0);
|
|
375
424
|
|
|
376
425
|
size_t str_len;
|
|
377
|
-
err = base64_encode_utf8(buf,
|
|
426
|
+
err = base64_encode_utf8(&buf[offset], len, NULL, &str_len);
|
|
378
427
|
assert(err == 0);
|
|
379
428
|
|
|
380
429
|
utf8_t *str = malloc(str_len);
|
|
381
|
-
err = base64_encode_utf8(buf,
|
|
430
|
+
err = base64_encode_utf8(&buf[offset], len, str, &str_len);
|
|
382
431
|
assert(err == 0);
|
|
383
432
|
|
|
384
433
|
js_value_t *result;
|
|
385
|
-
err = js_create_external_string_latin1(env, str, str_len,
|
|
434
|
+
err = js_create_external_string_latin1(env, str, str_len, bare_buffer__on_finalize_string, NULL, &result, NULL);
|
|
386
435
|
assert(err == 0);
|
|
387
436
|
|
|
388
437
|
return result;
|
|
389
438
|
}
|
|
390
439
|
|
|
391
|
-
static
|
|
392
|
-
bare_buffer_typed_write_base64(
|
|
440
|
+
static int64_t
|
|
441
|
+
bare_buffer_typed_write_base64(
|
|
442
|
+
js_value_t *receiver,
|
|
443
|
+
js_value_t *handle,
|
|
444
|
+
int64_t offset,
|
|
445
|
+
int64_t len,
|
|
446
|
+
js_value_t *string,
|
|
447
|
+
js_typed_callback_info_t *info
|
|
448
|
+
) {
|
|
393
449
|
int err;
|
|
394
450
|
|
|
395
451
|
js_env_t *env;
|
|
396
452
|
err = js_get_typed_callback_info(info, &env, NULL);
|
|
397
453
|
assert(err == 0);
|
|
398
454
|
|
|
399
|
-
|
|
400
|
-
err =
|
|
401
|
-
assert(err == 0);
|
|
402
|
-
|
|
403
|
-
void *buf;
|
|
404
|
-
size_t buf_len;
|
|
405
|
-
err = js_get_typedarray_info(env, typedarray, NULL, &buf, &buf_len, NULL, NULL);
|
|
455
|
+
utf8_t *buf;
|
|
456
|
+
err = js_get_arraybuffer_info(env, handle, (void **) &buf, NULL);
|
|
406
457
|
assert(err == 0);
|
|
407
458
|
|
|
408
459
|
js_string_encoding_t encoding;
|
|
@@ -413,38 +464,44 @@ bare_buffer_typed_write_base64(js_value_t *receiver, js_value_t *typedarray, js_
|
|
|
413
464
|
err = js_get_string_view(env, string, &encoding, &str, &str_len, &str_view);
|
|
414
465
|
assert(err == 0);
|
|
415
466
|
|
|
467
|
+
size_t written = len;
|
|
468
|
+
|
|
416
469
|
if (encoding == js_utf16le) {
|
|
417
|
-
err = base64_decode_utf16le(str, str_len, buf, &
|
|
470
|
+
err = base64_decode_utf16le(str, str_len, &buf[offset], &written);
|
|
418
471
|
assert(err == 0);
|
|
419
472
|
} else {
|
|
420
|
-
err = base64_decode_utf8(str, str_len, buf, &
|
|
473
|
+
err = base64_decode_utf8(str, str_len, &buf[offset], &written);
|
|
421
474
|
assert(err == 0);
|
|
422
475
|
}
|
|
423
476
|
|
|
424
477
|
err = js_release_string_view(env, str_view);
|
|
425
478
|
assert(err == 0);
|
|
426
479
|
|
|
427
|
-
|
|
428
|
-
assert(err == 0);
|
|
429
|
-
|
|
430
|
-
return buf_len;
|
|
480
|
+
return written;
|
|
431
481
|
}
|
|
432
482
|
|
|
433
483
|
static js_value_t *
|
|
434
484
|
bare_buffer_write_base64(js_env_t *env, js_callback_info_t *info) {
|
|
435
485
|
int err;
|
|
436
486
|
|
|
437
|
-
size_t argc =
|
|
438
|
-
js_value_t *argv[
|
|
487
|
+
size_t argc = 4;
|
|
488
|
+
js_value_t *argv[4];
|
|
439
489
|
|
|
440
490
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
441
491
|
assert(err == 0);
|
|
442
492
|
|
|
443
|
-
assert(argc ==
|
|
493
|
+
assert(argc == 4);
|
|
494
|
+
|
|
495
|
+
utf8_t *buf;
|
|
496
|
+
err = js_get_arraybuffer_info(env, argv[0], (void **) &buf, NULL);
|
|
497
|
+
assert(err == 0);
|
|
498
|
+
|
|
499
|
+
int64_t offset;
|
|
500
|
+
err = js_get_value_int64(env, argv[1], &offset);
|
|
501
|
+
assert(err == 0);
|
|
444
502
|
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
err = js_get_typedarray_info(env, argv[0], NULL, &buf, &buf_len, NULL, NULL);
|
|
503
|
+
int64_t len;
|
|
504
|
+
err = js_get_value_int64(env, argv[2], &len);
|
|
448
505
|
assert(err == 0);
|
|
449
506
|
|
|
450
507
|
js_string_encoding_t encoding;
|
|
@@ -452,14 +509,16 @@ bare_buffer_write_base64(js_env_t *env, js_callback_info_t *info) {
|
|
|
452
509
|
size_t str_len;
|
|
453
510
|
|
|
454
511
|
js_string_view_t *str_view;
|
|
455
|
-
err = js_get_string_view(env, argv[
|
|
512
|
+
err = js_get_string_view(env, argv[3], &encoding, &str, &str_len, &str_view);
|
|
456
513
|
assert(err == 0);
|
|
457
514
|
|
|
515
|
+
size_t written = len;
|
|
516
|
+
|
|
458
517
|
if (encoding == js_utf16le) {
|
|
459
|
-
err = base64_decode_utf16le(str, str_len, buf, &
|
|
518
|
+
err = base64_decode_utf16le(str, str_len, &buf[offset], &written);
|
|
460
519
|
assert(err == 0);
|
|
461
520
|
} else {
|
|
462
|
-
err = base64_decode_utf8(str, str_len, buf, &
|
|
521
|
+
err = base64_decode_utf8(str, str_len, &buf[offset], &written);
|
|
463
522
|
assert(err == 0);
|
|
464
523
|
}
|
|
465
524
|
|
|
@@ -467,7 +526,7 @@ bare_buffer_write_base64(js_env_t *env, js_callback_info_t *info) {
|
|
|
467
526
|
assert(err == 0);
|
|
468
527
|
|
|
469
528
|
js_value_t *result;
|
|
470
|
-
err =
|
|
529
|
+
err = js_create_int64(env, written, &result);
|
|
471
530
|
assert(err == 0);
|
|
472
531
|
|
|
473
532
|
return result;
|
|
@@ -477,49 +536,58 @@ static js_value_t *
|
|
|
477
536
|
bare_buffer_to_string_hex(js_env_t *env, js_callback_info_t *info) {
|
|
478
537
|
int err;
|
|
479
538
|
|
|
480
|
-
size_t argc =
|
|
481
|
-
js_value_t *argv[
|
|
539
|
+
size_t argc = 3;
|
|
540
|
+
js_value_t *argv[3];
|
|
482
541
|
|
|
483
542
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
484
543
|
assert(err == 0);
|
|
485
544
|
|
|
486
|
-
assert(argc ==
|
|
545
|
+
assert(argc == 3);
|
|
546
|
+
|
|
547
|
+
utf8_t *buf;
|
|
548
|
+
err = js_get_arraybuffer_info(env, argv[0], (void **) &buf, NULL);
|
|
549
|
+
assert(err == 0);
|
|
550
|
+
|
|
551
|
+
int64_t offset;
|
|
552
|
+
err = js_get_value_int64(env, argv[1], &offset);
|
|
553
|
+
assert(err == 0);
|
|
487
554
|
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
err = js_get_typedarray_info(env, argv[0], NULL, &buf, &buf_len, NULL, NULL);
|
|
555
|
+
int64_t len;
|
|
556
|
+
err = js_get_value_int64(env, argv[2], &len);
|
|
491
557
|
assert(err == 0);
|
|
492
558
|
|
|
493
559
|
size_t str_len;
|
|
494
|
-
err = hex_encode_utf8(buf,
|
|
560
|
+
err = hex_encode_utf8(&buf[offset], len, NULL, &str_len);
|
|
495
561
|
assert(err == 0);
|
|
496
562
|
|
|
497
563
|
utf8_t *str = malloc(str_len);
|
|
498
|
-
err = hex_encode_utf8(buf,
|
|
564
|
+
err = hex_encode_utf8(&buf[offset], len, str, &str_len);
|
|
499
565
|
assert(err == 0);
|
|
500
566
|
|
|
501
567
|
js_value_t *result;
|
|
502
|
-
err = js_create_external_string_latin1(env, str, str_len,
|
|
568
|
+
err = js_create_external_string_latin1(env, str, str_len, bare_buffer__on_finalize_string, NULL, &result, NULL);
|
|
503
569
|
assert(err == 0);
|
|
504
570
|
|
|
505
571
|
return result;
|
|
506
572
|
}
|
|
507
573
|
|
|
508
|
-
static
|
|
509
|
-
bare_buffer_typed_write_hex(
|
|
574
|
+
static int64_t
|
|
575
|
+
bare_buffer_typed_write_hex(
|
|
576
|
+
js_value_t *receiver,
|
|
577
|
+
js_value_t *handle,
|
|
578
|
+
int64_t offset,
|
|
579
|
+
int64_t len,
|
|
580
|
+
js_value_t *string,
|
|
581
|
+
js_typed_callback_info_t *info
|
|
582
|
+
) {
|
|
510
583
|
int err;
|
|
511
584
|
|
|
512
585
|
js_env_t *env;
|
|
513
586
|
err = js_get_typed_callback_info(info, &env, NULL);
|
|
514
587
|
assert(err == 0);
|
|
515
588
|
|
|
516
|
-
|
|
517
|
-
err =
|
|
518
|
-
assert(err == 0);
|
|
519
|
-
|
|
520
|
-
void *buf;
|
|
521
|
-
size_t buf_len;
|
|
522
|
-
err = js_get_typedarray_info(env, typedarray, NULL, &buf, &buf_len, NULL, NULL);
|
|
589
|
+
utf8_t *buf;
|
|
590
|
+
err = js_get_arraybuffer_info(env, handle, (void **) &buf, NULL);
|
|
523
591
|
assert(err == 0);
|
|
524
592
|
|
|
525
593
|
js_string_encoding_t encoding;
|
|
@@ -530,38 +598,44 @@ bare_buffer_typed_write_hex(js_value_t *receiver, js_value_t *typedarray, js_val
|
|
|
530
598
|
err = js_get_string_view(env, string, &encoding, &str, &str_len, &str_view);
|
|
531
599
|
assert(err == 0);
|
|
532
600
|
|
|
601
|
+
size_t written = len;
|
|
602
|
+
|
|
533
603
|
if (encoding == js_utf16le) {
|
|
534
|
-
err = hex_decode_utf16le(str, str_len, buf, &
|
|
604
|
+
err = hex_decode_utf16le(str, str_len, &buf[offset], &written);
|
|
535
605
|
assert(err == 0);
|
|
536
606
|
} else {
|
|
537
|
-
err = hex_decode_utf8(str, str_len, buf, &
|
|
607
|
+
err = hex_decode_utf8(str, str_len, &buf[offset], &written);
|
|
538
608
|
assert(err == 0);
|
|
539
609
|
}
|
|
540
610
|
|
|
541
611
|
err = js_release_string_view(env, str_view);
|
|
542
612
|
assert(err == 0);
|
|
543
613
|
|
|
544
|
-
|
|
545
|
-
assert(err == 0);
|
|
546
|
-
|
|
547
|
-
return buf_len;
|
|
614
|
+
return written;
|
|
548
615
|
}
|
|
549
616
|
|
|
550
617
|
static js_value_t *
|
|
551
618
|
bare_buffer_write_hex(js_env_t *env, js_callback_info_t *info) {
|
|
552
619
|
int err;
|
|
553
620
|
|
|
554
|
-
size_t argc =
|
|
555
|
-
js_value_t *argv[
|
|
621
|
+
size_t argc = 4;
|
|
622
|
+
js_value_t *argv[4];
|
|
556
623
|
|
|
557
624
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
558
625
|
assert(err == 0);
|
|
559
626
|
|
|
560
|
-
assert(argc ==
|
|
627
|
+
assert(argc == 4);
|
|
628
|
+
|
|
629
|
+
utf8_t *buf;
|
|
630
|
+
err = js_get_arraybuffer_info(env, argv[0], (void **) &buf, NULL);
|
|
631
|
+
assert(err == 0);
|
|
632
|
+
|
|
633
|
+
int64_t offset;
|
|
634
|
+
err = js_get_value_int64(env, argv[1], &offset);
|
|
635
|
+
assert(err == 0);
|
|
561
636
|
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
err = js_get_typedarray_info(env, argv[0], NULL, &buf, &buf_len, NULL, NULL);
|
|
637
|
+
int64_t len;
|
|
638
|
+
err = js_get_value_int64(env, argv[2], &len);
|
|
565
639
|
assert(err == 0);
|
|
566
640
|
|
|
567
641
|
js_string_encoding_t encoding;
|
|
@@ -569,14 +643,16 @@ bare_buffer_write_hex(js_env_t *env, js_callback_info_t *info) {
|
|
|
569
643
|
size_t str_len;
|
|
570
644
|
|
|
571
645
|
js_string_view_t *str_view;
|
|
572
|
-
err = js_get_string_view(env, argv[
|
|
646
|
+
err = js_get_string_view(env, argv[3], &encoding, &str, &str_len, &str_view);
|
|
573
647
|
assert(err == 0);
|
|
574
648
|
|
|
649
|
+
size_t written = len;
|
|
650
|
+
|
|
575
651
|
if (encoding == js_utf16le) {
|
|
576
|
-
err = hex_decode_utf16le(str, str_len, buf, &
|
|
652
|
+
err = hex_decode_utf16le(str, str_len, &buf[offset], &written);
|
|
577
653
|
assert(err == 0);
|
|
578
654
|
} else {
|
|
579
|
-
err = hex_decode_utf8(str, str_len, buf, &
|
|
655
|
+
err = hex_decode_utf8(str, str_len, &buf[offset], &written);
|
|
580
656
|
assert(err == 0);
|
|
581
657
|
}
|
|
582
658
|
|
|
@@ -584,7 +660,7 @@ bare_buffer_write_hex(js_env_t *env, js_callback_info_t *info) {
|
|
|
584
660
|
assert(err == 0);
|
|
585
661
|
|
|
586
662
|
js_value_t *result;
|
|
587
|
-
err =
|
|
663
|
+
err = js_create_int64(env, written, &result);
|
|
588
664
|
assert(err == 0);
|
|
589
665
|
|
|
590
666
|
return result;
|
|
@@ -594,11 +670,11 @@ static int32_t
|
|
|
594
670
|
bare_buffer_typed_compare(
|
|
595
671
|
js_value_t *receiver,
|
|
596
672
|
js_value_t *a_handle,
|
|
597
|
-
|
|
598
|
-
|
|
673
|
+
int64_t a_offset,
|
|
674
|
+
int64_t a_len,
|
|
599
675
|
js_value_t *b_handle,
|
|
600
|
-
|
|
601
|
-
|
|
676
|
+
int64_t b_offset,
|
|
677
|
+
int64_t b_len,
|
|
602
678
|
js_typed_callback_info_t *info
|
|
603
679
|
) {
|
|
604
680
|
int err;
|
|
@@ -607,12 +683,12 @@ bare_buffer_typed_compare(
|
|
|
607
683
|
err = js_get_typed_callback_info(info, &env, NULL);
|
|
608
684
|
assert(err == 0);
|
|
609
685
|
|
|
610
|
-
|
|
611
|
-
err = js_get_arraybuffer_info(env, a_handle, &a, NULL);
|
|
686
|
+
uint8_t *a;
|
|
687
|
+
err = js_get_arraybuffer_info(env, a_handle, (void **) &a, NULL);
|
|
612
688
|
assert(err == 0);
|
|
613
689
|
|
|
614
|
-
|
|
615
|
-
err = js_get_arraybuffer_info(env, b_handle, &b, NULL);
|
|
690
|
+
uint8_t *b;
|
|
691
|
+
err = js_get_arraybuffer_info(env, b_handle, (void **) &b, NULL);
|
|
616
692
|
assert(err == 0);
|
|
617
693
|
|
|
618
694
|
return bare_buffer__memcmp(&a[a_offset], a_len, &b[b_offset], b_len);
|
|
@@ -630,28 +706,28 @@ bare_buffer_compare(js_env_t *env, js_callback_info_t *info) {
|
|
|
630
706
|
|
|
631
707
|
assert(argc == 6);
|
|
632
708
|
|
|
633
|
-
|
|
634
|
-
err = js_get_arraybuffer_info(env, argv[0], &a, NULL);
|
|
709
|
+
uint8_t *a;
|
|
710
|
+
err = js_get_arraybuffer_info(env, argv[0], (void **) &a, NULL);
|
|
635
711
|
assert(err == 0);
|
|
636
712
|
|
|
637
|
-
|
|
638
|
-
err =
|
|
713
|
+
int64_t a_offset;
|
|
714
|
+
err = js_get_value_int64(env, argv[1], &a_offset);
|
|
639
715
|
assert(err == 0);
|
|
640
716
|
|
|
641
|
-
|
|
642
|
-
err =
|
|
717
|
+
int64_t a_len;
|
|
718
|
+
err = js_get_value_int64(env, argv[2], &a_len);
|
|
643
719
|
assert(err == 0);
|
|
644
720
|
|
|
645
|
-
|
|
646
|
-
err = js_get_arraybuffer_info(env, argv[3], &b, NULL);
|
|
721
|
+
uint8_t *b;
|
|
722
|
+
err = js_get_arraybuffer_info(env, argv[3], (void **) &b, NULL);
|
|
647
723
|
assert(err == 0);
|
|
648
724
|
|
|
649
|
-
|
|
650
|
-
err =
|
|
725
|
+
int64_t b_offset;
|
|
726
|
+
err = js_get_value_int64(env, argv[4], &b_offset);
|
|
651
727
|
assert(err == 0);
|
|
652
728
|
|
|
653
|
-
|
|
654
|
-
err =
|
|
729
|
+
int64_t b_len;
|
|
730
|
+
err = js_get_value_int64(env, argv[5], &b_len);
|
|
655
731
|
assert(err == 0);
|
|
656
732
|
|
|
657
733
|
js_value_t *result;
|
|
@@ -665,6 +741,37 @@ static js_value_t *
|
|
|
665
741
|
bare_buffer_exports(js_env_t *env, js_value_t *exports) {
|
|
666
742
|
int err;
|
|
667
743
|
|
|
744
|
+
js_value_t *constants;
|
|
745
|
+
err = js_create_object(env, &constants);
|
|
746
|
+
assert(err == 0);
|
|
747
|
+
|
|
748
|
+
err = js_set_named_property(env, exports, "constants", constants);
|
|
749
|
+
assert(err == 0);
|
|
750
|
+
|
|
751
|
+
js_platform_t *platform;
|
|
752
|
+
err = js_get_env_platform(env, &platform);
|
|
753
|
+
assert(err == 0);
|
|
754
|
+
|
|
755
|
+
js_platform_limits_t limits = {
|
|
756
|
+
.version = 0,
|
|
757
|
+
};
|
|
758
|
+
|
|
759
|
+
err = js_get_platform_limits(platform, &limits);
|
|
760
|
+
assert(err == 0);
|
|
761
|
+
|
|
762
|
+
#define V(name, value) \
|
|
763
|
+
{ \
|
|
764
|
+
js_value_t *val; \
|
|
765
|
+
err = js_create_int64(env, value, &val); \
|
|
766
|
+
assert(err == 0); \
|
|
767
|
+
err = js_set_named_property(env, constants, name, val); \
|
|
768
|
+
assert(err == 0); \
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
V("MAX_LENGTH", limits.arraybuffer_length);
|
|
772
|
+
V("MAX_STRING_LENGTH", limits.string_length);
|
|
773
|
+
#undef V
|
|
774
|
+
|
|
668
775
|
#define V(name, untyped, signature, typed) \
|
|
669
776
|
{ \
|
|
670
777
|
js_value_t *val; \
|
|
@@ -688,7 +795,7 @@ bare_buffer_exports(js_env_t *env, js_value_t *exports) {
|
|
|
688
795
|
bare_buffer_byte_length_utf8,
|
|
689
796
|
&((js_callback_signature_t) {
|
|
690
797
|
.version = 0,
|
|
691
|
-
.result =
|
|
798
|
+
.result = js_int64,
|
|
692
799
|
.args_len = 2,
|
|
693
800
|
.args = (int[]) {
|
|
694
801
|
js_object,
|
|
@@ -705,11 +812,13 @@ bare_buffer_exports(js_env_t *env, js_value_t *exports) {
|
|
|
705
812
|
bare_buffer_write_utf8,
|
|
706
813
|
&((js_callback_signature_t) {
|
|
707
814
|
.version = 0,
|
|
708
|
-
.result =
|
|
709
|
-
.args_len =
|
|
815
|
+
.result = js_int64,
|
|
816
|
+
.args_len = 5,
|
|
710
817
|
.args = (int[]) {
|
|
711
818
|
js_object,
|
|
712
819
|
js_object,
|
|
820
|
+
js_int64,
|
|
821
|
+
js_int64,
|
|
713
822
|
js_string,
|
|
714
823
|
}
|
|
715
824
|
}),
|
|
@@ -723,7 +832,7 @@ bare_buffer_exports(js_env_t *env, js_value_t *exports) {
|
|
|
723
832
|
bare_buffer_write_utf16le,
|
|
724
833
|
&((js_callback_signature_t) {
|
|
725
834
|
.version = 0,
|
|
726
|
-
.result =
|
|
835
|
+
.result = js_int64,
|
|
727
836
|
.args_len = 3,
|
|
728
837
|
.args = (int[]) {
|
|
729
838
|
js_object,
|
|
@@ -741,11 +850,13 @@ bare_buffer_exports(js_env_t *env, js_value_t *exports) {
|
|
|
741
850
|
bare_buffer_write_latin1,
|
|
742
851
|
&((js_callback_signature_t) {
|
|
743
852
|
.version = 0,
|
|
744
|
-
.result =
|
|
745
|
-
.args_len =
|
|
853
|
+
.result = js_int64,
|
|
854
|
+
.args_len = 5,
|
|
746
855
|
.args = (int[]) {
|
|
747
856
|
js_object,
|
|
748
857
|
js_object,
|
|
858
|
+
js_int64,
|
|
859
|
+
js_int64,
|
|
749
860
|
js_string,
|
|
750
861
|
}
|
|
751
862
|
}),
|
|
@@ -759,11 +870,13 @@ bare_buffer_exports(js_env_t *env, js_value_t *exports) {
|
|
|
759
870
|
bare_buffer_write_base64,
|
|
760
871
|
&((js_callback_signature_t) {
|
|
761
872
|
.version = 0,
|
|
762
|
-
.result =
|
|
763
|
-
.args_len =
|
|
873
|
+
.result = js_int64,
|
|
874
|
+
.args_len = 5,
|
|
764
875
|
.args = (int[]) {
|
|
765
876
|
js_object,
|
|
766
877
|
js_object,
|
|
878
|
+
js_int64,
|
|
879
|
+
js_int64,
|
|
767
880
|
js_string,
|
|
768
881
|
}
|
|
769
882
|
}),
|
|
@@ -777,11 +890,13 @@ bare_buffer_exports(js_env_t *env, js_value_t *exports) {
|
|
|
777
890
|
bare_buffer_write_hex,
|
|
778
891
|
&((js_callback_signature_t) {
|
|
779
892
|
.version = 0,
|
|
780
|
-
.result =
|
|
781
|
-
.args_len =
|
|
893
|
+
.result = js_int64,
|
|
894
|
+
.args_len = 5,
|
|
782
895
|
.args = (int[]) {
|
|
783
896
|
js_object,
|
|
784
897
|
js_object,
|
|
898
|
+
js_int64,
|
|
899
|
+
js_int64,
|
|
785
900
|
js_string,
|
|
786
901
|
}
|
|
787
902
|
}),
|
|
@@ -798,11 +913,11 @@ bare_buffer_exports(js_env_t *env, js_value_t *exports) {
|
|
|
798
913
|
.args = (int[]) {
|
|
799
914
|
js_object,
|
|
800
915
|
js_object,
|
|
801
|
-
|
|
802
|
-
|
|
916
|
+
js_int64,
|
|
917
|
+
js_int64,
|
|
803
918
|
js_object,
|
|
804
|
-
|
|
805
|
-
|
|
919
|
+
js_int64,
|
|
920
|
+
js_int64,
|
|
806
921
|
}
|
|
807
922
|
}),
|
|
808
923
|
bare_buffer_typed_compare
|
package/lib/base64.js
CHANGED
|
@@ -9,6 +9,19 @@ exports.byteLength = function byteLength(string) {
|
|
|
9
9
|
return (len * 3) >>> 2
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
exports.toString =
|
|
12
|
+
exports.toString = function toString(buffer) {
|
|
13
|
+
return binding.toStringBase64(
|
|
14
|
+
buffer.buffer,
|
|
15
|
+
buffer.byteOffset,
|
|
16
|
+
buffer.byteLength
|
|
17
|
+
)
|
|
18
|
+
}
|
|
13
19
|
|
|
14
|
-
exports.write =
|
|
20
|
+
exports.write = function write(buffer, string) {
|
|
21
|
+
return binding.writeBase64(
|
|
22
|
+
buffer.buffer,
|
|
23
|
+
buffer.byteOffset,
|
|
24
|
+
buffer.byteLength,
|
|
25
|
+
string
|
|
26
|
+
)
|
|
27
|
+
}
|
package/lib/constants.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
const binding = require('../binding')
|
|
2
|
+
|
|
3
|
+
module.exports = binding.constants
|
package/lib/hex.js
CHANGED
|
@@ -4,6 +4,19 @@ exports.byteLength = function byteLength(string) {
|
|
|
4
4
|
return string.length >>> 1
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
exports.toString =
|
|
7
|
+
exports.toString = function toString(buffer) {
|
|
8
|
+
return binding.toStringHex(
|
|
9
|
+
buffer.buffer,
|
|
10
|
+
buffer.byteOffset,
|
|
11
|
+
buffer.byteLength
|
|
12
|
+
)
|
|
13
|
+
}
|
|
8
14
|
|
|
9
|
-
exports.write =
|
|
15
|
+
exports.write = function write(buffer, string) {
|
|
16
|
+
return binding.writeHex(
|
|
17
|
+
buffer.buffer,
|
|
18
|
+
buffer.byteOffset,
|
|
19
|
+
buffer.byteLength,
|
|
20
|
+
string
|
|
21
|
+
)
|
|
22
|
+
}
|
package/lib/latin1.js
CHANGED
|
@@ -4,6 +4,19 @@ exports.byteLength = function byteLength(string) {
|
|
|
4
4
|
return string.length
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
exports.toString =
|
|
7
|
+
exports.toString = function toString(buffer) {
|
|
8
|
+
return binding.toStringLatin1(
|
|
9
|
+
buffer.buffer,
|
|
10
|
+
buffer.byteOffset,
|
|
11
|
+
buffer.byteLength
|
|
12
|
+
)
|
|
13
|
+
}
|
|
8
14
|
|
|
9
|
-
exports.write =
|
|
15
|
+
exports.write = function write(buffer, string) {
|
|
16
|
+
return binding.writeLatin1(
|
|
17
|
+
buffer.buffer,
|
|
18
|
+
buffer.byteOffset,
|
|
19
|
+
buffer.byteLength,
|
|
20
|
+
string
|
|
21
|
+
)
|
|
22
|
+
}
|
package/lib/utf16le.js
CHANGED
|
@@ -4,6 +4,19 @@ exports.byteLength = function byteLength(string) {
|
|
|
4
4
|
return string.length * 2
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
exports.toString =
|
|
7
|
+
exports.toString = function toString(buffer) {
|
|
8
|
+
return binding.toStringUTF16LE(
|
|
9
|
+
buffer.buffer,
|
|
10
|
+
buffer.byteOffset,
|
|
11
|
+
buffer.byteLength
|
|
12
|
+
)
|
|
13
|
+
}
|
|
8
14
|
|
|
9
|
-
exports.write =
|
|
15
|
+
exports.write = function write(buffer, string) {
|
|
16
|
+
return binding.writeUTF16LE(
|
|
17
|
+
buffer.buffer,
|
|
18
|
+
buffer.byteOffset,
|
|
19
|
+
buffer.byteLength,
|
|
20
|
+
string
|
|
21
|
+
)
|
|
22
|
+
}
|
package/lib/utf8.js
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
const binding = require('../binding')
|
|
2
2
|
|
|
3
|
-
exports.byteLength =
|
|
3
|
+
exports.byteLength = function byteLength(string) {
|
|
4
|
+
return binding.byteLengthUTF8(string)
|
|
5
|
+
}
|
|
4
6
|
|
|
5
|
-
exports.toString =
|
|
7
|
+
exports.toString = function toString(buffer) {
|
|
8
|
+
return binding.toStringUTF8(
|
|
9
|
+
buffer.buffer,
|
|
10
|
+
buffer.byteOffset,
|
|
11
|
+
buffer.byteLength
|
|
12
|
+
)
|
|
13
|
+
}
|
|
6
14
|
|
|
7
|
-
exports.write =
|
|
15
|
+
exports.write = function write(buffer, string) {
|
|
16
|
+
return binding.writeUTF8(
|
|
17
|
+
buffer.buffer,
|
|
18
|
+
buffer.byteOffset,
|
|
19
|
+
buffer.byteLength,
|
|
20
|
+
string
|
|
21
|
+
)
|
|
22
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bare-buffer",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "Native buffers for JavaScript",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package": "./package.json",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"homepage": "https://github.com/holepunchto/bare-buffer#readme",
|
|
45
45
|
"engines": {
|
|
46
|
-
"bare": ">=1.
|
|
46
|
+
"bare": ">=1.20.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"brittle": "^3.1.1",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|