is-it-type
Version:
Determine type of a variable
103 lines (67 loc) • 3.58 kB
Markdown
[](https://www.npmjs.com/package/is-it-type)
[](https://github.com/overlookmotel/is-it-type/actions)
[](https://david-dm.org/overlookmotel/is-it-type)
[](https://david-dm.org/overlookmotel/is-it-type)
[](https://coveralls.io/r/overlookmotel/is-it-type)
# Determine type of a variable
All the functions from [core-util-is](https://www.npmjs.com/package/core-util-is) plus a few extras, in both CJS and ESM formats for use in Node.js or browser.
## Usage
### Import
```js
const { isString } = require('is-it-type');
```
or:
```js
import { isString } from 'is-it-type';
```
### Use a method
```js
isString('abc'); // true
```
All methods return `true` or `false`.
## Methods
### Same as [core-util-is](https://www.npmjs.com/package/core-util-is):
* `isArray`
* `isBoolean`
* `isNull`
* `isNullOrUndefined`
* `isNumber`
* `isString`
* `isSymbol`
* `isUndefined`
* `isRegExp`
* `isDate`
* `isError`
* `isFunction`
* `isPrimitive`
NB [core-util-is](https://www.npmjs.com/package/core-util-is)'s `isBuffer` is not included. `isObject` method differs from [core-util-is](https://www.npmjs.com/package/core-util-is)'s method of same name (see [below](#objects)).
### Additional functions
#### Strings
* `isEmptyString` - `true` if `=== ''`
* `isFullString` - `true` if a string which `!== ''`
#### Numbers
* `isInteger` - `true` if is an integer number (positive, negative or zero)
* `isPositiveInteger` - `true` if is an integer number > 0
* `isPositiveIntegerOrZero` - `true` if is an integer number >= 0
* `isNegativeInteger` - `true` if is an integer number < 0
* `isNegativeIntegerOrZero` - `true` if is an integer number <= 0
#### Objects
* `isObject` - `true` if passed object (not including arrays, regexps and other built-ins)
* `isEmptyObject` - `true` if passed object with no properties
#### Other
* `isType( type, input )` - `true` if `typeof input === type`
## Versioning
This module follows [semver](https://semver.org/). Breaking changes will only be made in major version updates.
All active NodeJS release lines are supported (v12+ at time of writing). After a release line of NodeJS reaches end of life according to [Node's LTS schedule](https://nodejs.org/en/about/releases/), support for that version of Node may be dropped at any time, and this will not be considered a breaking change. Dropping support for a Node version will be made in a minor version update (e.g. 1.2.0 to 1.3.0). If you are using a Node version which is approaching end of life, pin your dependency of this module to patch updates only using tilde (`~`) e.g. `~1.2.3` to avoid breakages.
## Tests
Use `npm test` to run the tests. Use `npm run cover` to check coverage.
## Changelog
See [changelog.md](https://github.com/overlookmotel/is-it-type/blob/master/changelog.md)
## Issues
If you discover a bug, please raise an issue on Github. https://github.com/overlookmotel/is-it-type/issues
## Contribution
Pull requests are very welcome. Please:
* ensure all tests pass before submitting PR
* add tests for new features
* document new functionality/API additions in README
* do not add an entry to Changelog (Changelog is created when cutting releases)