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.
72 lines
1.6 KiB
72 lines
1.6 KiB
'use strict';
|
|
|
|
var utils = require('../utils');
|
|
|
|
/**
|
|
* Get a value from `app` and set it on `app.cache.get` in memory, allowing the value to be
|
|
* re-used by another command, like `--set`.
|
|
*
|
|
* ```json
|
|
* $ app --get=pkg.name
|
|
* ```
|
|
* @name get
|
|
* @api public
|
|
*/
|
|
|
|
module.exports = function(app) {
|
|
return function(prop, key, config, next) {
|
|
if (typeof prop !== 'string') {
|
|
next();
|
|
return;
|
|
}
|
|
|
|
if (utils.isObject(prop)) {
|
|
var temp = prop;
|
|
for (var k in temp) {
|
|
if (temp.hasOwnProperty(k)) {
|
|
prop = k + ':' + temp[k];
|
|
}
|
|
}
|
|
}
|
|
|
|
var keys = prop.split('.');
|
|
var firstKey = keys.shift();
|
|
var rest = keys.join('.');
|
|
var val;
|
|
|
|
utils.assertPlugins(app, firstKey);
|
|
|
|
switch(firstKey) {
|
|
case prop:
|
|
val = app.get(['cache.data', prop]) || app.pkg.get(prop);
|
|
break;
|
|
case 'pkg':
|
|
val = app.pkg.get(rest);
|
|
break;
|
|
case 'config':
|
|
val = keys.length ? app.pkg.get([app._name, rest]) : app.pkg.get(app._name);
|
|
break;
|
|
case 'globals':
|
|
val = keys.length ? app.globals.get(rest) : app.globals.data;
|
|
break;
|
|
case 'store':
|
|
val = keys.length ? app.store.get(rest) : app.store.data;
|
|
break;
|
|
case 'data':
|
|
val = keys.length ? app.data(rest) : app.cache.data;
|
|
break;
|
|
case 'option':
|
|
val = keys.length ? app.option(rest) : app.options;
|
|
break;
|
|
default:
|
|
val = app.get(prop);
|
|
break;
|
|
}
|
|
|
|
var obj = {};
|
|
obj[keys.length ? rest : prop] = val;
|
|
console.log(utils.formatValue(obj));
|
|
app.set('cache.get', val);
|
|
next();
|
|
};
|
|
};
|
|
|