summaryrefslogtreecommitdiff
path: root/runtime/js/40_tty.js
blob: be5154fa261a28425df8410887138d8684ee2539 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// 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];
  }

  window.__bootstrap.tty = {
    consoleSize,
    isatty,
  };
})(this);