I have interface CountersData that I would like to model off of my JSON data. As seen below, I have a nested id (in example below 1830 and 1835 are ids) property that is a array of a nested dictionaries, which I also want to be optional.
I have been unable to make it optional, so I am unable to fetch the proper data. How should this data be formatted? See below my code and the JSON format.
interface CountersData {
//other properties
//want this to be optional
[id: number]: {
count_targets: number;
count_targets_excluded: number;
count_targets_pending: number;
count_targets_in_progress: number;
count_targets_completed: number;
count_targets_failed: number;
}[];
[key: string]: number | string | any | undefined;
}
You can make the property optional like this:
type CountersData = {
[key in number]?: {
count_targets: number;
count_targets_excluded: number;
count_targets_pending: number;
count_targets_in_progress: number;
count_targets_completed: number;
count_targets_failed: number;
}[];
} & { [key: string]: number | string | any | undefined };