MCPcopy Create free account
hub / github.com/OneNoteDev/WebClipper / createLogEventAsJson

Function createLogEventAsJson

src/scripts/logging/logHelpers.ts:29–56  ·  view source on GitHub ↗
(event: Log.Event.BaseEvent)

Source from the content-addressed store, hash-verified

27 }
28
29 export function createLogEventAsJson(event: Log.Event.BaseEvent): { [key: string]: string | number | boolean } {
30 if (!event.timerWasStopped()) {
31 event.stopTimer();
32 }
33
34 let eventCategory = event.getEventCategory();
35
36 // Items that should exist on all event categories
37 let logEvent: { [key: string]: string | number | boolean } =
38 LogHelpers.createBaseEventAsJson(Log.Event.Category[eventCategory], event.getLabel());
39 logEvent[Log.PropertyName.Reserved.Duration] = event.getDuration();
40 addToLogEvent(logEvent, event.getCustomProperties());
41
42 switch (eventCategory) {
43 case Log.Event.Category.BaseEvent:
44 break;
45 case Log.Event.Category.PromiseEvent:
46 addPromiseEventItems(logEvent, event as Log.Event.PromiseEvent);
47 break;
48 case Log.Event.Category.StreamEvent:
49 addStreamEventItems(logEvent, event as Log.Event.StreamEvent);
50 break;
51 default:
52 throw new Error("createLogEvent does not specify a case for event category: " + Log.Event.Category[eventCategory as Log.Event.Category]);
53 }
54
55 return logEvent;
56 }
57
58 function addPromiseEventItems(logEvent: { [key: string]: string | number | boolean }, promiseEvent: Log.Event.PromiseEvent) {
59 let status: string = promiseEvent.getStatus();

Callers

nothing calls this directly

Calls 9

addToLogEventFunction · 0.85
addPromiseEventItemsFunction · 0.85
addStreamEventItemsFunction · 0.85
timerWasStoppedMethod · 0.80
stopTimerMethod · 0.80
getLabelMethod · 0.80
getDurationMethod · 0.80
getCustomPropertiesMethod · 0.80
getEventCategoryMethod · 0.45

Tested by

no test coverage detected