New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

swagger-jscode

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

swagger-jscode

A Swagger codegen for JavaScript

  • 1.1.8
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-80%
Maintainers
1
Weekly downloads
 
Created
Source

JS Code generation using Swagger 2.x API's

Install

npm install --save-dev swagger-jscode

Example

Codes: https://github.com/Derek-Hu/swagger-jscode/tree/master/example

example
├── index.js
└── swagger-api.json
// content of file index.js
const swagger2JsCode = require('swagger-jscode');
const swaggerDefinitions = require('./swagger-api.json');
swagger2JsCode({
    swagger: swaggerDefinitions,
    // Provide your own HTTP Client
    httpBase: '../utils/fetch',
    // Folder which JS Code Generated into
    targetFolder: 'src/api',
    // Folder which Data Strucuture Code Generated into
    difinitionFolder: 'src/api/types'
});

Run codes below will generate codes in folder api.

example
├── index.js
├── swagger-api.json
└── src
    └── api
        ├── UserController.js
        └── types
            └── UserEntity.js
// content of file UserController.js

/**
 * @typedef { import("./types/UserEntity.js") }
 */
import http from '../utils/fetch';

/**
 * Get All Users
 * @param {Object} [query] params in url search
 * @param {string} [query.name] Search User by name
 * @param {Object} headers params in header
 * @param {string} headers.authorization JWT Token
 * @param {Object} [config] custom attributes
 */
export const getUserList = function (query, headers, config = {}) {
  return http.get(`/user`, {
    params: query,
    headers,
    ...config,
  }); 
};

/**
 * Create or Update User
 * @param {Object} data params in http body or form data
 * @param {UserEntity} data.user User Detail
 * @param {Object} [config] custom attributes
 */
export const createUpdateUser = function (data, config = {}) {
  return http.post(`/user`, {
    data,
    ...config,
  }); 
};

/**
 * Get User Detail
 * @param {Object} params params in url path
 * @param {string} params.userId User Id
 * @param {Object} [config] custom attributes
 */
export const getUserById = function (params, config = {}) {
  return http.get(`/user/${params.userId}`, {
    ...config,
  }); 
};

// content of file UserEntity.js
/**
 * @typedef {Object} UserEntity
 * @property {string=} name - User Name
 * @property {int=} age - User Age
 * @property {Array.<string>=} cards
 */

API

Options

  • swagger swagger api definitions in JSON format
  • url using remote swagger api definitions, conflict with swagger option
  • targetFolder target folder when generate js code. Default value: src/api
  • difinitionFolder target folder when generate swagger definitions(data structure),Default value: src/api/types
  • httpBase Promise based HTTP client. Default Value: 'axios'. The client should support all HTTP methods and has the same signature below
httpBase.[get|put|post|delete...](url, {
    params,
    data,
    headers,
    ...customerConfig
})
  • getAPIFileName function(name:String) => String transform generated file name to more friendly
  • getRequestFunctionName function(method:Method) => String transform methods in generated file name to more friendly.Method has the full method definitions, View Swagger Spec for detail: https://swagger.io/docs/specification/basic-structure/

Using in CLI

Provided command for swagger js code generate: sjc

// package.json
{
    "scripts": {
        "generate-by-data":"sjc --swagger swagger-api.json",
        "generate-by-url": "sjc --url http://mysite.com/v2/api-docs" 
    },
    "devDependencies": {
       "swagger-jscode": "", 
    }
}

Keywords

FAQs

Package last updated on 27 Aug 2019

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