# muxrpc-validation

> Validation library for muxrpc apis

Latest version **3.0.2** (published 2019-05-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install muxrpc-validation
pnpm add muxrpc-validation
yarn add muxrpc-validation
bun add muxrpc-validation
```

## 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 | 3.0.2 |
| Published | 2019-05-26 |
| First published | 2015-09-15 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 6.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Author | Paul Frazee |
| Maintainers | dominictarr, pfraze |
| Keywords | muxrpc, validation |

## Links

- npm: https://www.npmjs.com/package/muxrpc-validation
- Repository: https://github.com/ssbc/muxrpc-validation
- Homepage: https://github.com/ssbc/muxrpc-validation#readme
- Issues: https://github.com/ssbc/muxrpc-validation/issues
- npm.io page: https://npm.io/package/muxrpc-validation

## Dependencies (2)

- [zerr](https://npm.io/package/zerr.md) ^1.0.4
- [pull-stream](https://npm.io/package/pull-stream.md) ^3.6.11

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 3.0.2 (latest) — 2019-05-26
- 3.0.1 — 2019-05-26
- 3.0.0 — 2016-04-04
- 2.0.1 — 2015-09-18
- 2.0.0 — 2015-09-18
- 1.0.5 — 2015-09-17
- 1.0.4 — 2015-09-17
- 1.0.3 — 2015-09-15
- 1.0.2 — 2015-09-15
- 1.0.1 — 2015-09-15
- 1.0.0 — 2015-09-15

## README

# muxrpc validation

Validation library for [muxrpc](https://npm.im/muxrpc) apis.

```js
// create validator library
var valid = require('muxrpc-validation')({
  queryOpts: function (v) {
    if (v.reverse && typeof v.reverse != 'boolean')
      return new TypeError('opts.reverse must be a bool')
  }
})

// api manifest
var manifest = {
  usage: 'sync',
  get:   'async',
  add:   'async',
  list:  'source'
}

// api definition - wrap the functions in the validators
var api = {
  usage:   valid.sync(usage, 'string|boolean'), // multiple types
  get:     valid.async(get, 'string'),
  add:     valid.async(add, ['string'], ['string', 'object']), // multiple signatures
  put:     valid.async(add, {cbOptional: true}, 'string'), // async method works without a cb
  list:    valid.source(list, 'queryOpts?') // optional param
}

function usage (cmd) {
  // ...
}
function get (key, cb) {
  // ...
}
function add (key, value, cb) {
  if (typeof value == 'function') {
    // handle (value, cb)
    value = key
    key = value.key
    cb = value
  }
  // ...
}
function list (opts) {
  opts = opts || {}
  // ...
}
```

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