@zerodep/guard-bigint
v2.0.11
Published
A configurable defensive programming utility to guard against non-BigInt values
Downloads
11
Readme
@zerodep/guard-bigint
A run-time guard to require a value to be a BigInt; 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 { guardBigInt } from '@zerodep/guard-bigint';
// or
const { guardBigInt } = require('@zerodep/guard-bigint');
Successful Cases
guardBigInt(1000n); // void
Unsuccessful Cases
guardBigInt([]); // throws ZeroDepError: Value is not a BigInt
guardBigInt(['a', 'b', 'c']); // throws ZeroDepError: Value is not a BigInt
guardBigInt(true); // throws ZeroDepError: Value is not a BigInt
guardBigInt(new Date()); // throws ZeroDepError: Value is not a BigInt
guardBigInt(''); // throws ZeroDepError: Value is not a BigInt
guardBigInt(new Error('message')); // throws ZeroDepError: Value is not a BigInt
guardBigInt(3.14); // throws ZeroDepError: Value is not a BigInt
guardBigInt(() => 'function'); // throws ZeroDepError: Value is not a BigInt
guardBigInt(42); // throws ZeroDepError: Value is not a BigInt
guardBigInt(
new Map([
['a', 1],
['b', 2],
])
); // throws ZeroDepError: Value is not a BigInt
guardBigInt(null); // throws ZeroDepError: Value is not a BigInt
guardBigInt({ an: 'object' }); // throws ZeroDepError: Value is not a BigInt
guardBigInt(new Promise(() => {})); // throws ZeroDepError: Value is not a BigInt
guardBigInt(/[regex]+/gi); // throws ZeroDepError: Value is not a BigInt
guardBigInt(new Set([1, 2, 3])); // throws ZeroDepError: Value is not a BigInt
guardBigInt('a string'); // throws ZeroDepError: Value is not a BigInt
guardBigInt(Symbol()); // throws ZeroDepError: Value is not a BigInt
guardBigInt(new Int32Array(2)); // throws ZeroDepError: Value is not a BigInt
guardBigInt(undefined); // throws ZeroDepError: Value is not a BigInt