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-9.0.1 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-9.0.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-8.2.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-8.1.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-8.0.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-7.6.0 app/assets/javascripts/vendor/polyfills/bind.js
idsk_frontend_toolkit-8.4.4 app/assets/javascripts/vendor/polyfills/bind.js
idsk_frontend_toolkit-7.4.3 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-7.5.0 app/assets/javascripts/vendor/polyfills/bind.js
idsk_frontend_toolkit-7.4.2 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-7.4.2 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-7.4.1 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-7.4.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-7.3.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-7.2.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-7.1.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-7.0.1 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-7.0.0 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-6.0.4 app/assets/javascripts/vendor/polyfills/bind.js
govuk_frontend_toolkit-6.0.3 app/assets/javascripts/vendor/polyfills/bind.js