summaryrefslogtreecommitdiff
path: root/cli/rt/41_prompt.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/rt/41_prompt.js')
-rw-r--r--cli/rt/41_prompt.js80
1 files changed, 0 insertions, 80 deletions
diff --git a/cli/rt/41_prompt.js b/cli/rt/41_prompt.js
deleted file mode 100644
index ec294668b..000000000
--- a/cli/rt/41_prompt.js
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-((window) => {
- const { stdin } = window.__bootstrap.files;
- const { isatty } = window.__bootstrap.tty;
- const LF = "\n".charCodeAt(0);
- const CR = "\r".charCodeAt(0);
- const decoder = new TextDecoder();
- const core = window.Deno.core;
-
- function alert(message = "Alert") {
- if (!isatty(stdin.rid)) {
- return;
- }
-
- core.print(`${message} [Enter] `, false);
-
- readLineFromStdinSync();
- }
-
- function confirm(message = "Confirm") {
- if (!isatty(stdin.rid)) {
- return false;
- }
-
- core.print(`${message} [y/N] `, false);
-
- const answer = readLineFromStdinSync();
-
- return answer === "Y" || answer === "y";
- }
-
- function prompt(message = "Prompt", defaultValue) {
- defaultValue ??= null;
-
- if (!isatty(stdin.rid)) {
- return null;
- }
-
- core.print(`${message} `, false);
-
- if (defaultValue) {
- core.print(`[${defaultValue}] `, false);
- }
-
- return readLineFromStdinSync() || defaultValue;
- }
-
- function readLineFromStdinSync() {
- const c = new Uint8Array(1);
- const buf = [];
-
- while (true) {
- const n = stdin.readSync(c);
- if (n === null || n === 0) {
- break;
- }
- if (c[0] === CR) {
- const n = stdin.readSync(c);
- if (c[0] === LF) {
- break;
- }
- buf.push(CR);
- if (n === null || n === 0) {
- break;
- }
- }
- if (c[0] === LF) {
- break;
- }
- buf.push(c[0]);
- }
- return decoder.decode(new Uint8Array(buf));
- }
-
- window.__bootstrap.prompt = {
- alert,
- confirm,
- prompt,
- };
-})(this);