Skip to content

Problem using --array-length when minItems equals to maxItems #1781

@Couc

Description

@Couc

Hello everyone :)
Description

When using --array-length flag and minItems, maxItems with identical values in schema definition, the generated interface is [].

Name Version
openapi-typescript >=7.0.0
Node.js 20.15.0
OS + version Windows 10

Reproduction

Run openapi-typescript with --array-length flag set to true on yaml :

openapi: 3.1.0
info:
  title: Webhook Example
  summary: My lovely API
  version: 1.0.0
  description: some description
  license:
    name: MIT
    identifier: MIT
    url: https://opensource.org/licenses/MIT
jsonSchemaDialect: https://spec.openapis.org/oas/3.1/dialect/base
tags:
  - name: Gameplay
    description: gameplay tag
servers:
  - url: https://redocly-example.com/{var}
    variables:
      var:
        enum:
          - a
          - b
        default: b
security: []
paths:
  /pets/items:
    get:
      operationId: getTest
      summary: Get Test! Foo! Etc!
      responses:
        200:
          description: '200'
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                minItems: 3
                maxItems: 3
        400:
          description: An error response

Expected Result
The part "application/json" should be typed as "[string, string, string]" in :

responses: {
            /** @description 200 */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": [string, string, string];
                };
            };

Current Result

responses: {
            /** @description 200 */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": [];
                };
            };

Checklist

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingopenapi-tsRelevant to the openapi-typescript librarystale

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions