| Leo Repp | 58b9f11 | 2021-11-22 11:57:47 +0100 | [diff] [blame^] | 1 | /** |
| 2 | * Checks if `value` is suitable for use as unique object key. | ||||
| 3 | * | ||||
| 4 | * @private | ||||
| 5 | * @param {*} value The value to check. | ||||
| 6 | * @returns {boolean} Returns `true` if `value` is suitable, else `false`. | ||||
| 7 | */ | ||||
| 8 | function isKeyable(value) { | ||||
| 9 | var type = typeof value; | ||||
| 10 | return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') | ||||
| 11 | ? (value !== '__proto__') | ||||
| 12 | : (value === null); | ||||
| 13 | } | ||||
| 14 | |||||
| 15 | module.exports = isKeyable; | ||||