|
1 |
| -# is-shared-array-buffer |
| 1 | +# is-shared-array-buffer <sup>[![Version Badge][2]][1]</sup> |
| 2 | + |
| 3 | +[![dependency status][5]][6] |
| 4 | +[![dev dependency status][7]][8] |
| 5 | +[![License][license-image]][license-url] |
| 6 | +[![Downloads][downloads-image]][downloads-url] |
| 7 | + |
| 8 | +[![npm badge][11]][1] |
| 9 | + |
2 | 10 | Is this value a JS SharedArrayBuffer? This module works cross-realm/iframe, does not depend on `instanceof` or mutable properties, and despite ES6 Symbol.toStringTag.
|
| 11 | + |
| 12 | +## Example |
| 13 | + |
| 14 | +```js |
| 15 | +var assert = require('assert'); |
| 16 | +var isSharedArrayBuffer = require('is-finalizationregistry'); |
| 17 | + |
| 18 | +assert(!isSharedArrayBuffer(function () {})); |
| 19 | +assert(!isSharedArrayBuffer(null)); |
| 20 | +assert(!isSharedArrayBuffer(function* () { yield 42; return Infinity; }); |
| 21 | +assert(!isSharedArrayBuffer(Symbol('foo'))); |
| 22 | +assert(!isSharedArrayBuffer(1n)); |
| 23 | +assert(!isSharedArrayBuffer(Object(1n))); |
| 24 | + |
| 25 | +assert(!isSharedArrayBuffer(new Set())); |
| 26 | +assert(!isSharedArrayBuffer(new WeakSet())); |
| 27 | +assert(!isSharedArrayBuffer(new Map())); |
| 28 | +assert(!isSharedArrayBuffer(new WeakMap())); |
| 29 | +assert(!isSharedArrayBuffer(new WeakRef({}))); |
| 30 | +assert(!isSharedArrayBuffer(new FinalizationRegistry(() => {}))); |
| 31 | +assert(!isSharedArrayBuffer(new ArrayBuffer())); |
| 32 | + |
| 33 | +assert(isSharedArrayBuffer(new SharedArrayBuffer())); |
| 34 | + |
| 35 | +class MySharedArrayBuffer extends SharedArrayBuffer {} |
| 36 | +assert(isSharedArrayBuffer(new MySharedArrayBuffer())); |
| 37 | +``` |
| 38 | +
|
| 39 | +## Tests |
| 40 | +Simply clone the repo, `npm install`, and run `npm test` |
| 41 | +
|
| 42 | +[1]: https://npmjs.org/package/is-finalizationregistry |
| 43 | +[2]: https://versionbadg.es/inspect-js/is-finalizationregistry.svg |
| 44 | +[5]: https://david-dm.org/inspect-js/is-finalizationregistry.svg |
| 45 | +[6]: https://david-dm.org/inspect-js/is-finalizationregistry |
| 46 | +[7]: https://david-dm.org/inspect-js/is-finalizationregistry/dev-status.svg |
| 47 | +[8]: https://david-dm.org/inspect-js/is-finalizationregistry#info=devDependencies |
| 48 | +[11]: https://nodei.co/npm/is-finalizationregistry.png?downloads=true&stars=true |
| 49 | +[license-image]: https://img.shields.io/npm/l/is-finalizationregistry.svg |
| 50 | +[license-url]: LICENSE |
| 51 | +[downloads-image]: https://img.shields.io/npm/dm/is-finalizationregistry.svg |
| 52 | +[downloads-url]: https://npm-stat.com/charts.html?package=is-finalizationregistry |
0 commit comments