zhangnaisong
2023-08-05 24d66c8d82b628a06e93dbb1abfea2049b3d45ab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'use strict';
 
var GetIntrinsic = require('get-intrinsic');
 
var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
 
var hasToStringTag = require('has-tostringtag/shams')();
var has = require('has');
 
var toStringTag = hasToStringTag ? Symbol.toStringTag : null;
 
module.exports = function setToStringTag(object, value) {
    var overrideIfSet = arguments.length > 2 && arguments[2] && arguments[2].force;
    if (toStringTag && (overrideIfSet || !has(object, toStringTag))) {
        if ($defineProperty) {
            $defineProperty(object, toStringTag, {
                configurable: true,
                enumerable: false,
                value: value,
                writable: false
            });
        } else {
            object[toStringTag] = value; // eslint-disable-line no-param-reassign
        }
    }
};