Source code

Revision control

Copy as Markdown

Other Tools

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
function getArrayTypeNames() {
return [
"Array",
"Int8Array",
"Uint8Array",
"Int16Array",
"Uint16Array",
"Int32Array",
"Uint32Array",
"Float32Array",
"Float64Array",
"Uint8ClampedArray",
"BigInt64Array",
"BigUint64Array",
];
}
/**
* Return true if the parameters passed to console.log is supported.
* The parameters can be either from server side (without getGrip) or client
* side (with getGrip).
*
* @param {Message} parameters
* @returns {Boolean}
*/
function isSupportedByConsoleTable(parameters) {
const supportedClasses = [
"Object",
"Map",
"Set",
"WeakMap",
"WeakSet",
].concat(getArrayTypeNames());
if (!Array.isArray(parameters) || parameters.length === 0 || !parameters[0]) {
return false;
}
if (parameters[0].getGrip) {
return supportedClasses.includes(parameters[0].getGrip().class);
}
return supportedClasses.includes(parameters[0].class);
}
module.exports = {
getArrayTypeNames,
isSupportedByConsoleTable,
};