bare-tty 5.0.1 → 5.0.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 CHANGED
@@ -275,16 +275,24 @@ bare_tty_writev(js_env_t *env, js_callback_info_t *info) {
275
275
 
276
276
  uv_buf_t *bufs = malloc(sizeof(uv_buf_t) * bufs_len);
277
277
 
278
+ js_value_t **elements = malloc(sizeof(js_value_t *) * bufs_len);
279
+
280
+ uint32_t fetched;
281
+ err = js_get_array_elements(env, arr, elements, bufs_len, 0, &fetched);
282
+ assert(err == 0);
283
+ assert(fetched == bufs_len);
284
+
285
+
278
286
  for (uint32_t i = 0; i < bufs_len; i++) {
279
- js_value_t *item;
280
- err = js_get_element(env, arr, i, &item);
281
- assert(err == 0);
287
+ js_value_t *item = elements[i];
282
288
 
283
289
  uv_buf_t *buf = &bufs[i];
284
290
  err = js_get_typedarray_info(env, item, NULL, (void **) &buf->base, (size_t *) &buf->len, NULL, NULL);
285
291
  assert(err == 0);
286
292
  }
287
293
 
294
+ free(elements);
295
+
288
296
  uv_write_t *req = &tty->requests.write;
289
297
 
290
298
  req->data = tty;
package/index.d.ts ADDED
@@ -0,0 +1,47 @@
1
+ import {
2
+ Readable,
3
+ ReadableOptions,
4
+ Writable,
5
+ WritableEvents,
6
+ WritableOptions
7
+ } from 'bare-stream'
8
+
9
+ interface ReadStream extends Readable {
10
+ readonly isTTY: true
11
+
12
+ setMode(mode: number): this
13
+
14
+ setRawMode(mode: boolean): this
15
+ }
16
+
17
+ declare class ReadStream extends Readable {
18
+ constructor(fd: number, opts?: ReadableOptions)
19
+ }
20
+
21
+ interface WriteStreamEvents extends WritableEvents {
22
+ resize: []
23
+ }
24
+
25
+ interface WriteStream<M extends WriteStreamEvents = WriteStreamEvents>
26
+ extends Writable<M> {
27
+ readonly isTTY: true
28
+ readonly columns: number
29
+ readonly rows: number
30
+
31
+ getWindowSize(): [width: number, height: number]
32
+ }
33
+
34
+ declare class WriteStream<
35
+ M extends WriteStreamEvents = WriteStreamEvents
36
+ > extends Writable<M> {
37
+ constructor(fd: number, opts?: WritableOptions)
38
+ }
39
+
40
+ declare function isTTY(fd: number): boolean
41
+
42
+ declare const constants: {
43
+ mode: { NORMAL: number; RAW: number; IO: number }
44
+ state: { READING: number; CLOSING: number }
45
+ }
46
+
47
+ export { ReadStream, WriteStream, isTTY, isTTY as isatty, constants }
package/index.js CHANGED
@@ -40,8 +40,8 @@ exports.ReadStream = class TTYReadStream extends Readable {
40
40
  return this
41
41
  }
42
42
 
43
- setRawMode(mode) {
44
- return this.setMode(mode ? constants.mode.RAW : constants.mode.NORMAL)
43
+ setRawMode(enabled) {
44
+ return this.setMode(enabled ? constants.mode.RAW : constants.mode.NORMAL)
45
45
  }
46
46
 
47
47
  _read() {
package/package.json CHANGED
@@ -1,14 +1,18 @@
1
1
  {
2
2
  "name": "bare-tty",
3
- "version": "5.0.1",
3
+ "version": "5.0.2",
4
4
  "description": "Native TTY streams for JavaScript",
5
5
  "exports": {
6
- ".": "./index.js",
6
+ ".": {
7
+ "types": "./index.d.ts",
8
+ "default": "./index.js"
9
+ },
7
10
  "./package": "./package.json",
8
11
  "./constants": "./lib/constants.js"
9
12
  },
10
13
  "files": [
11
14
  "index.js",
15
+ "index.d.ts",
12
16
  "binding.c",
13
17
  "binding.js",
14
18
  "CMakeLists.txt",
@@ -30,7 +34,7 @@
30
34
  },
31
35
  "homepage": "https://github.com/holepunchto/bare-tty#readme",
32
36
  "engines": {
33
- "bare": ">=1.7.0"
37
+ "bare": ">=1.16.0"
34
38
  },
35
39
  "dependencies": {
36
40
  "bare-events": "^2.2.0",
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file