1.0.1 • Published 6 years ago

@typeforce/is-primitive v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
6 years ago

is-primitive

NPM NPM CDN LICENSE

Determine if a value is primitive.

A value is primitive if it is of a primitive type.

Usage

    npm install @typeforce/is-primitive --save   # Install package via NPM
    import { expect } from "chai";
    import isPrimitive from "@typeforce/is-primitive";

    expect(isPrimitive("Boo")).to.be.true;
    expect(isPrimitive(42)).to.be.true;
    expect(isPrimitive(new Symbol("boo"))).to.be.true;
    expect(isPrimitive(isPrimitive)).to.be.true;
    expect(isPrimitive(undefined)).to.be.true;
    expect(isPrimitive(null)).to.be.true;
    expect(isPrimitive(true)).to.be.true;

    expect(isPrimitive({ foo: "bar" })).to.be.false;
    expect(isPrimitive(new String("boo"))).to.be.false;

This package contains TypeScript type declarations. Furthermore, the package uses TypeScript type guards to allow type inference to influence IntelliSense.

    if (isPrimitive(x)) {
        // IntelliSense now knows `x` is a primitive value.
        let y: Primitive = x;
    }

Content Delivery Network (CDN)

This package can be imported via unpkg as demonstrated below.

    <script src="https://unpkg.com/@typeforce/is-primitive/dist/index.min.js"></script>
    <script type="application/javascript">
        var x = 42;
        if (isPrimitive(x)) {
            // `x` is of a primitive type!
        }
    </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.