Wondering what’s next for npm?Check out our public roadmap! »

    openapi-sampler
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/openapi-sampler package

    1.0.0-beta.18 • Public • Published

    openapi-sampler

    Travis build status Coverage Status Dependency Status devDependency Status

    Tool for generation samples based on OpenAPI payload/response schema

    Features

    • deterministic (given a particular input, will always produce the same output)
    • Supports allOf
    • Supports additionalProperties
    • Uses default, const, enum and examples where possible
    • Full array support: supports minItems, and tuples (items as an array)
    • Supports minLength, maxLength, min, max, exclusiveMinimum, exclusiveMaximum
    • Supports the next string formats:
      • email
      • password
      • date-time
      • date
      • ipv4
      • ipv6
      • hostname
      • uri
      • uuid
    • Infers schema type automatically following same rules as json-schema-faker
    • Support for $ref resolving

    Installation

    Install using npm

    npm install openapi-sampler --save
    

    or using yarn

    yarn add openapi-sampler
    

    Then require it in your code:

    var OpenAPISampler = require('openapi-sampler');

    Usage

    OpenAPISampler.sample(schema, [options], [spec])

    • schema (required) - object A OpenAPI Schema Object
    • options (optional) - object Available options:
      • skipNonRequired - boolean Don't include non-required object properties not specified in required property of the schema object
      • skipReadOnly - boolean Don't include readOnly object properties
      • skipWriteOnly - boolean Don't include writeOnly object properties
      • quiet - boolean Don't log console warning messages
    • spec - whole specification where the schema is taken from. Required only when schema may contain $ref. spec must not contain any external references

    Example

    const OpenAPISampler = require('.');
    OpenAPISampler.sample({
      type: 'object',
      properties: {
        a: {type: 'integer', minimum: 10},
        b: {type: 'string', format: 'password', minLength: 10},
        c: {type: 'boolean', readOnly: true}
      }
    }, {skipReadOnly: true});
    // { a: 10, b: 'pa$$word_q' }

    Install

    npm i openapi-sampler

    DownloadsWeekly Downloads

    176,780

    Version

    1.0.0-beta.18

    License

    MIT

    Unpacked Size

    87.4 kB

    Total Files

    40

    Last publish

    Collaborators

    • avatar