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