# @joi-extensions/joi-extensions

> Joi extensions

Latest version **1.2.0** (published 2022-08-04) · MIT license · 0 weekly downloads

## Install

```sh
npm install @joi-extensions/joi-extensions
pnpm add @joi-extensions/joi-extensions
yarn add @joi-extensions/joi-extensions
bun add @joi-extensions/joi-extensions
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.2.0 |
| Published | 2022-08-04 |
| First published | 2019-02-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=10.0.0 |
| Dependencies | 2 |
| Unpacked size | 25.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | alberthambardzumyan |
| Keywords | array, even, extensions, joi, mongodb, objectId, odd, string |

## Links

- npm: https://www.npmjs.com/package/@joi-extensions/joi-extensions
- Repository: https://github.com/joi-extensions/joi-extensions
- Homepage: https://github.com/joi-extensions/joi-extensions#readme
- Issues: https://github.com/joi-extensions/joi-extensions/issues
- npm.io page: https://npm.io/package/@joi-extensions/joi-extensions

## Dependencies (2)

- [bson](https://npm.io/package/bson.md) 4.6.5
- [object-sizeof](https://npm.io/package/object-sizeof.md) 1.6.3

## Alternatives

- [angular-pipes](https://npm.io/package/angular-pipes.md) — 5.6K weekly downloads
- [@ng-web-apis/midi](https://npm.io/package/@ng-web-apis/midi.md) — 2.6K weekly downloads
- [happn-3](https://npm.io/package/happn-3.md) — 1.6K weekly downloads
- [@opensip-cli/lang-go](https://npm.io/package/@opensip-cli/lang-go.md) — 1.2K weekly downloads
- [mongoose-typescript](https://npm.io/package/mongoose-typescript.md) — 85 weekly downloads

## Recent versions

- 1.2.0 (latest) — 2022-08-04
- 1.1.0 — 2020-08-07
- 1.0.0 — 2020-07-19
- 0.1.0 — 2019-03-20
- 0.0.1 — 2019-03-17
- 0.0.1-beta — 2019-02-28

## README

<h1 align="center">
	<img width="320" src="media/logo.jpeg" alt="Joi extensions">
	<br>
	<br>
</h1>

Extensions for Joi validator.

[![Build Status](https://travis-ci.org/joi-extensions/joi-extensions.svg?branch=master)](https://travis-ci.org/joi-extensions/joi-extensions.svg?branch=master)
[![npm](https://img.shields.io/npm/v/@joi-extensions/joi-extensions.svg)](https://www.npmjs.com/package/@joi-extensions/joi-extensions) 
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/AlbertHambardzumyan/fraction-js/master/LICENSE)
[![GitHub issues](https://img.shields.io/github/issues/joi-extensions/joi-extensions.svg)](https://github.com/joi-extensions/joi-extensions/issues)

# Installation 
```bash
 npm install @joi-extensions/joi-extensions
```

# Usage

Usage is a two steps process. First, a schema is constructed using the provided types and constraints:

```js
const BaseJoi = require('joi')
const {AnyExtensions} = require('@joi-extensions/joi-extensions')
const Joi = BaseJoi.extend(AnyExtensions)

const schema = Joi.any().sizeof(20)
````

```js
const BaseJoi = require('joi')
const {StringExtensions} = require('@joi-extensions/joi-extensions')
const Joi = BaseJoi.extend(StringExtensions)

const schema = Joi.string().objectId()
````

```js
const BaseJoi = require('joi')
const {ArrayExtensions} = require('@joi-extensions/joi-extensions')
const Joi = BaseJoi.extend(ArrayExtensions)

const schema = Joi.array().even()
````

# API
See the detailed [API Reference](API.md).

---
_Source: https://npm.io/package/@joi-extensions/joi-extensions · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
