bare-tty 3.0.0 → 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
@@ -250,7 +250,7 @@ bare_tty_init (js_env_t *env, js_callback_info_t *info) {
250
250
 
251
251
  tty->env = env;
252
252
 
253
- err = js_get_typedarray_info(env, argv[1], NULL, (void **) &tty->read.base, &tty->read.len, NULL, NULL);
253
+ err = js_get_typedarray_info(env, argv[1], NULL, (void **) &tty->read.base, (size_t *) &tty->read.len, NULL, NULL);
254
254
  assert(err == 0);
255
255
 
256
256
  err = js_create_reference(env, argv[2], 1, &tty->ctx);
@@ -301,7 +301,7 @@ bare_tty_writev (js_env_t *env, js_callback_info_t *info) {
301
301
  assert(err == 0);
302
302
 
303
303
  uv_buf_t *buf = &bufs[i];
304
- err = js_get_typedarray_info(env, item, NULL, (void **) &buf->base, &buf->len, NULL, NULL);
304
+ err = js_get_typedarray_info(env, item, NULL, (void **) &buf->base, (size_t *) &buf->len, NULL, NULL);
305
305
  assert(err == 0);
306
306
  }
307
307
 
@@ -505,6 +505,29 @@ bare_tty_get_window_size (js_env_t *env, js_callback_info_t *info) {
505
505
  return result;
506
506
  }
507
507
 
508
+ static js_value_t *
509
+ bare_tty_is_tty (js_env_t *env, js_callback_info_t *info) {
510
+ int err;
511
+
512
+ size_t argc = 1;
513
+ js_value_t *argv[1];
514
+
515
+ err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
516
+ assert(err == 0);
517
+
518
+ assert(argc == 1);
519
+
520
+ int32_t fd;
521
+ err = js_get_value_int32(env, argv[0], &fd);
522
+ assert(err == 0);
523
+
524
+ js_value_t *result;
525
+ err = js_get_boolean(env, uv_guess_handle(fd) == UV_TTY, &result);
526
+ assert(err == 0);
527
+
528
+ return result;
529
+ }
530
+
508
531
  static js_value_t *
509
532
  init (js_env_t *env, js_value_t *exports) {
510
533
  {
@@ -547,6 +570,11 @@ init (js_env_t *env, js_value_t *exports) {
547
570
  js_create_function(env, "getWindowSize", -1, bare_tty_get_window_size, NULL, &fn);
548
571
  js_set_named_property(env, exports, "getWindowSize", fn);
549
572
  }
573
+ {
574
+ js_value_t *fn;
575
+ js_create_function(env, "isTTY", -1, bare_tty_is_tty, NULL, &fn);
576
+ js_set_named_property(env, exports, "isTTY", fn);
577
+ }
550
578
  {
551
579
  js_value_t *val;
552
580
  js_create_uint32(env, UV_TTY_MODE_NORMAL, &val);
package/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ /* global Bare */
1
2
  const { Readable, Writable } = require('streamx')
2
3
  const binding = require('./binding')
3
4
 
@@ -208,6 +209,8 @@ exports.WriteStream = class TTYWriteStream extends Writable {
208
209
  static _streams = new Set()
209
210
  }
210
211
 
212
+ exports.isTTY = binding.isTTY
213
+
211
214
  exports.constants = {
212
215
  MODE_NORMAL: binding.MODE_NORMAL,
213
216
  MODE_RAW: binding.MODE_RAW,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bare-tty",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "Native TTY streams for JavaScript",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -10,6 +10,9 @@
10
10
  "CMakeLists.txt",
11
11
  "prebuilds"
12
12
  ],
13
+ "addon": {
14
+ "target": "bare_tty"
15
+ },
13
16
  "scripts": {
14
17
  "test": "standard && bare test.js"
15
18
  },
@@ -24,6 +27,7 @@
24
27
  },
25
28
  "homepage": "https://github.com/holepunchto/bare-tty#readme",
26
29
  "dependencies": {
30
+ "bare-events": "^2.2.0",
27
31
  "streamx": "^2.13.2"
28
32
  },
29
33
  "devDependencies": {