https://github.com/stevenpersia/tinyboo
Utilities library for type checking and other useful things. Already more than 40 functions (TypeScript supported). 👻
https://github.com/stevenpersia/tinyboo
check functions library tinyboo type typescript utilities utils
Last synced: 11 months ago
JSON representation
Utilities library for type checking and other useful things. Already more than 40 functions (TypeScript supported). 👻
- Host: GitHub
- URL: https://github.com/stevenpersia/tinyboo
- Owner: stevenpersia
- License: mit
- Created: 2020-03-31T16:22:57.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-03-04T09:33:30.000Z (over 3 years ago)
- Last Synced: 2024-10-31T11:18:38.251Z (over 1 year ago)
- Topics: check, functions, library, tinyboo, type, typescript, utilities, utils
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/tinyboo
- Size: 743 KB
- Stars: 9
- Watchers: 1
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

## Overview
Utilities library for type checking and **other useful things**. Already more than **40 functions**. Each function returns **false** or **true**, that's it. Perfect for front and back ends. 👻
- **0 dependencies** 🌱
- **Super lightweight (~25 kB)** âš¡
- **Easy to use** 🤘
- **Tested** ðŸ›
- **TypeScript supported** 🌞
**Roadmap** : `isUrl`, `isAbsoluteUrl`, `isRelativeUrl`, `isGif`, `isJpg`, `isPng`, `isPdf`, `isSvg`, `isWebp`, `isHtml`, `isZip`, `isRar`, `isMatch`, ...
## Installation
Install package :
```sh
yarn add tinyboo
# or
npm install tinyboo
```
Import what you need :
```js
import { isEmptyArray, isIP, isGreaterThan } from 'tinyboo';
```
And have fun !
## Usage
### Type checkers
```js
isArray([]); // → true
isBlob(new Blob()); // → true
isBoolean(false); // → true
isDate(new Date()); // → true
isError(new Error()); // → true
isFile(new File()); // → true
isFunction(() => {}); // → true
isMap(new Map()); // → true
isNull(null); // → true
isNumber(1); // → true
isObject({}); // → true
isRegExp(/^foo(bar)?$/); // → true
isSet(new Set()); // → true
isString('foo'); // → true
isSymbol(Symbol()); // → true
isUndefined(undefined); // → true
isWeakMap(new WeakMap()); // → true
isWeakSet(new WeakSet()); // → true
isPrimitive('foo'); // → true
```
### Arrays
```js
isArrayOfBooleans([true, false]); // → true
isArrayOfDates([new Date(), new Date()]); // → true
isArrayOfNumbers([1, 2, 3]); // → true
isArrayOfObjects([{}, {}]); // → true
isArrayOfPrimitives(['foo', 1]); // → true
isArrayOfStrings(['bar', '1']); // → true
```
### Objects
```js
hasKey({ foo: 'bar' }, 'foo'); // → true
hasValue({ foo: 'bar' }, 'bar'); // → true
```
### Numbers
```js
isFiniteNumber(2); // → true
isGreaterThan(700, 500); // → true
isInteger(21); // → true
isLessThan(300, 500); // → true
isBetween(2, 1, 3); // → true
```
### Others
```js
isEmptyArray([]); // → true
isEmptyObject({}); // → true
isEmptyString(' '); // → true
isEqual('foo', 'foo'); // → true
isHexadecimal('F1F1F1'); // → true
isIP('210.23.51.230'); // → true
isJSON('{ "foo": "bar" }'); // → true
```
## More examples
### `isEqual` - works with array, boolean, null, number and string
```js
// Array
isEqual([1, 'foo', 'bar'], [1, 'foo', 'bar']); // → true
isEqual([1, 'foo', 'bar'], ['foo', 1, 'bar']); // → false
// Boolean
isEqual(false, false); // → true
isEqual(true, false); // → false
// Null
isEqual(null, null); // → true
isEqual(null, 'foo'); // → false
// Number
isEqual(1, 1); // → true
isEqual(1, '1'); // → false
// String
isEqual('foo', 'foo'); // → true
isEqual('foo', 'bar'); // → false
```
### `isIP` - only works with string
```js
isIP('127.0.0.0'); // → true
isIP('0.0.0.0'); // → true
isIP('255.255.255.255'); // → true
isIP('192.168'); // → false
isIP(19216801); // → false
isIP('127.000.000.000'); // → false
```
### `isJSON` - only works with string or null
```js
isJSON('{}'); // → true
isJSON('null'); // → true
isJSON('{ "foo": "bar" }'); // → true
isJSON(null); // → true
isJSON({}); // → false
isJSON({ foo: 'bar' }); // → false
isJSON(''); // → false
```
## Star, Fork, Clone & Contribute
Feel free to contribute on this repository. If my work helps you, please give me back with a star. This means a lot to me and keeps me going!