in src/k8s/common/streamResults/index.ts [65:103]
function update({
type,
object,
}: {
type: 'ADDED' | 'MODIFIED' | 'DELETED' | 'ERROR';
object: EDPKubeObjectInterface;
}) {
object.actionType = type; // eslint-disable-line no-param-reassign
switch (type) {
case 'ADDED':
results[object.metadata.uid] = object;
break;
case 'MODIFIED': {
const existing = results[object.metadata.uid];
if (existing) {
const currentVersion = parseInt(existing.metadata.resourceVersion, 10);
const newVersion = parseInt(object.metadata.resourceVersion, 10);
if (currentVersion < newVersion) {
Object.assign(existing, object);
}
} else {
results[object.metadata.uid] = object;
}
break;
}
case 'DELETED':
delete results[object.metadata.uid];
break;
case 'ERROR':
console.error('Error in update', { type, object });
break;
default:
console.error('Unknown update type', type);
}
push();
}