Skip to content

[BUG][typescript-rxjs] Unnecessary imports occurs when using allOf #4629

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
5 of 6 tasks
tanmen opened this issue Nov 28, 2019 · 1 comment · Fixed by #4632
Closed
5 of 6 tasks

[BUG][typescript-rxjs] Unnecessary imports occurs when using allOf #4629

tanmen opened this issue Nov 28, 2019 · 1 comment · Fixed by #4632

Comments

@tanmen
Copy link
Contributor

tanmen commented Nov 28, 2019

Bug Report Checklist

  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator (example)?
  • What's the version of OpenAPI Generator used?
  • Have you search for related issues/PRs?
  • What's the actual output vs expected output?
  • [Optional] Bounty to sponsor the fix (example)
Description

If allOf is used, a model that does not use import will be generated.
Because my project prohibits unused import, an error occurs in typescript.
import must be used or deleted.

taget schemas

    Response:
      type: string
      example: success
      enum:
        - success
        - error
    Box:
      type: object
      properties:
        id:
          type: number
          example: 1
        name:
          type: string
          example: inbox
    BoxesResponse:
      allOf:
        - $ref: '#/components/schemas/Response'
        - $ref: '#/components/schemas/Box'

generated typescript file

// tslint:disable
/**
 * My application
 * My application
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

 import {
     Box,
     Response,
 } from './';

 /**
  * @export
  * @interface BoxResponse
  */
 export interface BoxResponse extends Box, Response{
     /**
      * @type {string}
      * @memberof BoxResponse
      */
     status?: BoxResponseStatusEnum;
     /**
      * @type {number}
      * @memberof BoxResponse
      */
     id?: number;
     /**
      * @type {string}
      * @memberof BoxResponse
      */
     name?: string;
 }

 /**
  * @export
  * @enum {string}
  */
 export enum BoxResponseStatusEnum {
     Success = 'success',
     Error = 'error'
 }

expected

// tslint:disable
/**
 * My application
 * My application
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import {
    Box,
    Response,
} from './';

/**
 * @export
 * @interface BoxResponse
 */
export interface BoxResponse extends Box, Response {
}
openapi-generator version

4.2.0

OpenAPI declaration file content or url
openapi: 3.0.2
info:
  title: My application
  version: 1.0.0
  description: My application
tags:
  - name: Box
paths:
  /boxes:
    get:
      summary: Box list
      description: Box list
      operationId: showBoxes
      tags:
        - Box
      responses:
        200:
          description: Box list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxesResponse'
components:
  schemas:
    Response:
      type: string
      example: success
      enum:
        - success
        - error
    Box:
      type: object
      properties:
        id:
          type: number
          example: 1
        name:
          type: string
          example: inbox
    BoxesResponse:
      allOf:
        - $ref: '#/components/schemas/Response'
        - $ref: '#/components/schemas/Box'
Command line used for generation
$ openapi-generator generate -i openapi.yml -g typescript-rxjs -o apis
Steps to reproduce

N/A

Related issues/PRs

N/A

Suggest a fix

Checking now

@auto-labeler
Copy link

auto-labeler bot commented Nov 28, 2019

👍 Thanks for opening this issue!
🏷 I have applied any labels matching special text in your issue.

The team will review the labels and make any necessary changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant