1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00
denoland-deno/runtime/js/40_tty.js
2022-09-23 09:35:45 +05:30

34 lines
770 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(rid) {
ops.op_console_size(rid, size);
return { columns: size[0], rows: size[1] };
}
const isattyBuffer = new Uint8Array(1);
function isatty(rid) {
ops.op_isatty(rid, isattyBuffer);
return !!isattyBuffer[0];
}
const DEFAULT_CBREAK = false;
function setRaw(rid, mode, options = {}) {
ops.op_set_raw(rid, mode, options.cbreak || DEFAULT_CBREAK);
}
window.__bootstrap.tty = {
consoleSize,
isatty,
setRaw,
};
})(this);