Sha256: 298670bd147f2c023e76026ca559ffdee4ed8fee93b2a7260bfa164252662073

Contents?: true

Size: 1.16 KB

Versions: 88

Compression:

Stored size: 1.16 KB

Contents

// Function.prototype.bind
//
// A polyfill for Function.prototype.bind. Which lets you bind a defined
// value to the `this` keyword in a function call.
//
// Bind is natively supported in:
//   IE9+
//   Chrome 7+
//   Firefox 4+
//   Safari 5.1.4+
//   iOS 6+
//   Android Browser 4+
//   Chrome for Android 0.16+
//
// Originally from:
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
if (!Function.prototype.bind) {
  Function.prototype.bind = function (oThis) {
    if (typeof this !== "function") {
      // closest thing possible to the ECMAScript 5
      // internal IsCallable function
      throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
    }

    var aArgs = Array.prototype.slice.call(arguments, 1),
        fToBind = this,
        fNOP = function () {},
        fBound = function () {
          return fToBind.apply(this instanceof fNOP && oThis
                 ? this
                 : oThis,
                 aArgs.concat(Array.prototype.slice.call(arguments)));
        };

    fNOP.prototype = this.prototype;
    fBound.prototype = new fNOP();

    return fBound;
  };
}

Version data entries

88 entries across 88 versions & 3 rubygems

Version Path
govuk_frontend_toolkit-4.15.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.14.1 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.14.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.13.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.12.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.11.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.10.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.9.1 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.9.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.8.2 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.8.1 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.8.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.7.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.6.1 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.6.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.5.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.4.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.3.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.2.1 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-4.2.0 app/assets/javascripts/vendor/polyfills/bind.js