-var codePointAt = require('../string/virtual/code-point-at');
+var isPrototypeOf = require('../../internals/object-is-prototype-of');
+var method = require('../string/virtual/code-point-at');
var StringPrototype = String.prototype;
module.exports = function (it) {
var own = it.codePointAt;
- return typeof it === 'string' || it === StringPrototype
- || (it instanceof String && own === StringPrototype.codePointAt) ? codePointAt : own;
+ return typeof it == 'string' || it === StringPrototype
+ || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.codePointAt) ? method : own;
};