bare-tty 3.1.2 → 3.2.1
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 +5 -91
- package/index.js +5 -20
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/bare-tty.bare +0 -0
- package/prebuilds/darwin-x64/bare-tty.bare +0 -0
- package/prebuilds/linux-arm64/bare-tty.bare +0 -0
- package/prebuilds/linux-x64/bare-tty.bare +0 -0
- package/prebuilds/win32-x64/bare-tty.bare +0 -0
package/binding.c
CHANGED
|
@@ -17,7 +17,6 @@ typedef struct {
|
|
|
17
17
|
js_env_t *env;
|
|
18
18
|
js_ref_t *ctx;
|
|
19
19
|
js_ref_t *on_write;
|
|
20
|
-
js_ref_t *on_end;
|
|
21
20
|
js_ref_t *on_read;
|
|
22
21
|
js_ref_t *on_close;
|
|
23
22
|
} bare_tty_t;
|
|
@@ -66,50 +65,6 @@ on_write (uv_write_t *req, int status) {
|
|
|
66
65
|
assert(err == 0);
|
|
67
66
|
}
|
|
68
67
|
|
|
69
|
-
static void
|
|
70
|
-
on_shutdown (uv_shutdown_t *req, int status) {
|
|
71
|
-
int err;
|
|
72
|
-
|
|
73
|
-
bare_tty_t *tty = (bare_tty_t *) req->data;
|
|
74
|
-
|
|
75
|
-
js_env_t *env = tty->env;
|
|
76
|
-
|
|
77
|
-
js_handle_scope_t *scope;
|
|
78
|
-
err = js_open_handle_scope(env, &scope);
|
|
79
|
-
assert(err == 0);
|
|
80
|
-
|
|
81
|
-
js_value_t *ctx;
|
|
82
|
-
err = js_get_reference_value(env, tty->ctx, &ctx);
|
|
83
|
-
assert(err == 0);
|
|
84
|
-
|
|
85
|
-
js_value_t *on_end;
|
|
86
|
-
err = js_get_reference_value(env, tty->on_end, &on_end);
|
|
87
|
-
assert(err == 0);
|
|
88
|
-
|
|
89
|
-
js_value_t *argv[1];
|
|
90
|
-
|
|
91
|
-
if (status < 0) {
|
|
92
|
-
js_value_t *code;
|
|
93
|
-
err = js_create_string_utf8(env, (utf8_t *) uv_err_name(status), -1, &code);
|
|
94
|
-
assert(err == 0);
|
|
95
|
-
|
|
96
|
-
js_value_t *message;
|
|
97
|
-
err = js_create_string_utf8(env, (utf8_t *) uv_strerror(status), -1, &message);
|
|
98
|
-
assert(err == 0);
|
|
99
|
-
|
|
100
|
-
err = js_create_error(env, code, message, &argv[0]);
|
|
101
|
-
assert(err == 0);
|
|
102
|
-
} else {
|
|
103
|
-
err = js_get_null(env, &argv[0]);
|
|
104
|
-
assert(err == 0);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
js_call_function(env, ctx, on_end, 1, argv, NULL);
|
|
108
|
-
|
|
109
|
-
err = js_close_handle_scope(env, scope);
|
|
110
|
-
assert(err == 0);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
68
|
static void
|
|
114
69
|
on_read (uv_stream_t *stream, ssize_t nread, const uv_buf_t *buf) {
|
|
115
70
|
if (nread == UV_EOF) nread = 0;
|
|
@@ -188,9 +143,6 @@ on_close (uv_handle_t *handle) {
|
|
|
188
143
|
err = js_delete_reference(env, tty->on_write);
|
|
189
144
|
assert(err == 0);
|
|
190
145
|
|
|
191
|
-
err = js_delete_reference(env, tty->on_end);
|
|
192
|
-
assert(err == 0);
|
|
193
|
-
|
|
194
146
|
err = js_delete_reference(env, tty->on_read);
|
|
195
147
|
assert(err == 0);
|
|
196
148
|
|
|
@@ -215,13 +167,13 @@ static js_value_t *
|
|
|
215
167
|
bare_tty_init (js_env_t *env, js_callback_info_t *info) {
|
|
216
168
|
int err;
|
|
217
169
|
|
|
218
|
-
size_t argc =
|
|
219
|
-
js_value_t *argv[
|
|
170
|
+
size_t argc = 6;
|
|
171
|
+
js_value_t *argv[6];
|
|
220
172
|
|
|
221
173
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
222
174
|
assert(err == 0);
|
|
223
175
|
|
|
224
|
-
assert(argc ==
|
|
176
|
+
assert(argc == 6);
|
|
225
177
|
|
|
226
178
|
uv_loop_t *loop;
|
|
227
179
|
js_get_env_loop(env, &loop);
|
|
@@ -259,13 +211,10 @@ bare_tty_init (js_env_t *env, js_callback_info_t *info) {
|
|
|
259
211
|
err = js_create_reference(env, argv[3], 1, &tty->on_write);
|
|
260
212
|
assert(err == 0);
|
|
261
213
|
|
|
262
|
-
err = js_create_reference(env, argv[4], 1, &tty->
|
|
214
|
+
err = js_create_reference(env, argv[4], 1, &tty->on_read);
|
|
263
215
|
assert(err == 0);
|
|
264
216
|
|
|
265
|
-
err = js_create_reference(env, argv[5], 1, &tty->
|
|
266
|
-
assert(err == 0);
|
|
267
|
-
|
|
268
|
-
err = js_create_reference(env, argv[6], 1, &tty->on_close);
|
|
217
|
+
err = js_create_reference(env, argv[5], 1, &tty->on_close);
|
|
269
218
|
assert(err == 0);
|
|
270
219
|
|
|
271
220
|
return handle;
|
|
@@ -321,36 +270,6 @@ bare_tty_writev (js_env_t *env, js_callback_info_t *info) {
|
|
|
321
270
|
return NULL;
|
|
322
271
|
}
|
|
323
272
|
|
|
324
|
-
static js_value_t *
|
|
325
|
-
bare_tty_end (js_env_t *env, js_callback_info_t *info) {
|
|
326
|
-
int err;
|
|
327
|
-
|
|
328
|
-
size_t argc = 1;
|
|
329
|
-
js_value_t *argv[1];
|
|
330
|
-
|
|
331
|
-
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
332
|
-
assert(err == 0);
|
|
333
|
-
|
|
334
|
-
assert(argc == 1);
|
|
335
|
-
|
|
336
|
-
bare_tty_t *tty;
|
|
337
|
-
err = js_get_arraybuffer_info(env, argv[0], (void **) &tty, NULL);
|
|
338
|
-
assert(err == 0);
|
|
339
|
-
|
|
340
|
-
uv_shutdown_t *req = &tty->requests.shutdown;
|
|
341
|
-
|
|
342
|
-
req->data = tty;
|
|
343
|
-
|
|
344
|
-
err = uv_shutdown(req, (uv_stream_t *) &tty->handle, on_shutdown);
|
|
345
|
-
|
|
346
|
-
if (err < 0) {
|
|
347
|
-
js_throw_error(env, uv_err_name(err), uv_strerror(err));
|
|
348
|
-
return NULL;
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
return NULL;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
273
|
static js_value_t *
|
|
355
274
|
bare_tty_resume (js_env_t *env, js_callback_info_t *info) {
|
|
356
275
|
int err;
|
|
@@ -540,11 +459,6 @@ init (js_env_t *env, js_value_t *exports) {
|
|
|
540
459
|
js_create_function(env, "writev", -1, bare_tty_writev, NULL, &fn);
|
|
541
460
|
js_set_named_property(env, exports, "writev", fn);
|
|
542
461
|
}
|
|
543
|
-
{
|
|
544
|
-
js_value_t *fn;
|
|
545
|
-
js_create_function(env, "end", -1, bare_tty_end, NULL, &fn);
|
|
546
|
-
js_set_named_property(env, exports, "end", fn);
|
|
547
|
-
}
|
|
548
462
|
{
|
|
549
463
|
js_value_t *fn;
|
|
550
464
|
js_create_function(env, "resume", -1, bare_tty_resume, NULL, &fn);
|
package/index.js
CHANGED
|
@@ -22,7 +22,6 @@ exports.ReadStream = class TTYReadStream extends Readable {
|
|
|
22
22
|
this._buffer = Buffer.alloc(readBufferSize)
|
|
23
23
|
|
|
24
24
|
this._handle = binding.init(fd, this._buffer, this,
|
|
25
|
-
noop,
|
|
26
25
|
noop,
|
|
27
26
|
this._onread,
|
|
28
27
|
this._onclose
|
|
@@ -39,6 +38,10 @@ exports.ReadStream = class TTYReadStream extends Readable {
|
|
|
39
38
|
binding.setMode(this._handle, mode)
|
|
40
39
|
}
|
|
41
40
|
|
|
41
|
+
setRawMode (mode) {
|
|
42
|
+
this.setMode(mode ? constants.MODE_RAW : constants.MODE_NORMAL)
|
|
43
|
+
}
|
|
44
|
+
|
|
42
45
|
_read (cb) {
|
|
43
46
|
if (!this._reading) {
|
|
44
47
|
this._reading = true
|
|
@@ -103,14 +106,12 @@ exports.WriteStream = class TTYWriteStream extends Writable {
|
|
|
103
106
|
super({ mapWritable })
|
|
104
107
|
|
|
105
108
|
this._pendingWrite = null
|
|
106
|
-
this._pendingFinal = null
|
|
107
109
|
this._pendingDestroy = null
|
|
108
110
|
|
|
109
111
|
this._closing = false
|
|
110
112
|
|
|
111
113
|
this._handle = binding.init(fd, empty, this,
|
|
112
114
|
this._onwrite,
|
|
113
|
-
this._onfinal,
|
|
114
115
|
noop,
|
|
115
116
|
this._onclose
|
|
116
117
|
)
|
|
@@ -131,11 +132,6 @@ exports.WriteStream = class TTYWriteStream extends Writable {
|
|
|
131
132
|
binding.writev(this._handle, datas)
|
|
132
133
|
}
|
|
133
134
|
|
|
134
|
-
_final (cb) {
|
|
135
|
-
this._pendingFinal = cb
|
|
136
|
-
binding.end(this._handle)
|
|
137
|
-
}
|
|
138
|
-
|
|
139
135
|
_predestroy () {
|
|
140
136
|
if (this._closing) return
|
|
141
137
|
this._closing = true
|
|
@@ -158,13 +154,6 @@ exports.WriteStream = class TTYWriteStream extends Writable {
|
|
|
158
154
|
cb(err)
|
|
159
155
|
}
|
|
160
156
|
|
|
161
|
-
_continueFinal (err) {
|
|
162
|
-
if (this._pendingFinal === null) return
|
|
163
|
-
const cb = this._pendingFinal
|
|
164
|
-
this._pendingFinal = null
|
|
165
|
-
cb(err)
|
|
166
|
-
}
|
|
167
|
-
|
|
168
157
|
_continueDestroy () {
|
|
169
158
|
if (this._pendingDestroy === null) return
|
|
170
159
|
const cb = this._pendingDestroy
|
|
@@ -197,10 +186,6 @@ exports.WriteStream = class TTYWriteStream extends Writable {
|
|
|
197
186
|
}
|
|
198
187
|
}
|
|
199
188
|
|
|
200
|
-
_onfinal (err) {
|
|
201
|
-
this._continueFinal(err)
|
|
202
|
-
}
|
|
203
|
-
|
|
204
189
|
_onclose () {
|
|
205
190
|
this._handle = null
|
|
206
191
|
this._continueDestroy()
|
|
@@ -211,7 +196,7 @@ exports.WriteStream = class TTYWriteStream extends Writable {
|
|
|
211
196
|
|
|
212
197
|
exports.isTTY = binding.isTTY
|
|
213
198
|
|
|
214
|
-
exports.constants = {
|
|
199
|
+
const constants = exports.constants = {
|
|
215
200
|
MODE_NORMAL: binding.MODE_NORMAL,
|
|
216
201
|
MODE_RAW: binding.MODE_RAW,
|
|
217
202
|
MODE_IO: binding.MODE_IO || 0
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|