1.0.0 • Published 6 years ago

@typeforce/is-negative-zero v1.0.0

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

is-negative-zero

NPM NPM CDN LICENSE

Determine if a value is negative zero (-0).

Usage

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

    expect(isNegativeZero(Math.atan2(-0, 0))).to.be.true;
    expect(isNegativeZero(-0)).to.be.true;

    expect(isNegativeZero(undefined)).to.be.false;
    expect(isNegativeZero(null)).to.be.false;
    expect(isNegativeZero("-0").to.be.false;

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

    if (isNegativeZero(x)) {
        // IntelliSense now knows `x` is zero.
        let y: 0 = x;
    }

Content Delivery Network (CDN)

This package can be imported via unpkg as demonstrated below.

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