bare-buffer 3.1.0 → 3.1.3
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 +70 -35
- package/index.js +42 -18
- package/package.json +1 -1
- 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
|
@@ -143,18 +143,20 @@ bare_buffer_typed_write_utf8(js_value_t *receiver, js_value_t *typedarray, js_va
|
|
|
143
143
|
err = js_get_typed_callback_info(info, &env, NULL);
|
|
144
144
|
assert(err == 0);
|
|
145
145
|
|
|
146
|
+
js_handle_scope_t *scope;
|
|
147
|
+
err = js_open_handle_scope(env, &scope);
|
|
148
|
+
assert(err == 0);
|
|
149
|
+
|
|
146
150
|
void *buf;
|
|
147
151
|
size_t buf_len;
|
|
148
|
-
|
|
149
|
-
js_typedarray_view_t *buf_view;
|
|
150
|
-
err = js_get_typedarray_view(env, typedarray, NULL, &buf, &buf_len, &buf_view);
|
|
152
|
+
err = js_get_typedarray_info(env, typedarray, NULL, &buf, &buf_len, NULL, NULL);
|
|
151
153
|
assert(err == 0);
|
|
152
154
|
|
|
153
155
|
size_t str_len;
|
|
154
156
|
err = js_get_value_string_utf8(env, string, buf, buf_len, &str_len);
|
|
155
157
|
assert(err == 0);
|
|
156
158
|
|
|
157
|
-
err =
|
|
159
|
+
err = js_close_handle_scope(env, scope);
|
|
158
160
|
assert(err == 0);
|
|
159
161
|
|
|
160
162
|
return (uint32_t) str_len;
|
|
@@ -222,11 +224,13 @@ bare_buffer_typed_write_utf16le(js_value_t *receiver, js_value_t *typedarray, js
|
|
|
222
224
|
err = js_get_typed_callback_info(info, &env, NULL);
|
|
223
225
|
assert(err == 0);
|
|
224
226
|
|
|
227
|
+
js_handle_scope_t *scope;
|
|
228
|
+
err = js_open_handle_scope(env, &scope);
|
|
229
|
+
assert(err == 0);
|
|
230
|
+
|
|
225
231
|
void *buf;
|
|
226
232
|
size_t buf_len;
|
|
227
|
-
|
|
228
|
-
js_typedarray_view_t *buf_view;
|
|
229
|
-
err = js_get_typedarray_view(env, typedarray, NULL, &buf, &buf_len, &buf_view);
|
|
233
|
+
err = js_get_typedarray_info(env, typedarray, NULL, &buf, &buf_len, NULL, NULL);
|
|
230
234
|
assert(err == 0);
|
|
231
235
|
|
|
232
236
|
buf_len /= sizeof(utf16_t);
|
|
@@ -237,7 +241,7 @@ bare_buffer_typed_write_utf16le(js_value_t *receiver, js_value_t *typedarray, js
|
|
|
237
241
|
|
|
238
242
|
str_len *= sizeof(utf16_t);
|
|
239
243
|
|
|
240
|
-
err =
|
|
244
|
+
err = js_close_handle_scope(env, scope);
|
|
241
245
|
assert(err == 0);
|
|
242
246
|
|
|
243
247
|
return (uint32_t) str_len;
|
|
@@ -307,18 +311,20 @@ bare_buffer_typed_write_latin1(js_value_t *receiver, js_value_t *typedarray, js_
|
|
|
307
311
|
err = js_get_typed_callback_info(info, &env, NULL);
|
|
308
312
|
assert(err == 0);
|
|
309
313
|
|
|
314
|
+
js_handle_scope_t *scope;
|
|
315
|
+
err = js_open_handle_scope(env, &scope);
|
|
316
|
+
assert(err == 0);
|
|
317
|
+
|
|
310
318
|
void *buf;
|
|
311
319
|
size_t buf_len;
|
|
312
|
-
|
|
313
|
-
js_typedarray_view_t *buf_view;
|
|
314
|
-
err = js_get_typedarray_view(env, typedarray, NULL, &buf, &buf_len, &buf_view);
|
|
320
|
+
err = js_get_typedarray_info(env, typedarray, NULL, &buf, &buf_len, NULL, NULL);
|
|
315
321
|
assert(err == 0);
|
|
316
322
|
|
|
317
323
|
size_t str_len;
|
|
318
324
|
err = js_get_value_string_latin1(env, string, buf, buf_len, &str_len);
|
|
319
325
|
assert(err == 0);
|
|
320
326
|
|
|
321
|
-
err =
|
|
327
|
+
err = js_close_handle_scope(env, scope);
|
|
322
328
|
assert(err == 0);
|
|
323
329
|
|
|
324
330
|
return (uint32_t) str_len;
|
|
@@ -392,11 +398,13 @@ bare_buffer_typed_write_base64(js_value_t *receiver, js_value_t *typedarray, js_
|
|
|
392
398
|
err = js_get_typed_callback_info(info, &env, NULL);
|
|
393
399
|
assert(err == 0);
|
|
394
400
|
|
|
401
|
+
js_handle_scope_t *scope;
|
|
402
|
+
err = js_open_handle_scope(env, &scope);
|
|
403
|
+
assert(err == 0);
|
|
404
|
+
|
|
395
405
|
void *buf;
|
|
396
406
|
size_t buf_len;
|
|
397
|
-
|
|
398
|
-
js_typedarray_view_t *buf_view;
|
|
399
|
-
err = js_get_typedarray_view(env, typedarray, NULL, &buf, &buf_len, &buf_view);
|
|
407
|
+
err = js_get_typedarray_info(env, typedarray, NULL, &buf, &buf_len, NULL, NULL);
|
|
400
408
|
assert(err == 0);
|
|
401
409
|
|
|
402
410
|
js_string_encoding_t encoding;
|
|
@@ -418,7 +426,7 @@ bare_buffer_typed_write_base64(js_value_t *receiver, js_value_t *typedarray, js_
|
|
|
418
426
|
err = js_release_string_view(env, str_view);
|
|
419
427
|
assert(err == 0);
|
|
420
428
|
|
|
421
|
-
err =
|
|
429
|
+
err = js_close_handle_scope(env, scope);
|
|
422
430
|
assert(err == 0);
|
|
423
431
|
|
|
424
432
|
return buf_len;
|
|
@@ -507,11 +515,13 @@ bare_buffer_typed_write_hex(js_value_t *receiver, js_value_t *typedarray, js_val
|
|
|
507
515
|
err = js_get_typed_callback_info(info, &env, NULL);
|
|
508
516
|
assert(err == 0);
|
|
509
517
|
|
|
518
|
+
js_handle_scope_t *scope;
|
|
519
|
+
err = js_open_handle_scope(env, &scope);
|
|
520
|
+
assert(err == 0);
|
|
521
|
+
|
|
510
522
|
void *buf;
|
|
511
523
|
size_t buf_len;
|
|
512
|
-
|
|
513
|
-
js_typedarray_view_t *buf_view;
|
|
514
|
-
err = js_get_typedarray_view(env, typedarray, NULL, &buf, &buf_len, &buf_view);
|
|
524
|
+
err = js_get_typedarray_info(env, typedarray, NULL, &buf, &buf_len, NULL, NULL);
|
|
515
525
|
assert(err == 0);
|
|
516
526
|
|
|
517
527
|
js_string_encoding_t encoding;
|
|
@@ -533,7 +543,7 @@ bare_buffer_typed_write_hex(js_value_t *receiver, js_value_t *typedarray, js_val
|
|
|
533
543
|
err = js_release_string_view(env, str_view);
|
|
534
544
|
assert(err == 0);
|
|
535
545
|
|
|
536
|
-
err =
|
|
546
|
+
err = js_close_handle_scope(env, scope);
|
|
537
547
|
assert(err == 0);
|
|
538
548
|
|
|
539
549
|
return buf_len;
|
|
@@ -583,7 +593,16 @@ bare_buffer_write_hex(js_env_t *env, js_callback_info_t *info) {
|
|
|
583
593
|
}
|
|
584
594
|
|
|
585
595
|
static int32_t
|
|
586
|
-
bare_buffer_typed_compare(
|
|
596
|
+
bare_buffer_typed_compare(
|
|
597
|
+
js_value_t *receiver,
|
|
598
|
+
js_value_t *a_handle,
|
|
599
|
+
uint32_t a_offset,
|
|
600
|
+
uint32_t a_len,
|
|
601
|
+
js_value_t *b_handle,
|
|
602
|
+
uint32_t b_offset,
|
|
603
|
+
uint32_t b_len,
|
|
604
|
+
js_typed_callback_info_t *info
|
|
605
|
+
) {
|
|
587
606
|
int err;
|
|
588
607
|
|
|
589
608
|
js_env_t *env;
|
|
@@ -591,42 +610,54 @@ bare_buffer_typed_compare(js_value_t *receiver, js_value_t *source, js_value_t *
|
|
|
591
610
|
assert(err == 0);
|
|
592
611
|
|
|
593
612
|
void *a;
|
|
594
|
-
|
|
595
|
-
err = js_get_typedarray_info(env, source, NULL, &a, &a_len, NULL, NULL);
|
|
613
|
+
err = js_get_arraybuffer_info(env, a_handle, &a, NULL);
|
|
596
614
|
assert(err == 0);
|
|
597
615
|
|
|
598
616
|
void *b;
|
|
599
|
-
|
|
600
|
-
err = js_get_typedarray_info(env, target, NULL, &b, &b_len, NULL, NULL);
|
|
617
|
+
err = js_get_arraybuffer_info(env, b_handle, &b, NULL);
|
|
601
618
|
assert(err == 0);
|
|
602
619
|
|
|
603
|
-
return bare_buffer__memcmp(a, a_len, b, b_len);
|
|
620
|
+
return bare_buffer__memcmp(&a[a_offset], a_len, &b[b_offset], b_len);
|
|
604
621
|
}
|
|
605
622
|
|
|
606
623
|
static js_value_t *
|
|
607
624
|
bare_buffer_compare(js_env_t *env, js_callback_info_t *info) {
|
|
608
625
|
int err;
|
|
609
626
|
|
|
610
|
-
size_t argc =
|
|
611
|
-
js_value_t *argv[
|
|
627
|
+
size_t argc = 6;
|
|
628
|
+
js_value_t *argv[6];
|
|
612
629
|
|
|
613
630
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
614
631
|
assert(err == 0);
|
|
615
632
|
|
|
616
|
-
assert(argc ==
|
|
633
|
+
assert(argc == 6);
|
|
617
634
|
|
|
618
635
|
void *a;
|
|
619
|
-
|
|
620
|
-
err
|
|
636
|
+
err = js_get_arraybuffer_info(env, argv[0], &a, NULL);
|
|
637
|
+
assert(err == 0);
|
|
638
|
+
|
|
639
|
+
uint32_t a_offset;
|
|
640
|
+
err = js_get_value_uint32(env, argv[1], &a_offset);
|
|
641
|
+
assert(err == 0);
|
|
642
|
+
|
|
643
|
+
uint32_t a_len;
|
|
644
|
+
err = js_get_value_uint32(env, argv[2], &a_len);
|
|
621
645
|
assert(err == 0);
|
|
622
646
|
|
|
623
647
|
void *b;
|
|
624
|
-
|
|
625
|
-
err
|
|
648
|
+
err = js_get_arraybuffer_info(env, argv[3], &b, NULL);
|
|
649
|
+
assert(err == 0);
|
|
650
|
+
|
|
651
|
+
uint32_t b_offset;
|
|
652
|
+
err = js_get_value_uint32(env, argv[4], &b_offset);
|
|
653
|
+
assert(err == 0);
|
|
654
|
+
|
|
655
|
+
uint32_t b_len;
|
|
656
|
+
err = js_get_value_uint32(env, argv[5], &b_len);
|
|
626
657
|
assert(err == 0);
|
|
627
658
|
|
|
628
659
|
js_value_t *result;
|
|
629
|
-
err = js_create_int32(env, bare_buffer__memcmp(a, a_len, b, b_len), &result);
|
|
660
|
+
err = js_create_int32(env, bare_buffer__memcmp(&a[a_offset], a_len, &b[b_offset], b_len), &result);
|
|
630
661
|
assert(err == 0);
|
|
631
662
|
|
|
632
663
|
return result;
|
|
@@ -806,11 +837,15 @@ bare_buffer_exports(js_env_t *env, js_value_t *exports) {
|
|
|
806
837
|
&((js_callback_signature_t) {
|
|
807
838
|
.version = 0,
|
|
808
839
|
.result = js_int32,
|
|
809
|
-
.args_len =
|
|
840
|
+
.args_len = 7,
|
|
810
841
|
.args = (int[]) {
|
|
811
842
|
js_object,
|
|
812
843
|
js_object,
|
|
844
|
+
js_uint32,
|
|
845
|
+
js_uint32,
|
|
813
846
|
js_object,
|
|
847
|
+
js_uint32,
|
|
848
|
+
js_uint32,
|
|
814
849
|
}
|
|
815
850
|
}),
|
|
816
851
|
bare_buffer_typed_compare
|
package/index.js
CHANGED
|
@@ -104,7 +104,16 @@ module.exports = exports = class Buffer extends Uint8Array {
|
|
|
104
104
|
|
|
105
105
|
if (source.byteLength !== target.byteLength) return false
|
|
106
106
|
|
|
107
|
-
return
|
|
107
|
+
return (
|
|
108
|
+
binding.compare(
|
|
109
|
+
source.buffer,
|
|
110
|
+
source.byteOffset,
|
|
111
|
+
source.byteLength,
|
|
112
|
+
target.buffer,
|
|
113
|
+
target.byteOffset,
|
|
114
|
+
target.byteLength
|
|
115
|
+
) === 0
|
|
116
|
+
)
|
|
108
117
|
}
|
|
109
118
|
|
|
110
119
|
compare(
|
|
@@ -118,29 +127,36 @@ module.exports = exports = class Buffer extends Uint8Array {
|
|
|
118
127
|
|
|
119
128
|
if (source === target) return 0
|
|
120
129
|
|
|
121
|
-
if (arguments.length
|
|
130
|
+
if (arguments.length > 1) {
|
|
131
|
+
if (targetStart < 0) targetStart = 0
|
|
132
|
+
if (targetStart > target.byteLength) targetStart = target.byteLength
|
|
122
133
|
|
|
123
|
-
|
|
124
|
-
|
|
134
|
+
if (targetEnd < targetStart) targetEnd = targetStart
|
|
135
|
+
if (targetEnd > target.byteLength) targetEnd = target.byteLength
|
|
125
136
|
|
|
126
|
-
|
|
127
|
-
|
|
137
|
+
if (sourceStart < 0) sourceStart = 0
|
|
138
|
+
if (sourceStart > source.byteLength) sourceStart = source.byteLength
|
|
128
139
|
|
|
129
|
-
|
|
130
|
-
|
|
140
|
+
if (sourceEnd < sourceStart) sourceEnd = sourceStart
|
|
141
|
+
if (sourceEnd > source.byteLength) sourceEnd = source.byteLength
|
|
131
142
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
if (sourceStart !== 0 || sourceEnd !== source.byteLength) {
|
|
136
|
-
source = source.subarray(sourceStart, sourceEnd)
|
|
137
|
-
}
|
|
143
|
+
if (sourceStart !== 0 || sourceEnd !== source.byteLength) {
|
|
144
|
+
source = source.subarray(sourceStart, sourceEnd)
|
|
145
|
+
}
|
|
138
146
|
|
|
139
|
-
|
|
140
|
-
|
|
147
|
+
if (targetStart !== 0 || targetEnd !== target.byteLength) {
|
|
148
|
+
target = target.subarray(targetStart, targetEnd)
|
|
149
|
+
}
|
|
141
150
|
}
|
|
142
151
|
|
|
143
|
-
return binding.compare(
|
|
152
|
+
return binding.compare(
|
|
153
|
+
source.buffer,
|
|
154
|
+
source.byteOffset,
|
|
155
|
+
source.byteLength,
|
|
156
|
+
target.buffer,
|
|
157
|
+
target.byteOffset,
|
|
158
|
+
target.byteLength
|
|
159
|
+
)
|
|
144
160
|
}
|
|
145
161
|
|
|
146
162
|
fill(value, offset = 0, end = this.byteLength, encoding = 'utf8') {
|
|
@@ -545,6 +561,7 @@ function viewOf(buffer) {
|
|
|
545
561
|
}
|
|
546
562
|
|
|
547
563
|
exports.isBuffer = function isBuffer(value) {
|
|
564
|
+
if (value instanceof Buffer) return true
|
|
548
565
|
if (typeof value !== 'object' || value === null) return false
|
|
549
566
|
|
|
550
567
|
let constructor = value.constructor
|
|
@@ -590,7 +607,14 @@ exports.byteLength = function byteLength(string, encoding) {
|
|
|
590
607
|
}
|
|
591
608
|
|
|
592
609
|
exports.compare = function compare(a, b) {
|
|
593
|
-
return binding.compare(
|
|
610
|
+
return binding.compare(
|
|
611
|
+
a.buffer,
|
|
612
|
+
a.byteOffset,
|
|
613
|
+
a.byteLength,
|
|
614
|
+
b.buffer,
|
|
615
|
+
b.byteOffset,
|
|
616
|
+
b.byteLength
|
|
617
|
+
)
|
|
594
618
|
}
|
|
595
619
|
|
|
596
620
|
exports.concat = function concat(buffers, length) {
|
package/package.json
CHANGED
|
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
|