2023-09-08 12:49:41 +00:00
|
|
|
import { objAsString } from "#util.js";
|
2023-06-28 02:35:12 +00:00
|
|
|
|
|
|
|
// logHelper is a helper function that runs the code for both log and logErr.
|
|
|
|
// It takes a boolean indiciating whether the log should be an error, and then
|
|
|
|
// it stringifies all of the reamining inputs and sends them to the kernel in a
|
|
|
|
// log message.
|
|
|
|
function logHelper(isErr: boolean, ...inputs: any) {
|
|
|
|
let message = "";
|
|
|
|
for (let i = 0; i < inputs.length; i++) {
|
|
|
|
if (i !== 0) {
|
|
|
|
message += "\n";
|
|
|
|
}
|
|
|
|
message += objAsString(inputs[i]);
|
|
|
|
}
|
|
|
|
postMessage({
|
|
|
|
method: "log",
|
|
|
|
data: {
|
|
|
|
isErr,
|
|
|
|
message,
|
|
|
|
},
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
// log is a helper function to send a bunch of inputs to the kernel serialized
|
|
|
|
// as a log message. Note that any inputs which cannot be stringified using
|
|
|
|
// JSON.stringify will be substituted with a placeholder string indicating that
|
|
|
|
// the input could not be stringified.
|
|
|
|
function log(...inputs: any) {
|
|
|
|
console.log(...inputs);
|
|
|
|
logHelper(false, ...inputs);
|
|
|
|
}
|
|
|
|
|
|
|
|
// logErr is a helper function to send a bunch of inputs to the kernel
|
|
|
|
// serialized as an error log message. Note that any inputs which cannot be
|
|
|
|
// stringified using JSON.stringify will be substituted with a placeholder
|
|
|
|
// string indicating that the input could not be stringified.
|
|
|
|
function logErr(...inputs: any) {
|
|
|
|
console.error(...inputs);
|
|
|
|
logHelper(true, ...inputs);
|
|
|
|
}
|
|
|
|
|
|
|
|
export { log, logErr };
|