openapi-ts icon indicating copy to clipboard operation
openapi-ts copied to clipboard

Support for exactOptionalPropertyTypes in tsconfig.json

Open donverduyn opened this issue 1 year ago • 1 comments

Description

Currently, when "exactOptionalPropertyTypes" is enabled in tsconfig.json, the generated files cause TS errors, because formData for example, is provided even though its type is possibly undefined.

A workaround is to add an exclamation mark behind formData as seen in the following example. However it would be great if we would have a better OOTB solution for this problem.

  /**
   * Update firmware
   * @param data The data for the request.
   * @param data.formData Firmware file
   * @returns unknown success
   * @throws ApiError
   */
  public static postFirmware(
    data: PostFirmwareData = {}
  ): CancelablePromise<PostFirmwareResponse> {
    return __request(OpenAPI, {
      method: 'POST',
      url: '/firmware',
      formData: data.formData!,
      mediaType: 'multipart/form-data',
      errors: {
        500: 'server error',
      },
    });
  }
}

donverduyn avatar May 17 '24 17:05 donverduyn

Let me get to this after clients are done

mrlubos avatar May 17 '24 17:05 mrlubos

Hey, did you see the new Fetch API client? Wonder if that works for you

mrlubos avatar May 24 '24 10:05 mrlubos

This problem is solved by using @hey-api/client-fetch. Closing.

donverduyn avatar May 25 '24 11:05 donverduyn