Sha256: 20a6920698a9a9c5b252142c77abf9247159010910d97b288b8fca9751d7858c
Contents?: true
Size: 901 Bytes
Versions: 62
Compression:
Stored size: 901 Bytes
Contents
'use strict'; var rx = require('rx-lite'); function normalizeKeypressEvents(value, key) { return { value: value, key: key }; } module.exports = function (rl) { var keypress = rx.Observable.fromEvent(rl, 'keypress', normalizeKeypressEvents); return { line: rx.Observable.fromEvent(rl, 'line'), keypress: keypress, normalizedUpKey: keypress.filter(function (e) { return e.key && (e.key.name === 'up' || e.key.name === 'k'); }).share(), normalizedDownKey: keypress.filter(function (e) { return e.key && (e.key.name === 'down' || e.key.name === 'j'); }).share(), numberKey: keypress.filter(function (e) { return e.value && '123456789'.indexOf(e.value) >= 0; }).map(function (e) { return Number(e.value); }).share(), spaceKey: keypress.filter(function (e) { return e.key && e.key.name === 'space'; }).share(), }; };
Version data entries
62 entries across 62 versions & 1 rubygems