# @stamp/instanceof

*Enables* `obj instanceof MyStamp` *in ES6 environments*

```javascript
const InstanceOf = require('@stamp/instanceof');
// or
import InstanceOf from '@stamp/instanceof';
```

It uses the [well known Symbol hasInstance](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/hasInstance) to test instance.

## Example

Create a stamp:

```javascript
let MyStamp = compose({
  properties: { ... },
  initializers: [function () { ... }]
});
```

The following doesn't work:

```javascript
const obj = MyStamp();
obj instanceof MyStamp === false;
```

Compose the `InstanceOf` to your stamp:

```javascript
MyStamp = MyStamp.compose(InstanceOf);
```

Now it works:

```javascript
const myObject = MyStamp();
obj instanceof MyStamp === true;
```

## Notes

* We do not recommend to use `instanceof` in JavaScript in general.
