bcherny/json-schema-to-typescript

Empty objects produce broken schema (empty interface)

Open

#486 opened on Sep 18, 2022

View on GitHub
 (3 comments) (1 reaction) (0 assignees)TypeScript (449 forks)github user discovery
buggood first issuehelp wanted

Repository metrics

Stars
 (3,302 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

I searched a bit but didn't find any issues/discussion that looked relevant, please forgive me if I missed something.

I'm dealing with an api that has "sometype": {} fields sometimes (that is, it requires an empty object) with a definition like

{
  "title": "Empty",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

This produces the invalid ts definition

export interface Empty {}

where I'd expect

export type Empty = Record<string, never>;

Obviously there won't be significant type safety (or unsafety) in these situations, but it will compile/check.

Contributor guide