1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-30 16:40:57 -05:00
denoland-deno/runtime/js/40_tty.js
Bartek Iwańczuk ab0c33ebf8
feat: Stabilize Deno.consoleSize() API (#15933)
This commit stabilizes "Deno.consoleSize()" API. 

There is one change compared to previous unstable API,
in that the API doesn't accept any arguments. Console size
is established by querying syscalls for stdio streams at fd
0, 1 and 2.
2022-10-26 00:23:21 +02:00

28 lines
603 B
JavaScript

// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
"use strict";
((window) => {
const {
Uint32Array,
Uint8Array,
} = window.__bootstrap.primordials;
const core = window.Deno.core;
const ops = core.ops;
const size = new Uint32Array(2);
function consoleSize() {
ops.op_console_size(size);
return { columns: size[0], rows: size[1] };
}
const isattyBuffer = new Uint8Array(1);
function isatty(rid) {
ops.op_isatty(rid, isattyBuffer);
return !!isattyBuffer[0];
}
window.__bootstrap.tty = {
consoleSize,
isatty,
};
})(this);