bare-buffer 3.0.2 → 3.1.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 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 (void *a, size_t a_len, void *b, size_t b_len) {
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 (js_env_t *env, void *data, void *finalize_hint) {
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 (js_env_t *env, js_callback_info_t *info) {
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 (js_env_t *env, js_callback_info_t *info) {
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 (js_value_t *receiver, js_value_t *str, js_typed_callback_info_t *info) {
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 (js_env_t *env, js_callback_info_t *info) {
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 (js_env_t *env, js_callback_info_t *info) {
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 (js_value_t *receiver, js_value_t *typedarray, js_value_t *string, js_typed_callback_info_t *info) {
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 (js_env_t *env, js_callback_info_t *info) {
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 (js_env_t *env, js_callback_info_t *info) {
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 (js_value_t *receiver, js_value_t *typedarray, js_value_t *string, js_typed_callback_info_t *info) {
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 (js_env_t *env, js_callback_info_t *info) {
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
- bare_buffer_to_string_base64 (js_env_t *env, js_callback_info_t *info) {
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 (js_value_t *receiver, js_value_t *typedarray, js_value_t *string, js_typed_callback_info_t *info) {
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 (js_env_t *env, js_callback_info_t *info) {
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 (js_env_t *env, js_callback_info_t *info) {
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 (js_value_t *receiver, js_value_t *typedarray, js_value_t *string, js_typed_callback_info_t *info) {
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 (js_env_t *env, js_callback_info_t *info) {
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 (js_value_t *receiver, js_value_t *source, js_value_t *target, js_typed_callback_info_t *info) {
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;
@@ -527,7 +604,7 @@ bare_buffer_typed_compare (js_value_t *receiver, js_value_t *source, js_value_t
527
604
  }
528
605
 
529
606
  static js_value_t *
530
- bare_buffer_compare (js_env_t *env, js_callback_info_t *info) {
607
+ bare_buffer_compare(js_env_t *env, js_callback_info_t *info) {
531
608
  int err;
532
609
 
533
610
  size_t argc = 2;
@@ -556,7 +633,7 @@ bare_buffer_compare (js_env_t *env, js_callback_info_t *info) {
556
633
  }
557
634
 
558
635
  static js_value_t *
559
- bare_buffer_tag (js_env_t *env, js_callback_info_t *info) {
636
+ bare_buffer_tag(js_env_t *env, js_callback_info_t *info) {
560
637
  int err;
561
638
 
562
639
  size_t argc = 1;
@@ -574,7 +651,7 @@ bare_buffer_tag (js_env_t *env, js_callback_info_t *info) {
574
651
  }
575
652
 
576
653
  static js_value_t *
577
- bare_buffer_is_tagged (js_env_t *env, js_callback_info_t *info) {
654
+ bare_buffer_is_tagged(js_env_t *env, js_callback_info_t *info) {
578
655
  int err;
579
656
 
580
657
  size_t argc = 1;
@@ -597,7 +674,7 @@ bare_buffer_is_tagged (js_env_t *env, js_callback_info_t *info) {
597
674
  }
598
675
 
599
676
  static js_value_t *
600
- bare_buffer_exports (js_env_t *env, js_value_t *exports) {
677
+ bare_buffer_exports(js_env_t *env, js_value_t *exports) {
601
678
  int err;
602
679
 
603
680
  #define V(name, untyped, signature, typed) \
@@ -669,6 +746,24 @@ bare_buffer_exports (js_env_t *env, js_value_t *exports) {
669
746
  bare_buffer_typed_write_utf16le
670
747
  );
671
748
 
749
+ V("toStringLatin1", bare_buffer_to_string_latin1, NULL, NULL);
750
+
751
+ V(
752
+ "writeLatin1",
753
+ bare_buffer_write_latin1,
754
+ &((js_callback_signature_t) {
755
+ .version = 0,
756
+ .result = js_uint32,
757
+ .args_len = 3,
758
+ .args = (int[]) {
759
+ js_object,
760
+ js_object,
761
+ js_string,
762
+ }
763
+ }),
764
+ bare_buffer_typed_write_latin1
765
+ );
766
+
672
767
  V("toStringBase64", bare_buffer_to_string_base64, NULL, NULL);
673
768
 
674
769
  V(
package/index.d.ts CHANGED
@@ -3,7 +3,9 @@ import constants from './lib/constants'
3
3
  type BufferEncoding =
4
4
  | 'ascii'
5
5
  | 'base64'
6
+ | 'binary'
6
7
  | 'hex'
8
+ | 'latin1'
7
9
  | 'ucs-2'
8
10
  | 'ucs2'
9
11
  | 'utf-16le'
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
@@ -0,0 +1,9 @@
1
+ const binding = require('../binding')
2
+
3
+ exports.byteLength = function byteLength(string) {
4
+ return string.length
5
+ }
6
+
7
+ exports.toString = binding.toStringLatin1
8
+
9
+ exports.write = binding.writeLatin1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bare-buffer",
3
- "version": "3.0.2",
3
+ "version": "3.1.0",
4
4
  "description": "Native buffers for JavaScript",
5
5
  "exports": {
6
6
  "./package": "./package.json",