Files
phptimerboard2/vendor/facade/ignition/resources/js/components/DebugTimeline/Event.js
2019-09-29 19:47:00 -05:00

71 lines
1.6 KiB
JavaScript
Vendored

import upperFirst from 'lodash/upperFirst';
class Event {
constructor({
microtime,
type,
label,
metadata = null,
context = null,
file = null,
line_number = null,
}) {
this.microtime = microtime;
this.type = type;
this.label = label;
this.metadata = metadata;
this.context = context;
this.file = file;
this.line_number = line_number;
}
static forQuery({ microtime, sql, time, connection_name, bindings }) {
return new Event({
microtime,
type: 'query',
label: sql,
metadata: {
time,
connection_name,
},
context: bindings,
});
}
static forDump({ microtime, html_dump, file, line_number }) {
return new Event({
microtime,
type: 'dump',
label: html_dump,
file,
line_number,
});
}
static forLog({ microtime, context, level, message }) {
return new Event({
microtime,
type: 'log',
label: message,
context,
metadata: { level },
});
}
static forGlow({ microtime, message_level, meta_data, name, time }) {
return new Event({
microtime,
type: 'glow',
label: name,
context: meta_data,
metadata: { time, message_level },
});
}
getComponentName() {
return upperFirst(this.type) + 'Event';
}
}
export default Event;