Tim van der Lippe | fdbd42e | 2020-04-07 14:14:36 | [diff] [blame] | 1 | 'use strict'; |
| 2 | |
Tim van der Lippe | 2c89197 | 2021-07-29 15:22:50 | [diff] [blame] | 3 | var GetIntrinsic = require('get-intrinsic'); |
Tim van der Lippe | fdbd42e | 2020-04-07 14:14:36 | [diff] [blame] | 4 | |
| 5 | var $String = GetIntrinsic('%String%'); |
| 6 | |
| 7 | var ToPrimitive = require('./ToPrimitive'); |
| 8 | var ToString = require('./ToString'); |
| 9 | |
Nikolay Vitkov | d76576c | 2024-12-02 14:10:15 | [diff] [blame] | 10 | // https://262.ecma-international.org/6.0/#sec-topropertykey |
Tim van der Lippe | fdbd42e | 2020-04-07 14:14:36 | [diff] [blame] | 11 | |
| 12 | module.exports = function ToPropertyKey(argument) { |
| 13 | var key = ToPrimitive(argument, $String); |
| 14 | return typeof key === 'symbol' ? key : ToString(key); |
| 15 | }; |