# to-property-key-x

> Converts argument to a value that can be used as a property key.

Latest version **3.1.2** (published 2019-08-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install to-property-key-x
pnpm add to-property-key-x
yarn add to-property-key-x
bun add to-property-key-x
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.1.2 |
| Published | 2019-08-28 |
| First published | 2017-08-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | >=8.11.4 |
| Dependencies | 3 |
| Unpacked size | 202.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Graham Fairweather |
| Maintainers | xotic750 |
| Keywords | toPropertyKey, abstract, javascript, nodejs, browser |

## Links

- npm: https://www.npmjs.com/package/to-property-key-x
- Repository: https://github.com/Xotic750/to-property-key-x
- Issues: https://github.com/Xotic750/to-property-key-x/issues
- npm.io page: https://npm.io/package/to-property-key-x

## Dependencies (3)

- [to-string-x](https://npm.io/package/to-string-x.md) ^2.1.1
- [to-primitive-x](https://npm.io/package/to-primitive-x.md) ^2.1.2
- [has-symbol-support-x](https://npm.io/package/has-symbol-support-x.md) ^2.1.2

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 3.1.2 (latest) — 2019-08-28
- 3.1.1 — 2019-08-20
- 3.1.0 — 2019-08-14
- 3.0.20 — 2019-07-31
- 3.0.19 — 2019-07-27
- 3.0.18 — 2019-07-27
- 3.0.17 — 2019-07-26
- 3.0.16 — 2019-07-25
- 3.0.15 — 2019-07-24
- 3.0.14 — 2019-07-24
- 3.0.13 — 2019-07-22
- 3.0.12 — 2019-07-21
- 3.0.11 — 2019-07-19
- 3.0.10 — 2019-07-18
- 3.0.9 — 2019-07-17
- … 13 more at https://npm.io/package/to-property-key-x/versions

## README

<a
  href="https://travis-ci.org/Xotic750/to-property-key-x"
  title="Travis status">
<img
  src="https://travis-ci.org/Xotic750/to-property-key-x.svg?branch=master"
  alt="Travis status" height="18">
</a>
<a
  href="https://david-dm.org/Xotic750/to-property-key-x"
  title="Dependency status">
<img src="https://david-dm.org/Xotic750/to-property-key-x/status.svg"
  alt="Dependency status" height="18"/>
</a>
<a
  href="https://david-dm.org/Xotic750/to-property-key-x?type=dev"
  title="devDependency status">
<img src="https://david-dm.org/Xotic750/to-property-key-x/dev-status.svg"
  alt="devDependency status" height="18"/>
</a>
<a
  href="https://badge.fury.io/js/to-property-key-x"
  title="npm version">
<img src="https://badge.fury.io/js/to-property-key-x.svg"
  alt="npm version" height="18">
</a>
<a
  href="https://www.jsdelivr.com/package/npm/to-property-key-x"
  title="jsDelivr hits">
<img src="https://data.jsdelivr.com/v1/package/npm/to-property-key-x/badge?style=rounded"
  alt="jsDelivr hits" height="18">
</a>
<a
  href="https://bettercodehub.com/results/Xotic750/to-property-key-x"
  title="bettercodehub score">
<img src="https://bettercodehub.com/edge/badge/Xotic750/to-property-key-x?branch=master"
  alt="bettercodehub score" height="18">
</a>
<a
  href="https://coveralls.io/github/Xotic750/to-property-key-x?branch=master"
  title="Coverage Status">
<img src="https://coveralls.io/repos/github/Xotic750/to-property-key-x/badge.svg?branch=master"
  alt="Coverage Status" height="18">
</a>

<a name="module_to-property-key-x"></a>

## to-property-key-x

Converts argument to a value that can be used as a property key.

**Version**: 2.0.2  
**Author**: Xotic750 <Xotic750@gmail.com>  
**License**: [MIT](https://opensource.org/licenses/MIT)  
**Copyright**: Xotic750  
<a name="exp_module_to-property-key-x--module.exports"></a>

### `module.exports(argument)` ⇒ <code>string</code> \| <code>symbol</code> ⏏

This method Converts argument to a value that can be used as a property key.

**Kind**: Exported function  
**Returns**: <code>string</code> \| <code>symbol</code> - The converted argument.  
**Throws**:

- <code>TypeError</code> If argument is not a symbol and is not coercible to a string.

| Param    | Type            | Description                               |
| -------- | --------------- | ----------------------------------------- |
| argument | <code>\*</code> | The argument to onvert to a property key. |

**Example**

```js
import toPropertyKey from 'to-property-key-x';

console.log(toPropertyKey()); // 'undefined'
console.log(toPropertyKey(1)); // '1'
console.log(toPropertyKey(true)); // 'true'

const symbol = Symbol('a');
console.log(toPropertyKey(symbol)); // symbol

toPropertyKey(Object.create(null)); // TypeError
```

---
_Source: https://npm.io/package/to-property-key-x · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
