1 | 'use strict';
|
2 | var isPrototypeOf = require('../../internals/object-is-prototype-of');
|
3 | var arrayMethod = require('../array/virtual/at');
|
4 | var stringMethod = require('../string/virtual/at');
|
5 |
|
6 | var ArrayPrototype = Array.prototype;
|
7 | var StringPrototype = String.prototype;
|
8 |
|
9 | module.exports = function (it) {
|
10 | var own = it.at;
|
11 | if (it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.at)) return arrayMethod;
|
12 | if (typeof it == 'string' || it === StringPrototype || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.at)) {
|
13 | return stringMethod;
|
14 | } return own;
|
15 | };
|