fuse-box-typechecker
Version:
Fuse-Box type checker plugin for fusebox 4.0.0 ++
81 lines • 2.56 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.createLog = exports.FuseLog = void 0;
const colors_1 = require("./colors");
function parseArguments(args) {
let group;
let message;
let vars;
if (args.length === 1)
message = args[0];
if (args.length === 2) {
if (typeof args[1] === 'object') {
message = args[0];
vars = args[1];
}
if (typeof args[1] === 'string') {
group = args[0];
message = args[1];
}
}
if (args.length === 3) {
group = args[0];
message = args[1];
vars = args[2];
}
return { group, message, vars };
}
class FuseLog {
constructor() {
this.indent = ' ';
}
log(_type, result) {
console.log(result);
}
getString(message, vars) {
return colors_1.codeLog(message, vars);
}
echo(message, vars) {
this.log('echo', this.getString(message, vars));
}
info(...args) {
const { group, message, vars } = parseArguments(args);
let str = this.indent;
if (group) {
str += `<bold><cyan>${group}</cyan></bold> `;
}
str += `${message}`;
this.log('info', colors_1.codeLog(str, vars));
}
}
exports.FuseLog = FuseLog;
function createLog(_CustomLogger) {
return new FuseLog();
}
exports.createLog = createLog;
// class MyLogger extends FuseLog {}
// const log = new MyLogger();
// console.log(' ');
// console.log(' ');
// log.info('Processing', 'Some information here');
// log.info('Processing', 'Doing something else');
// log.info('Processing', 'Creating properties');
// console.log(' ');
// log.warn('Something needs your attention');
// log.warn('Attention', 'You should read some documentation');
// log.success('Nice');
// log.success('Success', "You've noticed that message");
// console.log(' ');
// log.error('Generic error', 'You are not supposed to do that');
// log.error('You are clearly missing an important flag');
// console.log(' ');
// log.meta('Event', 'Something is happening');
// log.meta('Event', 'Will happen soon');
// log.meta('Event', 'Not yet');
// log.meta('Doing that', `We're getting close`);
// console.log(' ');
// log.success("Hey $name, we'e good now!", { name: 'FuseBox' });
// log.success('Completed', 'Now we totally <magenta>finished</magenta>');
// console.log(' ');
// console.log(' ');
//# sourceMappingURL=fuseLog.js.map
;