1.0.1 • Published 6 years ago

@typeforce/is-function v1.0.1

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

is-function

NPM NPM CDN LICENSE

Determine if a value is a function.

A value is a function if it is a literal function, or is an instance of type Function.

Usage

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

    expect(isFunction(function () {})).to.be.true;
    expect(isFunction(() => {})).to.be.true;
    expect(isFunction(new Function())).to.be.true;

    expect(isFunction(undefined)).to.be.false;
    expect(isFunction(null)).to.be.false;
    expect(isFunction(42).to.be.false;

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

    if (isFunction(x)) {
        // IntelliSense now knows `x` is a function.
        let y: Function = x;
    }

Content Delivery Network (CDN)

This package can be imported via unpkg as demonstrated below.

    <script src="https://unpkg.com/@typeforce/is-function/dist/index.min.js"></script>
    <script type="application/javascript">
        if (isFunction(console.log)) {
            // `console.log` is a function!
        }
    </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.