Sha256: ee689b9a98898897ced769570da68e15b71b7831df0dff4d17d70c486f98771c
Contents?: true
Size: 797 Bytes
Versions: 185
Compression:
Stored size: 797 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
185 entries across 185 versions & 1 rubygems