broken - Simple RxJS Data Routing and manipulation

Nohting more to say...

by Trever Shick

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/rxjs/2.3.14/rx.all.js"></script>
<div id="console-log"></div>

CSS

body {
    background-color:black;
    color: white;
}
.console-line {
    font-family: monospace;
    margin: 2px;
    white-space: nowrap;
    margin:0;
    padding:2px;
}

JavaScript

var consoleLine = "<p class=\"console-line\"></p>";
console = {
    log: function (text, obj) {
        var objText = obj ? JSON.stringify(obj) : "";
        $("#console-log").append($(consoleLine).html(text + " " + objText));
    },
    reset: function() { $("#console-log").html(""); }
};
console.reset();


var results = new Rx.Subject();
var badges = new Rx.Subject();
badges.subscribe(
    function(data) {
        console.log("badges->", data);
    }
);
results.subscribe(
    function(data) {console.log("results->", data);}
);

var p = $.ajax({url: "//s3.amazonaws.com/trevershick-seisei-json/EHE1RB.json"}).promise();
// subject is an observer, so take the promise and link it to the subject


var individualResultObs = Rx.Observable.fromPromise(p)
    .pluck('Results')
    .flatMap(Rx.helpers.identity);

individualResultObs.pluck('Badges')
  .groupBy(function(x){ return x.top25Contributor.Id; })
  .flatMap(function(group) { return group.count(); })
  .subscribe(badges);

individualResultObs
  .filter(function(r) { return r.IsRecommended; })
  .count()
  .subscribe(function(x) { console.log("recommended->", x); });

individualResultObs
  .filter(function(r) { return ! r.IsRecommended; })
  .count()
  .subscribe(function(x) { console.log("not recommended->", x); });

individualResultObs
  .filter(function(r) { return r.IsRecommended; })
  .subscribe(function(x) { console.log("recommended:", x); });

individualResultObs
  .filter(function(r) { return ! r.IsRecommended; })
  .subscribe(function(x) { console.log("not recommended:", x); });