is-instance-of
Determine if a value is an instance of a type.
Usage
npm install @typeforce/is-instance-of --save # Install package via NPM
import { expect } from "chai";
import isInstanceOf from "@typeforce/is-instance-of";
expect(isInstanceOf(new Boolean(true), Boolean)).to.be.true;
expect(isInstanceOf(new String("foo"), String)).to.be.true;
expect(isInstanceOf(undefined, undefined)).to.be.true;
expect(isInstanceOf(null, null)).to.be.true;
expect(isInstanceOf(new String("foo"), undefined)).to.be.false;
expect(isInstanceOf("foo", String)).to.be.false;
expect(isInstanceOf(42, Number)).to.be.false;
expect(isInstanceOf(null, Boolean)).to.be.false;
expect(isInstanceOf(null, undefined)).to.be.false;
This package contains TypeScript type declarations. Furthermore, the package uses TypeScript type guards to allow type inference to influence IntelliSense.
if (isInstanceOf(x, String)) {
// IntelliSense now knows `x` is a String.
let y: String = x;
}
Content Delivery Network (CDN)
This package can be imported via unpkg as demonstrated below.
<script src="https://unpkg.com/@typeforce/is-instance-of/dist/index.min.js"></script>
<script type="application/javascript">
var x = new String("foo");
if (isInstanceOf(x, String)) {
// `x` is a String!
}
</script>
Build & Test
When building the project, a folder named dist/
will be created if it does not
already exist, where the compiled code will be outputted to. Type declaration
files will also be generated and outputted to the dist/
folder.
A minified Javascript version of the entire project will be generated and
outputted to dist/index.min.js
.
npm install # Installs dependencies.
npm run build # Build the project.
This package uses Gulp for building, and Chai and Mocha for testing.
npm test # Run tests.
License
Refer to the LICENSE
file for license information.