bare-buffer 3.0.2 → 3.1.2
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 +133 -26
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/lib/latin1.js +9 -0
- 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
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
static js_type_tag_t bare_buffer__tag = {0xfea3e944b70b0812, 0xe53bb5c343c040b6};
|
|
11
11
|
|
|
12
12
|
static inline int
|
|
13
|
-
bare_buffer__memcmp
|
|
13
|
+
bare_buffer__memcmp(void *a, size_t a_len, void *b, size_t b_len) {
|
|
14
14
|
int r = memcmp(a, b, a_len < b_len ? a_len : b_len);
|
|
15
15
|
|
|
16
16
|
if (r == 0) {
|
|
@@ -23,12 +23,12 @@ bare_buffer__memcmp (void *a, size_t a_len, void *b, size_t b_len) {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
static void
|
|
26
|
-
bare_buffer__on_free_string
|
|
26
|
+
bare_buffer__on_free_string(js_env_t *env, void *data, void *finalize_hint) {
|
|
27
27
|
free(data);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
static js_value_t *
|
|
31
|
-
bare_buffer_alloc
|
|
31
|
+
bare_buffer_alloc(js_env_t *env, js_callback_info_t *info) {
|
|
32
32
|
int err;
|
|
33
33
|
|
|
34
34
|
size_t argc = 1;
|
|
@@ -51,7 +51,7 @@ bare_buffer_alloc (js_env_t *env, js_callback_info_t *info) {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
static js_value_t *
|
|
54
|
-
bare_buffer_alloc_unsafe
|
|
54
|
+
bare_buffer_alloc_unsafe(js_env_t *env, js_callback_info_t *info) {
|
|
55
55
|
int err;
|
|
56
56
|
|
|
57
57
|
size_t argc = 1;
|
|
@@ -74,7 +74,7 @@ bare_buffer_alloc_unsafe (js_env_t *env, js_callback_info_t *info) {
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
static uint32_t
|
|
77
|
-
bare_buffer_typed_byte_length_utf8
|
|
77
|
+
bare_buffer_typed_byte_length_utf8(js_value_t *receiver, js_value_t *str, js_typed_callback_info_t *info) {
|
|
78
78
|
int err;
|
|
79
79
|
|
|
80
80
|
js_env_t *env;
|
|
@@ -89,7 +89,7 @@ bare_buffer_typed_byte_length_utf8 (js_value_t *receiver, js_value_t *str, js_ty
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
static js_value_t *
|
|
92
|
-
bare_buffer_byte_length_utf8
|
|
92
|
+
bare_buffer_byte_length_utf8(js_env_t *env, js_callback_info_t *info) {
|
|
93
93
|
int err;
|
|
94
94
|
|
|
95
95
|
size_t argc = 1;
|
|
@@ -112,7 +112,7 @@ bare_buffer_byte_length_utf8 (js_env_t *env, js_callback_info_t *info) {
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
static js_value_t *
|
|
115
|
-
bare_buffer_to_string_utf8
|
|
115
|
+
bare_buffer_to_string_utf8(js_env_t *env, js_callback_info_t *info) {
|
|
116
116
|
int err;
|
|
117
117
|
|
|
118
118
|
size_t argc = 1;
|
|
@@ -136,7 +136,7 @@ bare_buffer_to_string_utf8 (js_env_t *env, js_callback_info_t *info) {
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
static uint32_t
|
|
139
|
-
bare_buffer_typed_write_utf8
|
|
139
|
+
bare_buffer_typed_write_utf8(js_value_t *receiver, js_value_t *typedarray, js_value_t *string, js_typed_callback_info_t *info) {
|
|
140
140
|
int err;
|
|
141
141
|
|
|
142
142
|
js_env_t *env;
|
|
@@ -161,7 +161,7 @@ bare_buffer_typed_write_utf8 (js_value_t *receiver, js_value_t *typedarray, js_v
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
static js_value_t *
|
|
164
|
-
bare_buffer_write_utf8
|
|
164
|
+
bare_buffer_write_utf8(js_env_t *env, js_callback_info_t *info) {
|
|
165
165
|
int err;
|
|
166
166
|
|
|
167
167
|
size_t argc = 2;
|
|
@@ -189,7 +189,7 @@ bare_buffer_write_utf8 (js_env_t *env, js_callback_info_t *info) {
|
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
static js_value_t *
|
|
192
|
-
bare_buffer_to_string_utf16le
|
|
192
|
+
bare_buffer_to_string_utf16le(js_env_t *env, js_callback_info_t *info) {
|
|
193
193
|
int err;
|
|
194
194
|
|
|
195
195
|
size_t argc = 1;
|
|
@@ -215,7 +215,7 @@ bare_buffer_to_string_utf16le (js_env_t *env, js_callback_info_t *info) {
|
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
static uint32_t
|
|
218
|
-
bare_buffer_typed_write_utf16le
|
|
218
|
+
bare_buffer_typed_write_utf16le(js_value_t *receiver, js_value_t *typedarray, js_value_t *string, js_typed_callback_info_t *info) {
|
|
219
219
|
int err;
|
|
220
220
|
|
|
221
221
|
js_env_t *env;
|
|
@@ -244,7 +244,7 @@ bare_buffer_typed_write_utf16le (js_value_t *receiver, js_value_t *typedarray, j
|
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
static js_value_t *
|
|
247
|
-
bare_buffer_write_utf16le
|
|
247
|
+
bare_buffer_write_utf16le(js_env_t *env, js_callback_info_t *info) {
|
|
248
248
|
int err;
|
|
249
249
|
|
|
250
250
|
size_t argc = 2;
|
|
@@ -276,7 +276,84 @@ bare_buffer_write_utf16le (js_env_t *env, js_callback_info_t *info) {
|
|
|
276
276
|
}
|
|
277
277
|
|
|
278
278
|
static js_value_t *
|
|
279
|
-
|
|
279
|
+
bare_buffer_to_string_latin1(js_env_t *env, js_callback_info_t *info) {
|
|
280
|
+
int err;
|
|
281
|
+
|
|
282
|
+
size_t argc = 1;
|
|
283
|
+
js_value_t *argv[1];
|
|
284
|
+
|
|
285
|
+
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
286
|
+
assert(err == 0);
|
|
287
|
+
|
|
288
|
+
assert(argc == 1);
|
|
289
|
+
|
|
290
|
+
latin1_t *buf;
|
|
291
|
+
size_t buf_len;
|
|
292
|
+
err = js_get_typedarray_info(env, argv[0], NULL, (void **) &buf, &buf_len, NULL, NULL);
|
|
293
|
+
assert(err == 0);
|
|
294
|
+
|
|
295
|
+
js_value_t *result;
|
|
296
|
+
err = js_create_string_latin1(env, buf, buf_len, &result);
|
|
297
|
+
assert(err == 0);
|
|
298
|
+
|
|
299
|
+
return result;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
static uint32_t
|
|
303
|
+
bare_buffer_typed_write_latin1(js_value_t *receiver, js_value_t *typedarray, js_value_t *string, js_typed_callback_info_t *info) {
|
|
304
|
+
int err;
|
|
305
|
+
|
|
306
|
+
js_env_t *env;
|
|
307
|
+
err = js_get_typed_callback_info(info, &env, NULL);
|
|
308
|
+
assert(err == 0);
|
|
309
|
+
|
|
310
|
+
void *buf;
|
|
311
|
+
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);
|
|
315
|
+
assert(err == 0);
|
|
316
|
+
|
|
317
|
+
size_t str_len;
|
|
318
|
+
err = js_get_value_string_latin1(env, string, buf, buf_len, &str_len);
|
|
319
|
+
assert(err == 0);
|
|
320
|
+
|
|
321
|
+
err = js_release_typedarray_view(env, buf_view);
|
|
322
|
+
assert(err == 0);
|
|
323
|
+
|
|
324
|
+
return (uint32_t) str_len;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
static js_value_t *
|
|
328
|
+
bare_buffer_write_latin1(js_env_t *env, js_callback_info_t *info) {
|
|
329
|
+
int err;
|
|
330
|
+
|
|
331
|
+
size_t argc = 2;
|
|
332
|
+
js_value_t *argv[2];
|
|
333
|
+
|
|
334
|
+
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
335
|
+
assert(err == 0);
|
|
336
|
+
|
|
337
|
+
assert(argc == 2);
|
|
338
|
+
|
|
339
|
+
void *buf;
|
|
340
|
+
size_t buf_len;
|
|
341
|
+
err = js_get_typedarray_info(env, argv[0], NULL, &buf, &buf_len, NULL, NULL);
|
|
342
|
+
assert(err == 0);
|
|
343
|
+
|
|
344
|
+
size_t str_len;
|
|
345
|
+
err = js_get_value_string_latin1(env, argv[1], buf, buf_len, &str_len);
|
|
346
|
+
assert(err == 0);
|
|
347
|
+
|
|
348
|
+
js_value_t *result;
|
|
349
|
+
err = js_create_uint32(env, (uint32_t) str_len, &result);
|
|
350
|
+
assert(err == 0);
|
|
351
|
+
|
|
352
|
+
return result;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
static js_value_t *
|
|
356
|
+
bare_buffer_to_string_base64(js_env_t *env, js_callback_info_t *info) {
|
|
280
357
|
int err;
|
|
281
358
|
|
|
282
359
|
size_t argc = 1;
|
|
@@ -308,7 +385,7 @@ bare_buffer_to_string_base64 (js_env_t *env, js_callback_info_t *info) {
|
|
|
308
385
|
}
|
|
309
386
|
|
|
310
387
|
static uint32_t
|
|
311
|
-
bare_buffer_typed_write_base64
|
|
388
|
+
bare_buffer_typed_write_base64(js_value_t *receiver, js_value_t *typedarray, js_value_t *string, js_typed_callback_info_t *info) {
|
|
312
389
|
int err;
|
|
313
390
|
|
|
314
391
|
js_env_t *env;
|
|
@@ -348,7 +425,7 @@ bare_buffer_typed_write_base64 (js_value_t *receiver, js_value_t *typedarray, js
|
|
|
348
425
|
}
|
|
349
426
|
|
|
350
427
|
static js_value_t *
|
|
351
|
-
bare_buffer_write_base64
|
|
428
|
+
bare_buffer_write_base64(js_env_t *env, js_callback_info_t *info) {
|
|
352
429
|
int err;
|
|
353
430
|
|
|
354
431
|
size_t argc = 2;
|
|
@@ -391,7 +468,7 @@ bare_buffer_write_base64 (js_env_t *env, js_callback_info_t *info) {
|
|
|
391
468
|
}
|
|
392
469
|
|
|
393
470
|
static js_value_t *
|
|
394
|
-
bare_buffer_to_string_hex
|
|
471
|
+
bare_buffer_to_string_hex(js_env_t *env, js_callback_info_t *info) {
|
|
395
472
|
int err;
|
|
396
473
|
|
|
397
474
|
size_t argc = 1;
|
|
@@ -423,7 +500,7 @@ bare_buffer_to_string_hex (js_env_t *env, js_callback_info_t *info) {
|
|
|
423
500
|
}
|
|
424
501
|
|
|
425
502
|
static uint32_t
|
|
426
|
-
bare_buffer_typed_write_hex
|
|
503
|
+
bare_buffer_typed_write_hex(js_value_t *receiver, js_value_t *typedarray, js_value_t *string, js_typed_callback_info_t *info) {
|
|
427
504
|
int err;
|
|
428
505
|
|
|
429
506
|
js_env_t *env;
|
|
@@ -463,7 +540,7 @@ bare_buffer_typed_write_hex (js_value_t *receiver, js_value_t *typedarray, js_va
|
|
|
463
540
|
}
|
|
464
541
|
|
|
465
542
|
static js_value_t *
|
|
466
|
-
bare_buffer_write_hex
|
|
543
|
+
bare_buffer_write_hex(js_env_t *env, js_callback_info_t *info) {
|
|
467
544
|
int err;
|
|
468
545
|
|
|
469
546
|
size_t argc = 2;
|
|
@@ -506,7 +583,7 @@ bare_buffer_write_hex (js_env_t *env, js_callback_info_t *info) {
|
|
|
506
583
|
}
|
|
507
584
|
|
|
508
585
|
static int32_t
|
|
509
|
-
bare_buffer_typed_compare
|
|
586
|
+
bare_buffer_typed_compare(js_value_t *receiver, js_value_t *source, js_value_t *target, js_typed_callback_info_t *info) {
|
|
510
587
|
int err;
|
|
511
588
|
|
|
512
589
|
js_env_t *env;
|
|
@@ -515,19 +592,31 @@ bare_buffer_typed_compare (js_value_t *receiver, js_value_t *source, js_value_t
|
|
|
515
592
|
|
|
516
593
|
void *a;
|
|
517
594
|
size_t a_len;
|
|
518
|
-
|
|
595
|
+
|
|
596
|
+
js_typedarray_view_t *a_view;
|
|
597
|
+
err = js_get_typedarray_view(env, source, NULL, &a, &a_len, &a_view);
|
|
519
598
|
assert(err == 0);
|
|
520
599
|
|
|
521
600
|
void *b;
|
|
522
601
|
size_t b_len;
|
|
523
|
-
|
|
602
|
+
|
|
603
|
+
js_typedarray_view_t *b_view;
|
|
604
|
+
err = js_get_typedarray_view(env, target, NULL, &b, &b_len, &b_view);
|
|
605
|
+
assert(err == 0);
|
|
606
|
+
|
|
607
|
+
int result = bare_buffer__memcmp(a, a_len, b, b_len);
|
|
608
|
+
|
|
609
|
+
err = js_release_typedarray_view(env, a_view);
|
|
524
610
|
assert(err == 0);
|
|
525
611
|
|
|
526
|
-
|
|
612
|
+
err = js_release_typedarray_view(env, b_view);
|
|
613
|
+
assert(err == 0);
|
|
614
|
+
|
|
615
|
+
return result;
|
|
527
616
|
}
|
|
528
617
|
|
|
529
618
|
static js_value_t *
|
|
530
|
-
bare_buffer_compare
|
|
619
|
+
bare_buffer_compare(js_env_t *env, js_callback_info_t *info) {
|
|
531
620
|
int err;
|
|
532
621
|
|
|
533
622
|
size_t argc = 2;
|
|
@@ -556,7 +645,7 @@ bare_buffer_compare (js_env_t *env, js_callback_info_t *info) {
|
|
|
556
645
|
}
|
|
557
646
|
|
|
558
647
|
static js_value_t *
|
|
559
|
-
bare_buffer_tag
|
|
648
|
+
bare_buffer_tag(js_env_t *env, js_callback_info_t *info) {
|
|
560
649
|
int err;
|
|
561
650
|
|
|
562
651
|
size_t argc = 1;
|
|
@@ -574,7 +663,7 @@ bare_buffer_tag (js_env_t *env, js_callback_info_t *info) {
|
|
|
574
663
|
}
|
|
575
664
|
|
|
576
665
|
static js_value_t *
|
|
577
|
-
bare_buffer_is_tagged
|
|
666
|
+
bare_buffer_is_tagged(js_env_t *env, js_callback_info_t *info) {
|
|
578
667
|
int err;
|
|
579
668
|
|
|
580
669
|
size_t argc = 1;
|
|
@@ -597,7 +686,7 @@ bare_buffer_is_tagged (js_env_t *env, js_callback_info_t *info) {
|
|
|
597
686
|
}
|
|
598
687
|
|
|
599
688
|
static js_value_t *
|
|
600
|
-
bare_buffer_exports
|
|
689
|
+
bare_buffer_exports(js_env_t *env, js_value_t *exports) {
|
|
601
690
|
int err;
|
|
602
691
|
|
|
603
692
|
#define V(name, untyped, signature, typed) \
|
|
@@ -669,6 +758,24 @@ bare_buffer_exports (js_env_t *env, js_value_t *exports) {
|
|
|
669
758
|
bare_buffer_typed_write_utf16le
|
|
670
759
|
);
|
|
671
760
|
|
|
761
|
+
V("toStringLatin1", bare_buffer_to_string_latin1, NULL, NULL);
|
|
762
|
+
|
|
763
|
+
V(
|
|
764
|
+
"writeLatin1",
|
|
765
|
+
bare_buffer_write_latin1,
|
|
766
|
+
&((js_callback_signature_t) {
|
|
767
|
+
.version = 0,
|
|
768
|
+
.result = js_uint32,
|
|
769
|
+
.args_len = 3,
|
|
770
|
+
.args = (int[]) {
|
|
771
|
+
js_object,
|
|
772
|
+
js_object,
|
|
773
|
+
js_string,
|
|
774
|
+
}
|
|
775
|
+
}),
|
|
776
|
+
bare_buffer_typed_write_latin1
|
|
777
|
+
);
|
|
778
|
+
|
|
672
779
|
V("toStringBase64", bare_buffer_to_string_base64, NULL, NULL);
|
|
673
780
|
|
|
674
781
|
V(
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -4,6 +4,7 @@ const base64 = require('./lib/base64')
|
|
|
4
4
|
const hex = require('./lib/hex')
|
|
5
5
|
const utf8 = require('./lib/utf8')
|
|
6
6
|
const utf16le = require('./lib/utf16le')
|
|
7
|
+
const latin1 = require('./lib/latin1')
|
|
7
8
|
const binding = require('./binding')
|
|
8
9
|
|
|
9
10
|
let poolSize = 0
|
|
@@ -520,6 +521,7 @@ codecs.base64 = base64
|
|
|
520
521
|
codecs.hex = hex
|
|
521
522
|
codecs.utf8 = codecs['utf-8'] = utf8
|
|
522
523
|
codecs.utf16le = codecs.ucs2 = codecs['utf-16le'] = codecs['ucs-2'] = utf16le
|
|
524
|
+
codecs.latin1 = codecs.binary = latin1
|
|
523
525
|
|
|
524
526
|
function codecFor(encoding = 'utf8') {
|
|
525
527
|
if (encoding in codecs) return codecs[encoding]
|
package/lib/latin1.js
ADDED
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
|