JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 127
  • Score
    100M100P100Q92381F
  • License MIT

Validate and parse request data using swagger parameters arrays

Package Exports

  • swagger-parameters
  • swagger-parameters/schema

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (swagger-parameters) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

swagger-parameters Build Status

Validate and parse request data using swagger parameters arrays

swagger-parameters turns your Swagger/OpenAPI parameters into a full JSON schema that can be used to parse and validate HTTP request data. The library is fully server-agnostic. You're responsible for converting your request paths and queries into key-value data. swagger-parameters will perform validation and type coercion and return a copy of your parsed data (if valid).

Install

$ npm install --save swagger-parameters

Usage

var Parser = require('swagger-parameters')
// var Schema = require('swagger-parameters/schema')

// /users/{id}/orders?page={page}
var parse = Parser([
  {
    name: 'id',
    in: 'path',
    type: 'integer',
    required: true
  },
  {
    name: 'page',
    in: 'query',
    default: 1,
    type: 'integer'
  },
  {
    name: 'token',
    in: 'header',
    required: true
  }
])

parse({
  path: {id: '1'},
  query: {page: '5'},
  headers: {token: 't'}
}, function (err, data) {
  if (err) throw err
  console.log(data)
  //=> {path: {id: 1}, query: {page: 5}, headers: {token: 't'}}
})

API

Parser(parameters, [data]) -> function<parse>

parameters

Type: array[object]
Default: []

An array of Swagger/OpenAPI parameter definition.

data

Required
Type: object

Data that can be resolved by $ref parameters.

parse(data, callback) -> undefined

data

Required
Type: object

A {path, query, headers} object, each with key-value data.

callback

Required
Type: function
Arguments: err, data

A callback to be called with a validation error or a parsed copy of the data. Validation errors will have an errors property which is an array of JSON schema error objects from ajv.

License

MIT © Ben Drucker