Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

swagger-fluent

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

swagger-fluent

A fluent client for OpenAPI and Swagger

  • 5.0.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
35K
decreased by-22.79%
Maintainers
1
Weekly downloads
 
Created
Source

swagger-fluent

Build Status Greenkeeper badge

A fluent OpenAPI and Swagger client for JavaScript and Node.js.

fluent-client represents Path Item Object with chains of objects:

/api/v1/namespaces -> api.v1.namespaces

associates operations on a Path Item Object with functions:

/api/v1/namespaces -> api.v1.namespaces.get()

and represents Path Templating with function calls:

/api/v1/namespaces/{namespace}/pods -> api.v1.namespaces(namespace).pods

Configurable "backends" handle executing API calls by, for example, using fetch or Swagger Client. A backend can also perform error checking. The Swagger Client backend, for example, will perform the usual parameter and resolution checking that swagger-js performs and will throw those errors to the caller.

Using

const spec = require('./swagger.json')
const url = 'https://petstore.swagger.io/v2/'
const FetchBackend = require('swagger-fluent/backends/fetch')
const backend = new FetchBackend({ fetch, url })

const { Client } = require('swagger-fluent')
const client = new Client({ spec, backend })

const response = await client.pet.findByStatus.get({ parameters: { status: 'available' } })

API

Client(options)

Create a fluent client for an OpenAPI or Swagger specification.

  • options.spec - OpenAPI or Swagger specification.
  • options.backend - Object with an .http method that executes HTTP r equests.
  • options.getNames(name, ancestors) - a function to translate each path name to an alternate name or array of names. You could, for example, alias the resource "namespaces" to "namespace" and "ns".

FetchBackend(options)

Create a Fetch API-based backend.

const FetchBackend = require('swagger-fluent/backends/fetch')

RequestBackend(options)

const RequestBackend = require('swagger-fluent/backends/request')

SwaggerClientBackend(options)

Create a swagger-js-based backend.

const SwaggetClientBackend = require('swagger-fluent/backends/swagger-client')

Custom backend

The backend must implement an .http method. swagger-fluent passes the following options to the .http method, and returns the result directly to the API caller.

  • options.body - JSONifable object.
  • options.method - HTTP method.
  • options.pathItemObject - Swagger/OpenAPI Path Item Object.
  • options.parameters - named query parameters.
  • options.qs - named query parameters (legacy).
  • options.pathname - URL pathname.
  • options.stream - true if called by a "stream method".

Keywords

FAQs

Package last updated on 30 Apr 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc