@zerodep/guard-function
TypeScript icon, indicating that this package has built-in type declarations

2.0.7 • Public • Published

@zerodep/guard-function

version language types license

CodeFactor Known Vulnerabilities

A run-time guard to require a value to be a function; it will throw a ZeroDepError if the guard fails.

Full documentation is available at the zerodep.app page.

Examples

All @zerodep packages support both ESM and CJS.

import { guardFunction } from '@zerodep/guard-function';
// or
const { guardFunction } = require('@zerodep/guard-function');

Successful Cases

guardFunction(() => 'function'); // void

Unsuccessful Cases

guardFunction([]); // throws ZeroDepError: Value is not a function
guardFunction(['a', 'b', 'c']); // throws ZeroDepError: Value is not a function
guardFunction(1000n); // throws ZeroDepError: Value is not a function
guardFunction(true); // throws ZeroDepError: Value is not a function
guardFunction(new Date()); // throws ZeroDepError: Value is not a function
guardFunction(''); // throws ZeroDepError: Value is not a function
guardFunction(new Error('message')); // throws ZeroDepError: Value is not a function
guardFunction(3.14); // throws ZeroDepError: Value is not a function
guardFunction(42); // throws ZeroDepError: Value is not a function
guardFunction(
  new Map([
    ['a', 1],
    ['b', 2],
  ])
); // throws ZeroDepError: Value is not a function
guardFunction(null); // throws ZeroDepError: Value is not a function
guardFunction({ an: 'object' }); // throws ZeroDepError: Value is not a function
guardFunction(new Promise(() => {})); // throws ZeroDepError: Value is not a function
guardFunction(/[regex]+/gi); // throws ZeroDepError: Value is not a function
guardFunction(new Set([1, 2, 3])); // throws ZeroDepError: Value is not a function
guardFunction('a string'); // throws ZeroDepError: Value is not a function
guardFunction(Symbol()); // throws ZeroDepError: Value is not a function
guardFunction(new Int32Array(2)); // throws ZeroDepError: Value is not a function
guardFunction(undefined); // throws ZeroDepError: Value is not a function

Readme

Keywords

Package Sidebar

Install

npm i @zerodep/guard-function

Homepage

zerodep.app

Weekly Downloads

1

Version

2.0.7

License

MIT

Unpacked Size

6.6 kB

Total Files

7

Last publish

Collaborators

  • cdepage