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.
157 lines
3.7 KiB
157 lines
3.7 KiB
'use strict';
|
|
|
|
/**
|
|
* Module dependencies
|
|
*/
|
|
|
|
var utils = require('lazy-cache')(require);
|
|
|
|
/**
|
|
* Temporarily re-assign `require` to trick browserify and
|
|
* webpack into reconizing lazy dependencies.
|
|
*
|
|
* This tiny bit of ugliness has the huge dual advantage of
|
|
* only loading modules that are actually called at some
|
|
* point in the lifecycle of the application, whilst also
|
|
* allowing browserify and webpack to find modules that
|
|
* are depended on but never actually called.
|
|
*/
|
|
|
|
var fn = require;
|
|
require = utils;
|
|
|
|
/**
|
|
* Lazily required module dependencies
|
|
*/
|
|
|
|
require('set-value', 'set');
|
|
require('get-value', 'get');
|
|
require('kind-of', 'typeOf');
|
|
require('collection-visit', 'visit');
|
|
require('object.omit', 'omit');
|
|
require('assign-deep', 'assign');
|
|
|
|
/* Used to match HTML entities and HTML characters. */
|
|
utils.reEscapedHtml = /&(?:amp|lt|gt|quot|#39|#96);/g;
|
|
utils.reUnescapedHtml = /[&<>"'`]/g;
|
|
utils.reHasEscapedHtml = RegExp(utils.reEscapedHtml.source);
|
|
utils.reHasUnescapedHtml = RegExp(utils.reUnescapedHtml.source);
|
|
|
|
/* Used to match [ES template delimiters](http://ecma-international.org/ecma-262/6.0/#sec-template-literal-lexical-components). */
|
|
utils.reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
|
|
|
|
/* Used to match template delimiters. */
|
|
utils.reEscape = /<%-([\s\S]+?)%>/g;
|
|
utils.reEvaluate = /<%([\s\S]+?)%>/g;
|
|
utils.reInterpolate = /<%=([\s\S]+?)%>/g;
|
|
utils.delimiters = /<%-([\s\S]+?)%>|<%=([\s\S]+?)%>|\$\{([^\\}]*(?:\\.[^\\}]*)*)\}|<%([\s\S]+?)%>$/g;
|
|
|
|
/* Used to ensure capturing order of template delimiters. */
|
|
utils.reNoMatch = /($^)/;
|
|
utils.reUnescapedString = /['\n\r\u2028\u2029\\]/g;
|
|
utils.reEmptyStringLeading = /\b__p \+= '';/g;
|
|
utils.reEmptyStringMiddle = /\b(__p \+=) '' \+/g;
|
|
utils.reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
|
|
|
|
/* Used to map characters to HTML entities. */
|
|
utils.htmlEscapes = {
|
|
'&': '&',
|
|
'<': '<',
|
|
'>': '>',
|
|
'"': '"',
|
|
"'": ''',
|
|
'`': '`'
|
|
};
|
|
|
|
/* Used to map HTML entities to characters. */
|
|
utils.htmlUnescapes = {
|
|
'&': '&',
|
|
'<': '<',
|
|
'>': '>',
|
|
'"': '"',
|
|
''': "'",
|
|
'`': '`'
|
|
};
|
|
|
|
/**
|
|
* Used by `escape` to convert characters to HTML entities.
|
|
*
|
|
* @private
|
|
* @param {string} chr The matched character to escape.
|
|
* @returns {string} Returns the escaped character.
|
|
*/
|
|
|
|
utils.escapeHtmlChar = function escapeHtmlChar(chr) {
|
|
return utils.htmlEscapes[chr];
|
|
};
|
|
|
|
/**
|
|
* This method returns the first argument provided to it.
|
|
*
|
|
* @param {*} value Any value.
|
|
* @returns {*} Returns `value`.
|
|
*/
|
|
|
|
utils.identity = function identity(value) {
|
|
return value;
|
|
};
|
|
|
|
/**
|
|
* Converts the characters "&", "<", ">", '"', "'", and "\`", in `string` to
|
|
* their corresponding HTML entities.
|
|
*
|
|
* @category String
|
|
* @param {string} [string=''] The string to escape.
|
|
* @returns {string} Returns the escaped string.
|
|
*/
|
|
|
|
utils.escape = function escape(str) {
|
|
str = utils.baseToString(str);
|
|
return (str && utils.reHasUnescapedHtml.test(str))
|
|
? str.replace(utils.reUnescapedHtml, utils.escapeHtmlChar)
|
|
: str;
|
|
};
|
|
|
|
/**
|
|
* Converts `value` to a string if it's not one. An empty string is returned
|
|
* for `null` or `undefined` values.
|
|
*
|
|
* @private
|
|
* @param {*} value The value to process.
|
|
* @returns {string} Returns the string.
|
|
*/
|
|
|
|
utils.baseToString = function baseToString(value) {
|
|
return value == null ? '' : (value + '');
|
|
};
|
|
|
|
utils.tryCatch = function tryCatch(fn) {
|
|
try {
|
|
return fn.call();
|
|
} catch (err) {
|
|
return err;
|
|
}
|
|
};
|
|
|
|
utils.escapeStringChar = function escapeStringChar(ch) {
|
|
return '\\' + ({
|
|
'\\': '\\',
|
|
"'": "'",
|
|
'\n': 'n',
|
|
'\r': 'r',
|
|
'\u2028': 'u2028',
|
|
'\u2029': 'u2029'
|
|
})[ch];
|
|
};
|
|
|
|
/**
|
|
* Restore `require`
|
|
*/
|
|
|
|
require = fn;
|
|
|
|
/**
|
|
* Expose `utils` modules
|
|
*/
|
|
|
|
module.exports = utils;
|
|
|