## to-primitive-x
Converts a JavaScript object to a primitive value.
**Version**: 1.1.0
**Author**: Xotic750
**License**: [MIT](<https://opensource.org/licenses/MIT>)
**Copyright**: Xotic750
### `module.exports(input, [prefferedtype])` ⇒ string \| number ⏏
This method converts a JavaScript object to a primitive value.
Note: When toPrimitive is called with no hint, then it generally behaves as
if the hint were Number. However, objects may over-ride this behaviour by
defining a @@toPrimitive method. Of the objects defined in this specification
only Date objects (see 20.3.4.45) and Symbol objects (see 19.4.3.4) over-ride
the default ToPrimitive behaviour. Date objects treat no hint as if the hint
were String.
**Kind**: Exported function
**Returns**: string \| number - The converted input as a primitive.
**Throws**:
- TypeError If unable to convert input to a primitive.
| Param | Type | Description |
| --- | --- | --- |
| input | \* | The input to convert. |
| [prefferedtype] | constructor | The preffered type (String or Number). |
**Example**
```js
var toPrimitive = require('to-primitive-x');
var date = new Date(0);
toPrimitive(date)); // Thu Jan 01 1970 01:00:00 GMT+0100 (CET)
toPrimitive(date, String)); // Thu Jan 01 1970 01:00:00 GMT+0100 (CET)
toPrimitive(date, Number)); // 0
```