export function assign_defined(target, source) { Object.assign(target, Object.fromEntries(Object.entries(source).filter(([k ,v]) => v !== undefined ))); } export function assign_using_predicate(target, source, kv_predicate) { Object.assign(target, Object.fromEntries(Object.entries(source).filter(kv_predicate))); // Call predicate with ([k, v]) }