Sha256: e28f0fc19c869877ca3f009698aee3e5fb967e19e45cacc7c836ae291f0648a7

Contents?: true

Size: 829 Bytes

Versions: 26

Compression:

Stored size: 829 Bytes

Contents

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.useKeypress = useKeypress;
const use_ref_mjs_1 = require('./use-ref.js');
const use_effect_mjs_1 = require('./use-effect.js');
const hook_engine_mjs_1 = require('./hook-engine.js');
function useKeypress(userHandler) {
    const signal = (0, use_ref_mjs_1.useRef)(userHandler);
    signal.current = userHandler;
    (0, use_effect_mjs_1.useEffect)((rl) => {
        let ignore = false;
        const handler = (0, hook_engine_mjs_1.withUpdates)((_input, event) => {
            if (ignore)
                return;
            void signal.current(event, rl);
        });
        rl.input.on('keypress', handler);
        return () => {
            ignore = true;
            rl.input.removeListener('keypress', handler);
        };
    }, []);
}

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.6 lib/clapton/javascripts/node_modules/@inquirer/core/dist/cjs/lib/use-keypress.js
clapton-0.0.5 lib/clapton/javascripts/node_modules/@inquirer/core/dist/cjs/lib/use-keypress.js
clapton-0.0.4 lib/clapton/javascripts/node_modules/@inquirer/core/dist/cjs/lib/use-keypress.js
clapton-0.0.3 lib/clapton/javascripts/node_modules/@inquirer/core/dist/cjs/lib/use-keypress.js
clapton-0.0.2 lib/clapton/javascripts/node_modules/@inquirer/core/dist/cjs/lib/use-keypress.js
clapton-0.0.1 lib/clapton/javascripts/node_modules/@inquirer/core/dist/cjs/lib/use-keypress.js