Open Tatsh opened 7 months ago
Input:
interface CalendarJSON { date: string; fiscal: { month: MonthNumbers; quarter: | { name: 'Q1'; value: 1 } | { name: 'Q2'; value: 2 } | { name: 'Q3'; value: 3 } | { name: 'Q4'; value: 4 }; week: WeekNumbers; year: CommonYears; }; gregorian: { day_of_week: | { name: 'Monday'; value: 0 } | { name: 'Tuesday'; value: 1 } | { name: 'Wednesday'; value: 2 } | { name: 'Thursday'; value: 3 } | { name: 'Friday'; value: 4 } | { name: 'Saturday'; value: 5 } | { name: 'Sunday'; value: 6 }; month: MonthNumbers; quarter: QuarterNumbers; week: WeekNumbers; year: CommonYears; }; id: string; }
Output:
class CalendarJSON_Fiscal_0_Quarter_0(TypedDict): name: Literal['Q1'] value: Literal[1] class CalendarJSON_Fiscal_0_Quarter_1(TypedDict): name: Literal['Q2'] value: Literal[2] class CalendarJSON_Fiscal_0_Quarter_2(TypedDict): name: Literal['Q3'] value: Literal[3] class CalendarJSON_Fiscal_0_Quarter_3(TypedDict): name: Literal['Q4'] value: Literal[4] class CalendarJSON_Fiscal_0(TypedDict): month: 'MonthNumbers' quarter: CalendarJSON_Fiscal_0_Quarter_0 | CalendarJSON_Fiscal_0_Quarter_1 | CalendarJSON_Fiscal_0_Quarter_2 | CalendarJSON_Fiscal_0_Quarter_3 week: 'WeekNumbers' year: 'CommonYears' class CalendarJSON_Gregorian_0_Day_of_week_0(TypedDict): name: Literal['Monday'] value: Literal[0] class CalendarJSON_Gregorian_0_Day_of_week_1(TypedDict): name: Literal['Tuesday'] value: Literal[1] class CalendarJSON_Gregorian_0_Day_of_week_2(TypedDict): name: Literal['Wednesday'] value: Literal[2] class CalendarJSON_Gregorian_0_Day_of_week_3(TypedDict): name: Literal['Thursday'] value: Literal[3] class CalendarJSON_Gregorian_0_Day_of_week_4(TypedDict): name: Literal['Friday'] value: Literal[4] class CalendarJSON_Gregorian_0_Day_of_week_5(TypedDict): name: Literal['Saturday'] value: Literal[5] class CalendarJSON_Gregorian_0_Day_of_week_6(TypedDict): name: Literal['Sunday'] value: Literal[6] class CalendarJSON_Gregorian_0(TypedDict): day_of_week: CalendarJSON_Gregorian_0_Day_of_week_0 | CalendarJSON_Gregorian_0_Day_of_week_1 | CalendarJSON_Gregorian_0_Day_of_week_2 | CalendarJSON_Gregorian_0_Day_of_week_3 | CalendarJSON_Gregorian_0_Day_of_week_4 | CalendarJSON_Gregorian_0_Day_of_week_5 | CalendarJSON_Gregorian_0_Day_of_week_6 month: 'MonthNumbers' quarter: 'QuarterNumbers' week: 'WeekNumbers' year: 'CommonYears' class CalendarJSON(TypedDict): date: str fiscal: CalendarJSON_Fiscal_0_Quarter_0 gregorian: CalendarJSON_Gregorian_0_Day_of_week_0 id: str
Note the fiscal and gregorian fields. They are pointing to the first field type of the dictionary rather than the dictionary type itself.
fiscal
gregorian
Expected output for CalendarJSON:
CalendarJSON
class CalendarJSON(TypedDict): date: str fiscal: CalendarJSON_Fiscal_0 gregorian: CalendarJSON_Gregorian_0 id: str
Input:
Output:
Note the
fiscal
andgregorian
fields. They are pointing to the first field type of the dictionary rather than the dictionary type itself.Expected output for
CalendarJSON
: