StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
735 B
31 lines
735 B
/**
|
|
* @module update-diff
|
|
*/
|
|
|
|
'use strict'
|
|
|
|
module.exports = function updateDiff (obj, diff, mappers) {
|
|
if (!Array.isArray(mappers)) mappers = [].slice.call(arguments, 2)
|
|
|
|
for (var i = 0, l = mappers.length; i < l; i++) {
|
|
var dict = mappers[i]
|
|
for (var prop in dict) {
|
|
if (diff[prop] !== undefined && !Array.isArray(diff[prop]) && obj[prop] === diff[prop]) continue
|
|
|
|
if (prop in diff) {
|
|
var result
|
|
|
|
if (dict[prop] === true) result = diff[prop]
|
|
else if (dict[prop] === false) continue
|
|
else if (typeof dict[prop] === 'function') {
|
|
result = dict[prop](diff[prop], obj, diff)
|
|
if (result === undefined) continue
|
|
}
|
|
|
|
obj[prop] = result
|
|
}
|
|
}
|
|
}
|
|
|
|
return obj
|
|
}
|
|
|