| | |
| | | var arrayIncludes = require('../array/virtual/includes'); |
| | | var stringIncludes = require('../string/virtual/includes'); |
| | | var isPrototypeOf = require('../../internals/object-is-prototype-of'); |
| | | var arrayMethod = require('../array/virtual/includes'); |
| | | var stringMethod = require('../string/virtual/includes'); |
| | | |
| | | var ArrayPrototype = Array.prototype; |
| | | var StringPrototype = String.prototype; |
| | | |
| | | module.exports = function (it) { |
| | | var own = it.includes; |
| | | if (it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.includes)) return arrayIncludes; |
| | | if (typeof it === 'string' || it === StringPrototype || (it instanceof String && own === StringPrototype.includes)) { |
| | | return stringIncludes; |
| | | if (it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.includes)) return arrayMethod; |
| | | if (typeof it == 'string' || it === StringPrototype || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.includes)) { |
| | | return stringMethod; |
| | | } return own; |
| | | }; |