I got annoying Eslint warning for below two lines.
Does anyone know how to solve this issue ? Any hints are more than welcome!
item[key as keyof ICollectionMetaColumn] = value
mapping[key as keyof ISynchronizationTargetMapping]
Eslint warning:
Type 'T[K]' is not assignable to type 'never'.
sorry for my bad code 🙂
function setValue<T extends ICollectionMetaColumn | ISynchronizationTargetMapping, K extends keyof T>(
index: number,
key: K,
value: T[K],
) {
if (isICollectionMetaColumn(_metaColumns.value[index])) {
const item = _metaColumns.value[index] as ICollectionMetaColumn
item[key as keyof ICollectionMetaColumn] = value
emit('update:columns', unref(_metaColumns))
if (key === 'columnName' && !value && _metaColumns.value.length === 1)
emit('update:columns', [])
}
else {
const mapping = _metaColumns.value[index] as ISynchronizationTargetMapping
mapping[key as keyof ISynchronizationTargetMapping] = value
emit('update:mapping', unref(_metaColumns))
if (key === 'destinationField' && !value && _metaColumns.value.length === 1)
emit('update:mapping', [])
}
}