Sha256: 2d1b7d7bf6ec7e9c7565a1bc2756e1e4444a7a1e214a84cd6957001f2898a131
Contents?: true
Size: 798 Bytes
Versions: 211
Compression:
Stored size: 798 Bytes
Contents
export default function (handshake) { const HANDSHAKE_COMMANDS = [ 'wink', 'double blink', 'close your eyes', 'jump', 'REVERSE' ] if (typeof handshake !== 'number') { throw new Error('Handshake must be a number'); } this.commands = () => this.shakeWith; this.calculateHandshake = (handshake) => { const shakeWith = []; for (let i = 0; i < HANDSHAKE_COMMANDS.length; i++) { const currentCommand = HANDSHAKE_COMMANDS[i]; const handshakeHasCommand = handshake & Math.pow(2,i); if (handshakeHasCommand) { if (currentCommand === 'REVERSE') { shakeWith.reverse(); } else { shakeWith.push(HANDSHAKE_COMMANDS[i]); } } } return shakeWith; }; this.shakeWith = this.calculateHandshake(handshake); }
Version data entries
211 entries across 211 versions & 1 rubygems