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.
73 lines
1.9 KiB
73 lines
1.9 KiB
"use strict";
|
|
|
|
/* global self, window, module, global, require */
|
|
module.exports = function () {
|
|
|
|
"use strict";
|
|
|
|
var globalObject = void 0;
|
|
|
|
function isFunction(x) {
|
|
return typeof x === "function";
|
|
}
|
|
|
|
// Seek the global object
|
|
if (global !== undefined) {
|
|
globalObject = global;
|
|
} else if (window !== undefined && window.document) {
|
|
globalObject = window;
|
|
} else {
|
|
globalObject = self;
|
|
}
|
|
|
|
// Test for any native promise implementation, and if that
|
|
// implementation appears to conform to the specificaton.
|
|
// This code mostly nicked from the es6-promise module polyfill
|
|
// and then fooled with.
|
|
var hasPromiseSupport = function () {
|
|
|
|
// No promise object at all, and it's a non-starter
|
|
if (!globalObject.hasOwnProperty("Promise")) {
|
|
return false;
|
|
}
|
|
|
|
// There is a Promise object. Does it conform to the spec?
|
|
var P = globalObject.Promise;
|
|
|
|
// Some of these methods are missing from
|
|
// Firefox/Chrome experimental implementations
|
|
if (!P.hasOwnProperty("resolve") || !P.hasOwnProperty("reject")) {
|
|
return false;
|
|
}
|
|
|
|
if (!P.hasOwnProperty("all") || !P.hasOwnProperty("race")) {
|
|
return false;
|
|
}
|
|
|
|
// Older version of the spec had a resolver object
|
|
// as the arg rather than a function
|
|
return function () {
|
|
|
|
var resolve = void 0;
|
|
|
|
var p = new globalObject.Promise(function (r) {
|
|
resolve = r;
|
|
});
|
|
|
|
if (p) {
|
|
return isFunction(resolve);
|
|
}
|
|
|
|
return false;
|
|
}();
|
|
}();
|
|
|
|
// Export the native Promise implementation if it
|
|
// looks like it matches the spec
|
|
if (hasPromiseSupport) {
|
|
return globalObject.Promise;
|
|
}
|
|
|
|
// Otherwise, return the es6-promise polyfill by @jaffathecake.
|
|
return require("es6-promise").Promise;
|
|
}(); |