🎨 build stderr messages with additional data
This commit is contained in:
parent
994bc60923
commit
8511b1420b
79
src/io.js
79
src/io.js
@ -19,18 +19,81 @@ class Juicescript_io {
|
|||||||
*/
|
*/
|
||||||
get stderr(){
|
get stderr(){
|
||||||
return {
|
return {
|
||||||
debug: (text) => {
|
debug: (text, additional) => {
|
||||||
this.callback.stderr("[DEBUG] " + text, "debug");
|
// add defaults
|
||||||
|
additional ??= {};
|
||||||
|
additional.line ??= null;
|
||||||
|
|
||||||
|
// set constant values
|
||||||
|
additional.prefix = "DEBUG";
|
||||||
|
|
||||||
|
// build and print
|
||||||
|
this.callback.stderr(this.build_stderr(text, additional), "debug");
|
||||||
},
|
},
|
||||||
info: (text) => {
|
|
||||||
this.callback.stderr("[INFO ] " + text, "info");
|
info: (text, additional) => {
|
||||||
|
// add defaults
|
||||||
|
additional ??= {};
|
||||||
|
additional.line ??= null;
|
||||||
|
|
||||||
|
// set constant values
|
||||||
|
additional.prefix = "INFO ";
|
||||||
|
|
||||||
|
// build and print
|
||||||
|
this.callback.stderr(this.build_stderr(text, additional), "info");
|
||||||
},
|
},
|
||||||
warning: (text) => {
|
|
||||||
this.callback.stderr("[WARN ] " + text, "warning");
|
warning: (text, additional) => {
|
||||||
|
// add defaults
|
||||||
|
additional ??= {};
|
||||||
|
additional.line ??= null;
|
||||||
|
|
||||||
|
// set constant values
|
||||||
|
additional.prefix = "WARN ";
|
||||||
|
|
||||||
|
// build and print
|
||||||
|
this.callback.stderr(this.build_stderr(text, additional), "warning");
|
||||||
},
|
},
|
||||||
error: (text) => {
|
|
||||||
this.callback.stderr("[ERROR] " + text, "error");
|
error: (text, additional) => {
|
||||||
|
// add defaults
|
||||||
|
additional ??= {};
|
||||||
|
additional.line ??= null;
|
||||||
|
|
||||||
|
// set constant values
|
||||||
|
additional.prefix = "ERROR";
|
||||||
|
|
||||||
|
// build and print
|
||||||
|
this.callback.stderr(this.build_stderr(text, additional), "error");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
HELPER: Build stderr string from TEXT and ADDITIONAL data
|
||||||
|
*/
|
||||||
|
build_stderr(text, additional){
|
||||||
|
// START WITH EMPTY STRING //
|
||||||
|
var string = "";
|
||||||
|
|
||||||
|
|
||||||
|
// PREFIX //
|
||||||
|
if(additional.prefix){
|
||||||
|
string += "[" + additional.prefix + "] ";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// LINE NUMBER //
|
||||||
|
if(additional.line){
|
||||||
|
string += "(line " + additional.line + ") ";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// TEXT //
|
||||||
|
string += text;
|
||||||
|
|
||||||
|
|
||||||
|
// RETURN //
|
||||||
|
return string;
|
||||||
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user