Why will TypeScript not let me set the value of an object inside an array that I have the exact location of?
list: AdminDefinitionType[];
activeIndex: number;
async updateDefinition(id: keyof AdminDefinitionType, value: string | number | boolean) {
if (value === this.list[this.activeIndex][id]) {
return true; // No Change
} else {
this.list[this.activeIndex][id] = value; // 'string | number | boolean' is not assignable to type 'never' - WTF???
const definition: AdminDefinitionType = await clerk.update(this.list[this.activeIndex])
}
},
I feel like I have tried everything. I thought it might be because it may be thinking active index could be out of bounds, but I wrapped it in an if to ensure it was and still no luck.
How can I fix this error?
Update
export type AdminDefinitionType = {
id?: number;
name: string;
sort: number;
disabled: boolean;
};
This is my admin definition type. There are quite a few more props that don't need to be posted here, but they are all typed as strings and not optional.
AdminDefinitionTypedefined ?