Sha256: c208f47f55220992735bd49d8a4d9194137de823f0078767d2a7ec892e623103
Contents?: true
Size: 933 Bytes
Versions: 25
Compression:
Stored size: 933 Bytes
Contents
'use strict'; var isObject = require('../internals/is-object'); var definePropertyModule = require('../internals/object-define-property'); var getPrototypeOf = require('../internals/object-get-prototype-of'); var wellKnownSymbol = require('../internals/well-known-symbol'); var HAS_INSTANCE = wellKnownSymbol('hasInstance'); var FunctionPrototype = Function.prototype; // `Function.prototype[@@hasInstance]` method // https://tc39.github.io/ecma262/#sec-function.prototype-@@hasinstance if (!(HAS_INSTANCE in FunctionPrototype)) { definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) { if (typeof this != 'function' || !isObject(O)) return false; if (!isObject(this.prototype)) return O instanceof this; // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: while (O = getPrototypeOf(O)) if (this.prototype === O) return true; return false; } }); }
Version data entries
25 entries across 25 versions & 7 rubygems