core-js-pure
Version:
Standard library
17 lines (15 loc) • 660 B
JavaScript
var defineProperty = require('../internals/object-define-property').f;
var hide = require('../internals/hide');
var has = require('../internals/has');
var TO_STRING_TAG = require('../internals/well-known-symbol')('toStringTag');
var toString = require('../internals/object-to-string');
var METHOD_REQUIRED = toString !== ({}).toString;
module.exports = function (it, TAG, STATIC, SET_METHOD) {
if (it) {
var target = STATIC ? it : it.prototype;
if (!has(target, TO_STRING_TAG)) {
defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });
}
if (SET_METHOD && METHOD_REQUIRED) hide(target, 'toString', toString);
}
};