2015: live: Add Array#find polyfill.
authorDavid Thompson <dthompson2@worcester.edu>
Sat, 21 Mar 2015 14:44:25 +0000 (10:44 -0400)
committerDavid Thompson <dthompson2@worcester.edu>
Sat, 21 Mar 2015 14:44:25 +0000 (10:44 -0400)
2015/assets/js/stream.js

index 9b6d67fce8dfc62a5edb316ae60bd030d6e0ff3a..a910e28e1ae14262d2ece679a2d3b1aba773cd0f 100644 (file)
  * @licend  The above is the entire license notice for the JavaScript code in this page
  */
 
+if (!Array.prototype.find) {
+  Array.prototype.find = function(predicate) {
+    if (this == null) {
+      throw new TypeError('Array.prototype.find called on null or undefined');
+    }
+    if (typeof predicate !== 'function') {
+      throw new TypeError('predicate must be a function');
+    }
+    var list = Object(this);
+    var length = list.length >>> 0;
+    var thisArg = arguments[1];
+    var value;
+
+    for (var i = 0; i < length; i++) {
+      value = list[i];
+      if (predicate.call(thisArg, value, i, list)) {
+        return value;
+      }
+    }
+    return undefined;
+  };
+}
+
 var app = {};
 
 app.icecastUrl = "//live.fsf.org";