1.19.0 • Published 10 months ago

@ibabkin/openapi-to-server v1.19.0

Weekly downloads
-
License
ISC
Repository
github
Last release
10 months ago

NPM version:latest npm downloads Coverage Status License

Description

Generates typescript interfaces for operations from OpenAPI 3.0 specification. Recommended to use with @ibabkin/openapi-to-zod

Usage

  • supported version of OpenAPI: 3.0.0
  • supports yaml-import
  • --json - emit json file alongside with typescript file
openapi-to-server --input ./swagger.yaml --output ./operations.d.ts --json
import api from './swagger.json';
import { OpenAPIV3 } from 'openapi-types';
import { renderDocument } from '../lib';
import fs from 'fs';

fs.writeFileSync('./operations.d.ts', renderDocument(api as OpenAPIV3.Document));

Input example:

openapi: 3.0.0
info:
  title: Simple Inventory API
  description: This is a simple API
  contact:
    email: you@your-company.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.0.0
servers:
  - url: https://virtserver.swaggerhub.com/DOSAKANTIVENKATESH/smp/1.0.0
    description: SwaggerHub API Auto Mocking
tags:
  - name: admins
    description: Secured Admin-only calls
  - name: developers
    description: Operations available to regular developers
paths:
  !!import/merge
    - paths.yaml

components:
  schemas:
    !!import/merge
      - components.yaml

Output example:

export type SearchInventoryPayload = {
  query: {
    searchString?: string,
    skip: number,
    limit: number,
  }
};

export type SearchInventoryResponse = InventoryItem[]

export type Operations = {
  searchInventory: IRoute<SearchInventoryPayload, Ok<SearchInventoryResponse>>;
}
1.18.0

10 months ago

1.19.0

10 months ago

1.16.0

1 year ago

1.17.2

1 year ago

1.17.1

1 year ago

1.17.0

1 year ago

1.17.6

1 year ago

1.17.5

1 year ago

1.17.4

1 year ago

1.17.3

1 year ago

1.17.8

1 year ago

1.17.7

1 year ago

1.15.0

1 year ago

1.14.1

1 year ago

1.14.2

1 year ago

1.14.0

1 year ago

1.13.0

1 year ago

1.12.0

1 year ago

1.11.0

1 year ago

1.10.0

1 year ago

1.9.5

1 year ago

1.9.4

1 year ago

1.9.3

1 year ago

1.9.2

1 year ago

1.9.1

1 year ago

1.9.0

1 year ago

1.8.9

2 years ago

1.8.10

2 years ago

1.8.8

2 years ago

1.8.11

2 years ago

1.8.12

2 years ago

1.8.7

2 years ago

1.8.6

2 years ago

1.8.5

2 years ago

1.8.4

2 years ago

1.8.3

2 years ago

1.8.2

2 years ago

1.8.1

2 years ago

1.8.0

2 years ago

1.7.10

2 years ago

1.7.9

2 years ago

1.7.8

2 years ago

1.7.7

2 years ago

1.7.6

2 years ago

1.7.5

2 years ago

1.7.4

2 years ago

1.7.3

2 years ago

1.7.2

2 years ago

1.7.1

2 years ago

1.7.0

2 years ago

1.6.0

2 years ago

1.5.1

2 years ago

1.5.0

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.10

2 years ago

1.3.9

2 years ago

1.3.8

2 years ago

1.3.7

2 years ago

1.3.6

2 years ago

1.3.5

2 years ago

1.3.4

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.0

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago