JSFiddle - React, Tailwind, and code Playground

by mattpodwysocki

HTML

<script src="https://raw.github.com/Reactive-Extensions/RxJS/master/rx.js"></script>
<script src="https://raw.github.com/Reactive-Extensions/RxJS/master/rx.aggregates.js"></script>
<script src="https://raw.github.com/bestiejs/lodash/v1.1.1/dist/lodash.js"></script>
<script src="https://raw.github.com/Reactive-Extensions/rxjs-jquery/master/rx.jquery.js"></script>

JavaScript

var codes = [
    38,
    38,
    40,
    40,
    37,
    39,
    37,
    39,
    66,
    65    
];

function isKonamiCode(seq) {
    return _.isEqual(codes, seq);   
}

var isKonami = _.partial(_.isEqual, codes);

function getKeyCode(e) {
    return e.keyCode;
}

var keyPressStream = $(document).keyupAsObservable()
    .select(getKeyCode)
    .bufferWithCount(10, 10);
    
var handle = keyPressStream
    .where(isKonamiCode)
    .subscribe(function () {
        alert('You now have 30 lives');
    });