Neoclassical Programming Multitude

    @loopback/openapi-spec-builder
    TypeScript icon, indicating that this package has built-in type declarations

    3.2.3 • Public • Published

    @loopback/openapi-spec-builder

    Make it easy to create OpenAPI specification documents in your tests using the builder pattern.

    Overview

    Creating a full OpenAPI spec document in automated tests is rather cumbersome, long JSON-like objects pollute the test test code and make it difficult for readers to distinguish between what's important in the test and what's just shared OpenAPI boilerplate.

    OpenApiSpecBuilder utilizes Test Data Builder pattern to provide a TypeScript/JavaScript API allowing users to create full OpenAPI Spec documents in few lines of code.

    Installation

    npm install --save-dev @loopback/openapi-spec-builder

    This package is typically used in tests, save it to devDependencies via --save-dev.

    Basic use

    import {
      anOpenApiSpec,
      OpenApiSpecBuilder,
    } from '@loopback/openapi-spec-builder';
    
    const spec = anOpenApiSpec()
      .withOperationReturningString('get', '/hello', 'greet')
      .build();
    
    // which is equivalent to the following longer form
    const spec = new OpenApiSpecBuilder()
      .withOperation('get', '/hello', {
        'x-operation-name': 'greet',
        responses: {
          '200': {
            description: 'The string result.',
            content: {
              'text/plain': {
                schema: {
                  type: 'string',
                },
              },
            },
          },
        },
      })
      .build();
    
    // the spec
    const spec = {
      openapi: '3.0.0',
      info: {title: 'LoopBack Application', version: '1.0.0'},
      servers: [
        {
          url: '/',
        },
      ],
      paths: {
        '/hello': {
          get: {
            'x-operation-name': 'greet',
            responses: {
              '200': {
                description: 'The string result.',
                content: {
                  'text/plain': {
                    schema: {
                      type: 'string',
                    },
                  },
                },
              },
            },
          },
        },
      },
    };

    Related resources

    See https://www.openapis.org/ and version 3.0.0 of OpenAPI Specification.

    Contributions

    Tests

    Run npm test from the root folder.

    Contributors

    See all contributors.

    License

    MIT

    Install

    npm i @loopback/openapi-spec-builder

    DownloadsWeekly Downloads

    261

    Version

    3.2.3

    License

    MIT

    Unpacked Size

    41.7 kB

    Total Files

    11

    Last publish

    Collaborators

    • rfeng
    • bajtos
    • rmg
    • hacksparrow
    • jannyhou2016
    • dhmlau
    • emonddr
    • jerry-apic
    • theprez
    • achrinza
    • marioestradarosa