pydantic-to-typescript icon indicating copy to clipboard operation
pydantic-to-typescript copied to clipboard

Literal field becomes optional in typescript

Open jcampbell opened this issue 1 year ago • 0 comments

If I define a property using a Literal with a default value, it shows as optional in typescript. This is similar to #28 but, I think it should be treated differently because the value must be set, even by a client (the property is used as a discriminator in a union).

from typing import Literal
from pydantic import BaseModel


class MyModel(BaseModel):
  my_bool_property: Literal[False] = False

renders into

/* tslint:disable */
/* eslint-disable */
/**
/* This file was automatically generated from pydantic models by running pydantic2ts.
/* Do not modify it by hand - just update the pydantic models and then re-run the script
*/

export interface MyModel {
  my_bool_property?: false;
}

jcampbell avatar Apr 24 '23 19:04 jcampbell