This repository has been archived on 2026-03-28. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
StasisWarden-Legacy/node_modules/ink/build/hooks/useInput.js
T

38 lines
854 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = require("react");
var _ = require("..");
var _default = inputHandler => {
const {
stdin,
setRawMode
} = (0, _react.useContext)(_.StdinContext);
(0, _react.useLayoutEffect)(() => {
setRawMode(true);
return () => setRawMode(false);
}, [setRawMode]);
(0, _react.useLayoutEffect)(() => {
const handleData = data => {
const input = String(data);
const meta = {
up: input === '\u001B[A',
down: input === '\u001B[B',
left: input === '\u001B[D',
right: input === '\u001B[C'
};
inputHandler(input, meta);
};
stdin.on('data', handleData);
return () => stdin.off('data', handleData);
}, [stdin, inputHandler]);
};
exports.default = _default;