muxrpc-validation

    3.0.2 • Public • Published

    muxrpc validation

    Validation library for muxrpc apis.

    // 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 || {}
      // ...
    }

    Install

    npm i muxrpc-validation

    DownloadsWeekly Downloads

    720

    Version

    3.0.2

    License

    MIT

    Unpacked Size

    7.04 kB

    Total Files

    3

    Last publish

    Collaborators

    • mycognosist
    • happy0
    • staltz
    • arj03
    • pfrazee
    • noffle
    • ahdinosaur
    • dominictarr
    • mixmix
    • cel
    • mmckegg
    • pietgeursen
    • christianbundy
    • regular
    • cryp7ix
    • andregarzia
    • aljoscha-meyer
    • luandro
    • blakeakapita
    • pfraze