refactor(player;mobs):use enum message type; use .gen. filename for generated files
This commit is contained in:
parent
228cbee9e1
commit
3a72e1d8b2
21 changed files with 406 additions and 340 deletions
|
|
@ -19,6 +19,16 @@ import WindowNodeCounter from './managers/WindowNodeCounter';
|
|||
import ActivityManager from './managers/ActivityManager';
|
||||
|
||||
import MFileReader from './messages/MFileReader';
|
||||
import { MType } from './messages';
|
||||
import type {
|
||||
Message,
|
||||
SetPageLocation,
|
||||
ConnectionInformation,
|
||||
SetViewportSize,
|
||||
SetViewportScroll,
|
||||
MouseClick,
|
||||
} from './messages';
|
||||
|
||||
import { loadFiles, requestEFSDom, requestEFSDevtools } from './network/loadFiles';
|
||||
import { decryptSessionBytes } from './network/crypto';
|
||||
|
||||
|
|
@ -57,23 +67,14 @@ export interface State extends ScreenState, ListsState {
|
|||
}
|
||||
|
||||
|
||||
import type {
|
||||
Message,
|
||||
SetPageLocation,
|
||||
ConnectionInformation,
|
||||
SetViewportSize,
|
||||
SetViewportScroll,
|
||||
MouseClick,
|
||||
} from './messages';
|
||||
|
||||
const visualChanges = [
|
||||
"mouse_move",
|
||||
"mouse_click",
|
||||
"create_element_node",
|
||||
"set_input_value",
|
||||
"set_input_checked",
|
||||
"set_viewport_size",
|
||||
"set_viewport_scroll",
|
||||
MType.MouseMove,
|
||||
MType.MouseClick,
|
||||
MType.CreateElementNode,
|
||||
MType.SetInputValue,
|
||||
MType.SetInputChecked,
|
||||
MType.SetViewportSize,
|
||||
MType.SetViewportScroll,
|
||||
]
|
||||
|
||||
export default class MessageManager {
|
||||
|
|
@ -158,15 +159,15 @@ export default class MessageManager {
|
|||
const headChildrenIds = msgs.filter(m => m.parentID === 1).map(m => m.id);
|
||||
this.pagesManager.sortPages((m1, m2) => {
|
||||
if (m1.time === m2.time) {
|
||||
if (m1.tp === "remove_node" && m2.tp !== "remove_node") {
|
||||
if (m1.tp === MType.RemoveNode && m2.tp !== MType.RemoveNode) {
|
||||
if (headChildrenIds.includes(m1.id)) {
|
||||
return -1;
|
||||
}
|
||||
} else if (m2.tp === "remove_node" && m1.tp !== "remove_node") {
|
||||
} else if (m2.tp === MType.RemoveNode && m1.tp !== MType.RemoveNode) {
|
||||
if (headChildrenIds.includes(m2.id)) {
|
||||
return 1;
|
||||
}
|
||||
} else if (m2.tp === "remove_node" && m1.tp === "remove_node") {
|
||||
} else if (m2.tp === MType.RemoveNode && m1.tp === MType.RemoveNode) {
|
||||
const m1FromHead = headChildrenIds.includes(m1.id);
|
||||
const m2FromHead = headChildrenIds.includes(m2.id);
|
||||
if (m1FromHead && !m2FromHead) {
|
||||
|
|
@ -399,45 +400,45 @@ export default class MessageManager {
|
|||
let decoded;
|
||||
const time = msg.time;
|
||||
switch (msg.tp) {
|
||||
case "set_page_location":
|
||||
case MType.SetPageLocation:
|
||||
this.locationManager.append(msg);
|
||||
if (msg.navigationStart > 0) {
|
||||
this.loadedLocationManager.append(msg);
|
||||
}
|
||||
break;
|
||||
case "set_viewport_size":
|
||||
case MType.SetViewportSize:
|
||||
this.resizeManager.append(msg);
|
||||
break;
|
||||
case "mouse_move":
|
||||
case MType.MouseMove:
|
||||
this.mouseMoveManager.append(msg);
|
||||
break;
|
||||
case "mouse_click":
|
||||
case MType.MouseClick:
|
||||
this.clickManager.append(msg);
|
||||
break;
|
||||
case "set_viewport_scroll":
|
||||
case MType.SetViewportScroll:
|
||||
this.scrollManager.append(msg);
|
||||
break;
|
||||
case "performance_track":
|
||||
case MType.PerformanceTrack:
|
||||
this.performanceTrackManager.append(msg);
|
||||
break;
|
||||
case "set_page_visibility":
|
||||
case MType.SetPageVisibility:
|
||||
this.performanceTrackManager.handleVisibility(msg)
|
||||
break;
|
||||
case "connection_information":
|
||||
case MType.ConnectionInformation:
|
||||
this.connectionInfoManger.append(msg);
|
||||
break;
|
||||
case "o_table":
|
||||
case MType.OTable:
|
||||
this.decoder.set(msg.key, msg.value);
|
||||
break;
|
||||
/* Lists: */
|
||||
case "console_log":
|
||||
case MType.ConsoleLog:
|
||||
if (msg.level === 'debug') break;
|
||||
this.lists.lists.log.append(
|
||||
// @ts-ignore : TODO: enums in the message schema
|
||||
Log(msg)
|
||||
)
|
||||
break;
|
||||
case "fetch":
|
||||
case MType.Fetch:
|
||||
// @ts-ignore burn immutable
|
||||
this.lists.lists.fetch.append(Resource({
|
||||
method: msg.method,
|
||||
|
|
@ -451,34 +452,34 @@ export default class MessageManager {
|
|||
index,
|
||||
}) as Timed)
|
||||
break;
|
||||
case "redux":
|
||||
case MType.Redux:
|
||||
decoded = this.decodeStateMessage(msg, ["state", "action"]);
|
||||
logger.log('redux', decoded)
|
||||
if (decoded != null) {
|
||||
this.lists.lists.redux.append(decoded);
|
||||
}
|
||||
break;
|
||||
case "ng_rx":
|
||||
case MType.NgRx:
|
||||
decoded = this.decodeStateMessage(msg, ["state", "action"]);
|
||||
logger.log('ngrx', decoded)
|
||||
if (decoded != null) {
|
||||
this.lists.lists.ngrx.append(decoded);
|
||||
}
|
||||
break;
|
||||
case "vuex":
|
||||
case MType.Vuex:
|
||||
decoded = this.decodeStateMessage(msg, ["state", "mutation"]);
|
||||
logger.log('vuex', decoded)
|
||||
if (decoded != null) {
|
||||
this.lists.lists.vuex.append(decoded);
|
||||
}
|
||||
break;
|
||||
case "zustand":
|
||||
case MType.Zustand:
|
||||
decoded = this.decodeStateMessage(msg, ["state", "mutation"])
|
||||
logger.log('zustand', decoded)
|
||||
if (decoded != null) {
|
||||
this.lists.lists.zustand.append(decoded)
|
||||
}
|
||||
case "mob_x":
|
||||
case MType.MobX:
|
||||
decoded = this.decodeStateMessage(msg, ["payload"]);
|
||||
logger.log('mobx', decoded)
|
||||
|
||||
|
|
@ -486,29 +487,29 @@ export default class MessageManager {
|
|||
this.lists.lists.mobx.append(decoded);
|
||||
}
|
||||
break;
|
||||
case "graph_ql":
|
||||
case MType.GraphQl:
|
||||
this.lists.lists.graphql.append(msg);
|
||||
break;
|
||||
case "profiler":
|
||||
case MType.Profiler:
|
||||
this.lists.lists.profiles.append(msg);
|
||||
break;
|
||||
/* ===|=== */
|
||||
default:
|
||||
switch (msg.tp) {
|
||||
case "create_document":
|
||||
case MType.CreateDocument:
|
||||
this.windowNodeCounter.reset();
|
||||
this.performanceTrackManager.setCurrentNodesCount(this.windowNodeCounter.count);
|
||||
break;
|
||||
case "create_text_node":
|
||||
case "create_element_node":
|
||||
case MType.CreateTextNode:
|
||||
case MType.CreateElementNode:
|
||||
this.windowNodeCounter.addNode(msg.id, msg.parentID);
|
||||
this.performanceTrackManager.setCurrentNodesCount(this.windowNodeCounter.count);
|
||||
break;
|
||||
case "move_node":
|
||||
case MType.MoveNode:
|
||||
this.windowNodeCounter.moveNode(msg.id, msg.parentID);
|
||||
this.performanceTrackManager.setCurrentNodesCount(this.windowNodeCounter.count);
|
||||
break;
|
||||
case "remove_node":
|
||||
case MType.RemoveNode:
|
||||
this.windowNodeCounter.removeNode(msg.id);
|
||||
this.performanceTrackManager.setCurrentNodesCount(this.windowNodeCounter.count);
|
||||
break;
|
||||
|
|
|
|||
8
frontend/app/player/web/assist/types.ts
Normal file
8
frontend/app/player/web/assist/types.ts
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
import type { Socket as SocketIO } from 'socket.io-client';
|
||||
|
||||
|
||||
export interface Socket {
|
||||
emit: SocketIO['emit'],
|
||||
on: SocketIO['on'],
|
||||
id: SocketIO['id'],
|
||||
}
|
||||
|
|
@ -2,9 +2,9 @@ import logger from 'App/logger';
|
|||
|
||||
import type Screen from '../../Screen/Screen';
|
||||
import type MessageManager from '../../MessageManager';
|
||||
|
||||
import type { Message, SetNodeScroll, CreateElementNode } from '../../messages';
|
||||
|
||||
import { MType } from '../../messages';
|
||||
import ListWalker from '../../../common/ListWalker';
|
||||
import StylesManager, { rewriteNodeStyleSheet } from './StylesManager';
|
||||
import FocusManager from './FocusManager';
|
||||
|
|
@ -63,7 +63,7 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
}
|
||||
|
||||
append(m: Message): void {
|
||||
if (m.tp === "set_node_scroll") {
|
||||
if (m.tp === MType.SetNodeScroll) {
|
||||
let scrollManager = this.nodeScrollManagers.get(m.id)
|
||||
if (!scrollManager) {
|
||||
scrollManager = new ListWalker()
|
||||
|
|
@ -72,15 +72,15 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
scrollManager.append(m)
|
||||
return
|
||||
}
|
||||
if (m.tp === "set_node_focus") {
|
||||
if (m.tp === MType.SetNodeFocus) {
|
||||
this.focusManager.append(m)
|
||||
return
|
||||
}
|
||||
if (m.tp === "create_element_node") {
|
||||
if (m.tp === MType.CreateElementNode) {
|
||||
if(m.tag === "BODY" && this.upperBodyId === -1) {
|
||||
this.upperBodyId = m.id
|
||||
}
|
||||
} else if (m.tp === "set_node_attribute" &&
|
||||
} else if (m.tp === MType.SetNodeAttribute &&
|
||||
(IGNORED_ATTRS.includes(m.name) || !ATTR_NAME_REGEXP.test(m.name))) {
|
||||
logger.log("Ignorring message: ", m)
|
||||
return; // Ignoring
|
||||
|
|
@ -141,7 +141,7 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
let doc: Document | null
|
||||
let styleSheet: CSSStyleSheet | PostponedStyleSheet | undefined
|
||||
switch (msg.tp) {
|
||||
case "create_document":
|
||||
case MType.CreateDocument:
|
||||
doc = this.screen.document;
|
||||
if (!doc) {
|
||||
logger.error("No root iframe document found", msg)
|
||||
|
|
@ -166,12 +166,12 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
this.stylesManager.reset()
|
||||
this.activeIframeRoots.clear()
|
||||
return
|
||||
case "create_text_node":
|
||||
case MType.CreateTextNode:
|
||||
vn = new VText()
|
||||
this.vTexts.set(msg.id, vn)
|
||||
this.insertNode(msg)
|
||||
return
|
||||
case "create_element_node":
|
||||
case MType.CreateElementNode:
|
||||
let element: Element
|
||||
if (msg.svg) {
|
||||
element = document.createElementNS('http://www.w3.org/2000/svg', msg.tag)
|
||||
|
|
@ -191,16 +191,16 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
vn.enforceInsertion()
|
||||
}
|
||||
return
|
||||
case "move_node":
|
||||
case MType.MoveNode:
|
||||
this.insertNode(msg);
|
||||
return
|
||||
case "remove_node":
|
||||
case MType.RemoveNode:
|
||||
vn = this.vElements.get(msg.id) || this.vTexts.get(msg.id)
|
||||
if (!vn) { logger.error("Node not found", msg); return }
|
||||
if (!vn.parentNode) { logger.error("Parent node not found", msg); return }
|
||||
vn.parentNode.removeChild(vn)
|
||||
return
|
||||
case "set_node_attribute":
|
||||
case MType.SetNodeAttribute:
|
||||
let { name, value } = msg;
|
||||
vn = this.vElements.get(msg.id)
|
||||
if (!vn) { logger.error("Node not found", msg); return }
|
||||
|
|
@ -224,12 +224,12 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
vn.setAttribute(name, value)
|
||||
this.removeBodyScroll(msg.id, vn)
|
||||
return
|
||||
case "remove_node_attribute":
|
||||
case MType.RemoveNodeAttribute:
|
||||
vn = this.vElements.get(msg.id)
|
||||
if (!vn) { logger.error("Node not found", msg); return }
|
||||
vn.removeAttribute(msg.name)
|
||||
return
|
||||
case "set_input_value":
|
||||
case MType.SetInputValue:
|
||||
vn = this.vElements.get(msg.id)
|
||||
if (!vn) { logger.error("Node not found", msg); return }
|
||||
const nodeWithValue = vn.node
|
||||
|
|
@ -249,13 +249,13 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
}
|
||||
nodeWithValue.value = val
|
||||
return
|
||||
case "set_input_checked":
|
||||
case MType.SetInputChecked:
|
||||
vn = this.vElements.get(msg.id)
|
||||
if (!vn) { logger.error("Node not found", msg); return }
|
||||
(vn.node as HTMLInputElement).checked = msg.checked
|
||||
return
|
||||
case "set_node_data":
|
||||
case "set_css_data": // mbtodo: remove css transitions when timeflow is not natural (on jumps)
|
||||
case MType.SetNodeData:
|
||||
case MType.SetCssData: // mbtodo: remove css transitions when timeflow is not natural (on jumps)
|
||||
vn = this.vTexts.get(msg.id)
|
||||
if (!vn) { logger.error("Node not found", msg); return }
|
||||
vn.setData(msg.data)
|
||||
|
|
@ -264,13 +264,13 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
// TODO: move to message parsing
|
||||
doc && rewriteNodeStyleSheet(doc, vn.node)
|
||||
}
|
||||
if (msg.tp === "set_css_data") { // Styles in priority (do we need inlines as well?)
|
||||
if (msg.tp === MType.SetCssData) { // Styles in priority (do we need inlines as well?)
|
||||
vn.applyChanges()
|
||||
}
|
||||
return
|
||||
|
||||
// @depricated since 4.0.2 in favor of adopted_ss_insert/delete_rule + add_owner as being common case for StyleSheets
|
||||
case "css_insert_rule":
|
||||
case MType.CssInsertRule:
|
||||
vn = this.vElements.get(msg.id)
|
||||
if (!vn) { logger.error("Node not found", msg); return }
|
||||
if (!(vn instanceof VStyleElement)) {
|
||||
|
|
@ -279,7 +279,7 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
}
|
||||
vn.onStyleSheet(sheet => insertRule(sheet, msg))
|
||||
return
|
||||
case "css_delete_rule":
|
||||
case MType.CssDeleteRule:
|
||||
vn = this.vElements.get(msg.id)
|
||||
if (!vn) { logger.error("Node not found", msg); return }
|
||||
if (!(vn instanceof VStyleElement)) {
|
||||
|
|
@ -290,7 +290,7 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
return
|
||||
// end @depricated
|
||||
|
||||
case "create_i_frame_document":
|
||||
case MType.CreateIFrameDocument:
|
||||
vn = this.vElements.get(msg.frameID)
|
||||
if (!vn) { logger.error("Node not found", msg); return }
|
||||
vn.enforceInsertion()
|
||||
|
|
@ -321,7 +321,7 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
logger.warn("Context message host is not Element", msg)
|
||||
}
|
||||
return
|
||||
case "adopted_ss_insert_rule":
|
||||
case MType.AdoptedSsInsertRule:
|
||||
styleSheet = this.styleSheets.get(msg.sheetID) || this.ppStyleSheets.get(msg.sheetID)
|
||||
if (!styleSheet) {
|
||||
logger.warn("No stylesheet was created for ", msg)
|
||||
|
|
@ -329,7 +329,7 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
}
|
||||
insertRule(styleSheet, msg)
|
||||
return
|
||||
case "adopted_ss_delete_rule":
|
||||
case MType.AdoptedSsDeleteRule:
|
||||
styleSheet = this.styleSheets.get(msg.sheetID) || this.ppStyleSheets.get(msg.sheetID)
|
||||
if (!styleSheet) {
|
||||
logger.warn("No stylesheet was created for ", msg)
|
||||
|
|
@ -338,7 +338,7 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
deleteRule(styleSheet, msg)
|
||||
return
|
||||
|
||||
case "adopted_ss_replace":
|
||||
case MType.AdoptedSsReplace:
|
||||
styleSheet = this.styleSheets.get(msg.sheetID)
|
||||
if (!styleSheet) {
|
||||
logger.warn("No stylesheet was created for ", msg)
|
||||
|
|
@ -347,7 +347,7 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
// @ts-ignore
|
||||
styleSheet.replaceSync(msg.text)
|
||||
return
|
||||
case "adopted_ss_add_owner":
|
||||
case MType.AdoptedSsAddOwner:
|
||||
vn = this.vRoots.get(msg.id)
|
||||
if (!vn) {
|
||||
// non-constructed case
|
||||
|
|
@ -372,7 +372,7 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
//@ts-ignore
|
||||
vn.node.adoptedStyleSheets = [...vn.node.adoptedStyleSheets, styleSheet]
|
||||
return
|
||||
case "adopted_ss_remove_owner":
|
||||
case MType.AdoptedSsRemoveOwner:
|
||||
styleSheet = this.styleSheets.get(msg.sheetID)
|
||||
if (!styleSheet) {
|
||||
logger.warn("No stylesheet was created for ", msg)
|
||||
|
|
@ -383,7 +383,7 @@ export default class DOMManager extends ListWalker<Message> {
|
|||
//@ts-ignore
|
||||
vn.node.adoptedStyleSheets = [...vn.node.adoptedStyleSheets].filter(s => s !== styleSheet)
|
||||
return
|
||||
case "load_font_face":
|
||||
case MType.LoadFontFace:
|
||||
vn = this.vRoots.get(msg.parentID)
|
||||
if (!vn) { logger.error("Node not found", msg); return }
|
||||
if (vn instanceof VShadowRoot) { logger.error(`Node ${vn} expected to be a Document`, msg); return }
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import type Screen from '../Screen/Screen';
|
|||
import type { Message } from '../messages';
|
||||
import type MessageManager from '../MessageManager';
|
||||
|
||||
|
||||
import { MType } from '../messages';
|
||||
import ListWalker from '../../common/ListWalker';
|
||||
import DOMManager from './DOM/DOMManager';
|
||||
|
||||
|
|
@ -16,7 +16,7 @@ export default class PagesManager extends ListWalker<DOMManager> {
|
|||
Assumed that messages added in a correct time sequence.
|
||||
*/
|
||||
appendMessage(m: Message): void {
|
||||
if (m.tp === "create_document") {
|
||||
if (m.tp === MType.CreateDocument) {
|
||||
super.append(new DOMManager(this.screen, this.isMobile, m.time, this.mm))
|
||||
}
|
||||
if (this.last === null) {
|
||||
|
|
|
|||
|
|
@ -10,16 +10,17 @@ import type {
|
|||
RawAdoptedSsInsertRule,
|
||||
RawAdoptedSsReplaceURLBased,
|
||||
RawAdoptedSsReplace,
|
||||
} from './raw'
|
||||
import type { TrackerMessage } from './tracker'
|
||||
import translate from './tracker'
|
||||
import { TP_MAP } from './tracker-legacy'
|
||||
} from './raw.gen'
|
||||
import type { TrackerMessage } from './tracker.gen'
|
||||
import { MType } from './raw.gen'
|
||||
import translate from './tracker.gen'
|
||||
import { TP_MAP } from './tracker-legacy.gen'
|
||||
import { resolveURL, resolveCSS } from './urlResolve'
|
||||
|
||||
|
||||
function legacyTranslate(msg: any): RawMessage | null {
|
||||
const type = TP_MAP[msg._id as keyof typeof TP_MAP]
|
||||
if (!type) {
|
||||
if (!type) { // msg._id can be other than keyof TP_MAP, in fact
|
||||
return null
|
||||
}
|
||||
msg.tp = type
|
||||
|
|
@ -30,7 +31,7 @@ function legacyTranslate(msg: any): RawMessage | null {
|
|||
|
||||
// TODO: commonURLBased logic for feilds
|
||||
const resolvers = {
|
||||
"set_node_attribute_url_based": (msg: RawSetNodeAttributeURLBased): RawSetNodeAttribute =>
|
||||
[MType.SetNodeAttributeURLBased]: (msg: RawSetNodeAttributeURLBased): RawSetNodeAttribute =>
|
||||
({
|
||||
...msg,
|
||||
value: msg.name === 'src' || msg.name === 'href'
|
||||
|
|
@ -39,31 +40,31 @@ const resolvers = {
|
|||
? resolveCSS(msg.baseURL, msg.value)
|
||||
: msg.value
|
||||
),
|
||||
tp: "set_node_attribute",
|
||||
tp: MType.SetNodeAttribute,
|
||||
}),
|
||||
"set_css_data_url_based": (msg: RawSetCssDataURLBased): RawSetCssData =>
|
||||
[MType.SetCssDataURLBased]: (msg: RawSetCssDataURLBased): RawSetCssData =>
|
||||
({
|
||||
...msg,
|
||||
data: resolveCSS(msg.baseURL, msg.data),
|
||||
tp: "set_css_data",
|
||||
tp: MType.SetCssData,
|
||||
}),
|
||||
"css_insert_rule_url_based": (msg: RawCssInsertRuleURLBased): RawCssInsertRule =>
|
||||
[MType.CssInsertRuleURLBased]: (msg: RawCssInsertRuleURLBased): RawCssInsertRule =>
|
||||
({
|
||||
...msg,
|
||||
rule: resolveCSS(msg.baseURL, msg.rule),
|
||||
tp: "css_insert_rule",
|
||||
tp: MType.CssInsertRule,
|
||||
}),
|
||||
"adopted_ss_insert_rule_url_based": (msg: RawAdoptedSsInsertRuleURLBased): RawAdoptedSsInsertRule =>
|
||||
[MType.AdoptedSsInsertRuleURLBased]: (msg: RawAdoptedSsInsertRuleURLBased): RawAdoptedSsInsertRule =>
|
||||
({
|
||||
...msg,
|
||||
rule: resolveCSS(msg.baseURL, msg.rule),
|
||||
tp: "adopted_ss_insert_rule",
|
||||
tp: MType.AdoptedSsInsertRule,
|
||||
}),
|
||||
"adopted_ss_replace_url_based": (msg: RawAdoptedSsReplaceURLBased): RawAdoptedSsReplace =>
|
||||
[MType.AdoptedSsReplaceURLBased]: (msg: RawAdoptedSsReplaceURLBased): RawAdoptedSsReplace =>
|
||||
({
|
||||
...msg,
|
||||
text: resolveCSS(msg.baseURL, msg.text),
|
||||
tp: "adopted_ss_replace"
|
||||
tp: MType.AdoptedSsReplace,
|
||||
}),
|
||||
} as const
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
import type { Message } from './message';
|
||||
import type { RawMessage } from './raw';
|
||||
import type { Message } from './message.gen';
|
||||
import type { RawMessage } from './raw.gen';
|
||||
import { MType } from './raw.gen';
|
||||
import logger from 'App/logger';
|
||||
import RawMessageReader from './RawMessageReader';
|
||||
import RawMessageReader from './RawMessageReader.gen';
|
||||
|
||||
// TODO: composition instead of inheritance
|
||||
// needSkipMessage() and next() methods here use buf and p protected properties,
|
||||
|
|
@ -67,7 +68,7 @@ export default class MFileReader extends RawMessageReader {
|
|||
return null
|
||||
}
|
||||
|
||||
if (rMsg.tp === "timestamp") {
|
||||
if (rMsg.tp === MType.Timestamp) {
|
||||
if (!this.startTime) {
|
||||
this.startTime = rMsg.timestamp
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import type { Message } from './message'
|
||||
import type { RawMessage } from './raw'
|
||||
import RawMessageReader from './RawMessageReader'
|
||||
import type { Message } from './message.gen'
|
||||
import type { RawMessage } from './raw.gen'
|
||||
import { MType } from './raw.gen'
|
||||
import RawMessageReader from './RawMessageReader.gen'
|
||||
|
||||
interface RawMessageReaderI {
|
||||
readMessage(): RawMessage | null
|
||||
|
|
@ -14,7 +15,7 @@ export default class MStreamReader {
|
|||
readNext(): Message | null {
|
||||
let msg = this.r.readMessage()
|
||||
if (msg === null) { return null }
|
||||
if (msg.tp === "timestamp") {
|
||||
if (msg.tp === MType.Timestamp) {
|
||||
this.startTs = this.startTs || msg.timestamp
|
||||
this.t = msg.timestamp - this.startTs
|
||||
return this.readNext()
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
/* eslint-disable */
|
||||
|
||||
import PrimitiveReader from './PrimitiveReader'
|
||||
import type { RawMessage } from './raw'
|
||||
import { MType } from './raw.gen'
|
||||
import type { RawMessage } from './raw.gen'
|
||||
|
||||
|
||||
export default class RawMessageReader extends PrimitiveReader {
|
||||
|
|
@ -21,7 +22,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
case 0: {
|
||||
const timestamp = this.readUint(); if (timestamp === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "timestamp",
|
||||
tp: MType.Timestamp,
|
||||
timestamp,
|
||||
};
|
||||
}
|
||||
|
|
@ -31,7 +32,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const referrer = this.readString(); if (referrer === null) { return resetPointer() }
|
||||
const navigationStart = this.readUint(); if (navigationStart === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "set_page_location",
|
||||
tp: MType.SetPageLocation,
|
||||
url,
|
||||
referrer,
|
||||
navigationStart,
|
||||
|
|
@ -42,7 +43,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const width = this.readUint(); if (width === null) { return resetPointer() }
|
||||
const height = this.readUint(); if (height === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "set_viewport_size",
|
||||
tp: MType.SetViewportSize,
|
||||
width,
|
||||
height,
|
||||
};
|
||||
|
|
@ -52,7 +53,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const x = this.readInt(); if (x === null) { return resetPointer() }
|
||||
const y = this.readInt(); if (y === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "set_viewport_scroll",
|
||||
tp: MType.SetViewportScroll,
|
||||
x,
|
||||
y,
|
||||
};
|
||||
|
|
@ -61,7 +62,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
case 7: {
|
||||
|
||||
return {
|
||||
tp: "create_document",
|
||||
tp: MType.CreateDocument,
|
||||
|
||||
};
|
||||
}
|
||||
|
|
@ -73,7 +74,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const tag = this.readString(); if (tag === null) { return resetPointer() }
|
||||
const svg = this.readBoolean(); if (svg === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "create_element_node",
|
||||
tp: MType.CreateElementNode,
|
||||
id,
|
||||
parentID,
|
||||
index,
|
||||
|
|
@ -87,7 +88,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const parentID = this.readUint(); if (parentID === null) { return resetPointer() }
|
||||
const index = this.readUint(); if (index === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "create_text_node",
|
||||
tp: MType.CreateTextNode,
|
||||
id,
|
||||
parentID,
|
||||
index,
|
||||
|
|
@ -99,7 +100,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const parentID = this.readUint(); if (parentID === null) { return resetPointer() }
|
||||
const index = this.readUint(); if (index === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "move_node",
|
||||
tp: MType.MoveNode,
|
||||
id,
|
||||
parentID,
|
||||
index,
|
||||
|
|
@ -109,7 +110,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
case 11: {
|
||||
const id = this.readUint(); if (id === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "remove_node",
|
||||
tp: MType.RemoveNode,
|
||||
id,
|
||||
};
|
||||
}
|
||||
|
|
@ -119,7 +120,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const name = this.readString(); if (name === null) { return resetPointer() }
|
||||
const value = this.readString(); if (value === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "set_node_attribute",
|
||||
tp: MType.SetNodeAttribute,
|
||||
id,
|
||||
name,
|
||||
value,
|
||||
|
|
@ -130,7 +131,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const id = this.readUint(); if (id === null) { return resetPointer() }
|
||||
const name = this.readString(); if (name === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "remove_node_attribute",
|
||||
tp: MType.RemoveNodeAttribute,
|
||||
id,
|
||||
name,
|
||||
};
|
||||
|
|
@ -140,7 +141,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const id = this.readUint(); if (id === null) { return resetPointer() }
|
||||
const data = this.readString(); if (data === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "set_node_data",
|
||||
tp: MType.SetNodeData,
|
||||
id,
|
||||
data,
|
||||
};
|
||||
|
|
@ -150,7 +151,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const id = this.readUint(); if (id === null) { return resetPointer() }
|
||||
const data = this.readString(); if (data === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "set_css_data",
|
||||
tp: MType.SetCssData,
|
||||
id,
|
||||
data,
|
||||
};
|
||||
|
|
@ -161,7 +162,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const x = this.readInt(); if (x === null) { return resetPointer() }
|
||||
const y = this.readInt(); if (y === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "set_node_scroll",
|
||||
tp: MType.SetNodeScroll,
|
||||
id,
|
||||
x,
|
||||
y,
|
||||
|
|
@ -173,7 +174,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const value = this.readString(); if (value === null) { return resetPointer() }
|
||||
const mask = this.readInt(); if (mask === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "set_input_value",
|
||||
tp: MType.SetInputValue,
|
||||
id,
|
||||
value,
|
||||
mask,
|
||||
|
|
@ -184,7 +185,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const id = this.readUint(); if (id === null) { return resetPointer() }
|
||||
const checked = this.readBoolean(); if (checked === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "set_input_checked",
|
||||
tp: MType.SetInputChecked,
|
||||
id,
|
||||
checked,
|
||||
};
|
||||
|
|
@ -194,7 +195,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const x = this.readUint(); if (x === null) { return resetPointer() }
|
||||
const y = this.readUint(); if (y === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "mouse_move",
|
||||
tp: MType.MouseMove,
|
||||
x,
|
||||
y,
|
||||
};
|
||||
|
|
@ -204,7 +205,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const level = this.readString(); if (level === null) { return resetPointer() }
|
||||
const value = this.readString(); if (value === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "console_log",
|
||||
tp: MType.ConsoleLog,
|
||||
level,
|
||||
value,
|
||||
};
|
||||
|
|
@ -215,7 +216,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const rule = this.readString(); if (rule === null) { return resetPointer() }
|
||||
const index = this.readUint(); if (index === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "css_insert_rule",
|
||||
tp: MType.CssInsertRule,
|
||||
id,
|
||||
rule,
|
||||
index,
|
||||
|
|
@ -226,7 +227,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const id = this.readUint(); if (id === null) { return resetPointer() }
|
||||
const index = this.readUint(); if (index === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "css_delete_rule",
|
||||
tp: MType.CssDeleteRule,
|
||||
id,
|
||||
index,
|
||||
};
|
||||
|
|
@ -241,7 +242,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const timestamp = this.readUint(); if (timestamp === null) { return resetPointer() }
|
||||
const duration = this.readUint(); if (duration === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "fetch",
|
||||
tp: MType.Fetch,
|
||||
method,
|
||||
url,
|
||||
request,
|
||||
|
|
@ -258,7 +259,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const args = this.readString(); if (args === null) { return resetPointer() }
|
||||
const result = this.readString(); if (result === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "profiler",
|
||||
tp: MType.Profiler,
|
||||
name,
|
||||
duration,
|
||||
args,
|
||||
|
|
@ -270,7 +271,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const key = this.readString(); if (key === null) { return resetPointer() }
|
||||
const value = this.readString(); if (value === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "o_table",
|
||||
tp: MType.OTable,
|
||||
key,
|
||||
value,
|
||||
};
|
||||
|
|
@ -281,7 +282,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const state = this.readString(); if (state === null) { return resetPointer() }
|
||||
const duration = this.readUint(); if (duration === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "redux",
|
||||
tp: MType.Redux,
|
||||
action,
|
||||
state,
|
||||
duration,
|
||||
|
|
@ -292,7 +293,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const mutation = this.readString(); if (mutation === null) { return resetPointer() }
|
||||
const state = this.readString(); if (state === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "vuex",
|
||||
tp: MType.Vuex,
|
||||
mutation,
|
||||
state,
|
||||
};
|
||||
|
|
@ -302,7 +303,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const type = this.readString(); if (type === null) { return resetPointer() }
|
||||
const payload = this.readString(); if (payload === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "mob_x",
|
||||
tp: MType.MobX,
|
||||
type,
|
||||
payload,
|
||||
};
|
||||
|
|
@ -313,7 +314,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const state = this.readString(); if (state === null) { return resetPointer() }
|
||||
const duration = this.readUint(); if (duration === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "ng_rx",
|
||||
tp: MType.NgRx,
|
||||
action,
|
||||
state,
|
||||
duration,
|
||||
|
|
@ -326,7 +327,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const variables = this.readString(); if (variables === null) { return resetPointer() }
|
||||
const response = this.readString(); if (response === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "graph_ql",
|
||||
tp: MType.GraphQl,
|
||||
operationKind,
|
||||
operationName,
|
||||
variables,
|
||||
|
|
@ -340,7 +341,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const totalJSHeapSize = this.readUint(); if (totalJSHeapSize === null) { return resetPointer() }
|
||||
const usedJSHeapSize = this.readUint(); if (usedJSHeapSize === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "performance_track",
|
||||
tp: MType.PerformanceTrack,
|
||||
frames,
|
||||
ticks,
|
||||
totalJSHeapSize,
|
||||
|
|
@ -352,7 +353,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const downlink = this.readUint(); if (downlink === null) { return resetPointer() }
|
||||
const type = this.readString(); if (type === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "connection_information",
|
||||
tp: MType.ConnectionInformation,
|
||||
downlink,
|
||||
type,
|
||||
};
|
||||
|
|
@ -361,7 +362,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
case 55: {
|
||||
const hidden = this.readBoolean(); if (hidden === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "set_page_visibility",
|
||||
tp: MType.SetPageVisibility,
|
||||
hidden,
|
||||
};
|
||||
}
|
||||
|
|
@ -372,7 +373,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const source = this.readString(); if (source === null) { return resetPointer() }
|
||||
const descriptors = this.readString(); if (descriptors === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "load_font_face",
|
||||
tp: MType.LoadFontFace,
|
||||
parentID,
|
||||
family,
|
||||
source,
|
||||
|
|
@ -383,7 +384,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
case 58: {
|
||||
const id = this.readInt(); if (id === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "set_node_focus",
|
||||
tp: MType.SetNodeFocus,
|
||||
id,
|
||||
};
|
||||
}
|
||||
|
|
@ -397,7 +398,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const containerId = this.readString(); if (containerId === null) { return resetPointer() }
|
||||
const containerName = this.readString(); if (containerName === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "long_task",
|
||||
tp: MType.LongTask,
|
||||
timestamp,
|
||||
duration,
|
||||
context,
|
||||
|
|
@ -414,7 +415,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const value = this.readString(); if (value === null) { return resetPointer() }
|
||||
const baseURL = this.readString(); if (baseURL === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "set_node_attribute_url_based",
|
||||
tp: MType.SetNodeAttributeURLBased,
|
||||
id,
|
||||
name,
|
||||
value,
|
||||
|
|
@ -427,7 +428,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const data = this.readString(); if (data === null) { return resetPointer() }
|
||||
const baseURL = this.readString(); if (baseURL === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "set_css_data_url_based",
|
||||
tp: MType.SetCssDataURLBased,
|
||||
id,
|
||||
data,
|
||||
baseURL,
|
||||
|
|
@ -440,7 +441,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const index = this.readUint(); if (index === null) { return resetPointer() }
|
||||
const baseURL = this.readString(); if (baseURL === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "css_insert_rule_url_based",
|
||||
tp: MType.CssInsertRuleURLBased,
|
||||
id,
|
||||
rule,
|
||||
index,
|
||||
|
|
@ -454,7 +455,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const label = this.readString(); if (label === null) { return resetPointer() }
|
||||
const selector = this.readString(); if (selector === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "mouse_click",
|
||||
tp: MType.MouseClick,
|
||||
id,
|
||||
hesitationTime,
|
||||
label,
|
||||
|
|
@ -466,7 +467,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const frameID = this.readUint(); if (frameID === null) { return resetPointer() }
|
||||
const id = this.readUint(); if (id === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "create_i_frame_document",
|
||||
tp: MType.CreateIFrameDocument,
|
||||
frameID,
|
||||
id,
|
||||
};
|
||||
|
|
@ -477,7 +478,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const text = this.readString(); if (text === null) { return resetPointer() }
|
||||
const baseURL = this.readString(); if (baseURL === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "adopted_ss_replace_url_based",
|
||||
tp: MType.AdoptedSsReplaceURLBased,
|
||||
sheetID,
|
||||
text,
|
||||
baseURL,
|
||||
|
|
@ -488,7 +489,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const sheetID = this.readUint(); if (sheetID === null) { return resetPointer() }
|
||||
const text = this.readString(); if (text === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "adopted_ss_replace",
|
||||
tp: MType.AdoptedSsReplace,
|
||||
sheetID,
|
||||
text,
|
||||
};
|
||||
|
|
@ -500,7 +501,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const index = this.readUint(); if (index === null) { return resetPointer() }
|
||||
const baseURL = this.readString(); if (baseURL === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "adopted_ss_insert_rule_url_based",
|
||||
tp: MType.AdoptedSsInsertRuleURLBased,
|
||||
sheetID,
|
||||
rule,
|
||||
index,
|
||||
|
|
@ -513,7 +514,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const rule = this.readString(); if (rule === null) { return resetPointer() }
|
||||
const index = this.readUint(); if (index === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "adopted_ss_insert_rule",
|
||||
tp: MType.AdoptedSsInsertRule,
|
||||
sheetID,
|
||||
rule,
|
||||
index,
|
||||
|
|
@ -524,7 +525,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const sheetID = this.readUint(); if (sheetID === null) { return resetPointer() }
|
||||
const index = this.readUint(); if (index === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "adopted_ss_delete_rule",
|
||||
tp: MType.AdoptedSsDeleteRule,
|
||||
sheetID,
|
||||
index,
|
||||
};
|
||||
|
|
@ -534,7 +535,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const sheetID = this.readUint(); if (sheetID === null) { return resetPointer() }
|
||||
const id = this.readUint(); if (id === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "adopted_ss_add_owner",
|
||||
tp: MType.AdoptedSsAddOwner,
|
||||
sheetID,
|
||||
id,
|
||||
};
|
||||
|
|
@ -544,7 +545,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const sheetID = this.readUint(); if (sheetID === null) { return resetPointer() }
|
||||
const id = this.readUint(); if (id === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "adopted_ss_remove_owner",
|
||||
tp: MType.AdoptedSsRemoveOwner,
|
||||
sheetID,
|
||||
id,
|
||||
};
|
||||
|
|
@ -554,7 +555,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const mutation = this.readString(); if (mutation === null) { return resetPointer() }
|
||||
const state = this.readString(); if (state === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "zustand",
|
||||
tp: MType.Zustand,
|
||||
mutation,
|
||||
state,
|
||||
};
|
||||
|
|
@ -572,7 +573,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const userDeviceType = this.readString(); if (userDeviceType === null) { return resetPointer() }
|
||||
const userCountry = this.readString(); if (userCountry === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "ios_session_start",
|
||||
tp: MType.IosSessionStart,
|
||||
timestamp,
|
||||
projectID,
|
||||
trackerVersion,
|
||||
|
|
@ -592,7 +593,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const name = this.readString(); if (name === null) { return resetPointer() }
|
||||
const payload = this.readString(); if (payload === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "ios_custom_event",
|
||||
tp: MType.IosCustomEvent,
|
||||
timestamp,
|
||||
length,
|
||||
name,
|
||||
|
|
@ -608,7 +609,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const width = this.readUint(); if (width === null) { return resetPointer() }
|
||||
const height = this.readUint(); if (height === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "ios_screen_changes",
|
||||
tp: MType.IosScreenChanges,
|
||||
timestamp,
|
||||
length,
|
||||
x,
|
||||
|
|
@ -625,7 +626,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const x = this.readUint(); if (x === null) { return resetPointer() }
|
||||
const y = this.readUint(); if (y === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "ios_click_event",
|
||||
tp: MType.IosClickEvent,
|
||||
timestamp,
|
||||
length,
|
||||
label,
|
||||
|
|
@ -640,7 +641,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const name = this.readString(); if (name === null) { return resetPointer() }
|
||||
const value = this.readUint(); if (value === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "ios_performance_event",
|
||||
tp: MType.IosPerformanceEvent,
|
||||
timestamp,
|
||||
length,
|
||||
name,
|
||||
|
|
@ -654,7 +655,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const severity = this.readString(); if (severity === null) { return resetPointer() }
|
||||
const content = this.readString(); if (content === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "ios_log",
|
||||
tp: MType.IosLog,
|
||||
timestamp,
|
||||
length,
|
||||
severity,
|
||||
|
|
@ -673,7 +674,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
const method = this.readString(); if (method === null) { return resetPointer() }
|
||||
const status = this.readUint(); if (status === null) { return resetPointer() }
|
||||
return {
|
||||
tp: "ios_network_call",
|
||||
tp: MType.IosNetworkCall,
|
||||
timestamp,
|
||||
length,
|
||||
duration,
|
||||
|
|
@ -1 +1,2 @@
|
|||
export * from './message'
|
||||
export * from './message.gen'
|
||||
export { MType } from './raw.gen'
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
/* eslint-disable */
|
||||
|
||||
import type { Timed } from './timed'
|
||||
import type { RawMessage } from './raw'
|
||||
import type { RawMessage } from './raw.gen'
|
||||
import type {
|
||||
RawTimestamp,
|
||||
RawSetPageLocation,
|
||||
|
|
@ -58,7 +58,7 @@ import type {
|
|||
RawIosPerformanceEvent,
|
||||
RawIosLog,
|
||||
RawIosNetworkCall,
|
||||
} from './raw'
|
||||
} from './raw.gen'
|
||||
|
||||
export type Message = RawMessage & Timed
|
||||
|
||||
|
|
@ -1,38 +1,95 @@
|
|||
// Auto-generated, do not edit
|
||||
/* eslint-disable */
|
||||
|
||||
export const enum MType {
|
||||
Timestamp = 0,
|
||||
SetPageLocation = 4,
|
||||
SetViewportSize = 5,
|
||||
SetViewportScroll = 6,
|
||||
CreateDocument = 7,
|
||||
CreateElementNode = 8,
|
||||
CreateTextNode = 9,
|
||||
MoveNode = 10,
|
||||
RemoveNode = 11,
|
||||
SetNodeAttribute = 12,
|
||||
RemoveNodeAttribute = 13,
|
||||
SetNodeData = 14,
|
||||
SetCssData = 15,
|
||||
SetNodeScroll = 16,
|
||||
SetInputValue = 18,
|
||||
SetInputChecked = 19,
|
||||
MouseMove = 20,
|
||||
ConsoleLog = 22,
|
||||
CssInsertRule = 37,
|
||||
CssDeleteRule = 38,
|
||||
Fetch = 39,
|
||||
Profiler = 40,
|
||||
OTable = 41,
|
||||
Redux = 44,
|
||||
Vuex = 45,
|
||||
MobX = 46,
|
||||
NgRx = 47,
|
||||
GraphQl = 48,
|
||||
PerformanceTrack = 49,
|
||||
ConnectionInformation = 54,
|
||||
SetPageVisibility = 55,
|
||||
LoadFontFace = 57,
|
||||
SetNodeFocus = 58,
|
||||
LongTask = 59,
|
||||
SetNodeAttributeURLBased = 60,
|
||||
SetCssDataURLBased = 61,
|
||||
CssInsertRuleURLBased = 67,
|
||||
MouseClick = 69,
|
||||
CreateIFrameDocument = 70,
|
||||
AdoptedSsReplaceURLBased = 71,
|
||||
AdoptedSsReplace = 72,
|
||||
AdoptedSsInsertRuleURLBased = 73,
|
||||
AdoptedSsInsertRule = 74,
|
||||
AdoptedSsDeleteRule = 75,
|
||||
AdoptedSsAddOwner = 76,
|
||||
AdoptedSsRemoveOwner = 77,
|
||||
Zustand = 79,
|
||||
IosSessionStart = 90,
|
||||
IosCustomEvent = 93,
|
||||
IosScreenChanges = 96,
|
||||
IosClickEvent = 100,
|
||||
IosPerformanceEvent = 102,
|
||||
IosLog = 103,
|
||||
IosNetworkCall = 105,
|
||||
}
|
||||
|
||||
|
||||
export interface RawTimestamp {
|
||||
tp: "timestamp",
|
||||
tp: MType.Timestamp,
|
||||
timestamp: number,
|
||||
}
|
||||
|
||||
export interface RawSetPageLocation {
|
||||
tp: "set_page_location",
|
||||
tp: MType.SetPageLocation,
|
||||
url: string,
|
||||
referrer: string,
|
||||
navigationStart: number,
|
||||
}
|
||||
|
||||
export interface RawSetViewportSize {
|
||||
tp: "set_viewport_size",
|
||||
tp: MType.SetViewportSize,
|
||||
width: number,
|
||||
height: number,
|
||||
}
|
||||
|
||||
export interface RawSetViewportScroll {
|
||||
tp: "set_viewport_scroll",
|
||||
tp: MType.SetViewportScroll,
|
||||
x: number,
|
||||
y: number,
|
||||
}
|
||||
|
||||
export interface RawCreateDocument {
|
||||
tp: "create_document",
|
||||
tp: MType.CreateDocument,
|
||||
|
||||
}
|
||||
|
||||
export interface RawCreateElementNode {
|
||||
tp: "create_element_node",
|
||||
tp: MType.CreateElementNode,
|
||||
id: number,
|
||||
parentID: number,
|
||||
index: number,
|
||||
|
|
@ -41,96 +98,96 @@ export interface RawCreateElementNode {
|
|||
}
|
||||
|
||||
export interface RawCreateTextNode {
|
||||
tp: "create_text_node",
|
||||
tp: MType.CreateTextNode,
|
||||
id: number,
|
||||
parentID: number,
|
||||
index: number,
|
||||
}
|
||||
|
||||
export interface RawMoveNode {
|
||||
tp: "move_node",
|
||||
tp: MType.MoveNode,
|
||||
id: number,
|
||||
parentID: number,
|
||||
index: number,
|
||||
}
|
||||
|
||||
export interface RawRemoveNode {
|
||||
tp: "remove_node",
|
||||
tp: MType.RemoveNode,
|
||||
id: number,
|
||||
}
|
||||
|
||||
export interface RawSetNodeAttribute {
|
||||
tp: "set_node_attribute",
|
||||
tp: MType.SetNodeAttribute,
|
||||
id: number,
|
||||
name: string,
|
||||
value: string,
|
||||
}
|
||||
|
||||
export interface RawRemoveNodeAttribute {
|
||||
tp: "remove_node_attribute",
|
||||
tp: MType.RemoveNodeAttribute,
|
||||
id: number,
|
||||
name: string,
|
||||
}
|
||||
|
||||
export interface RawSetNodeData {
|
||||
tp: "set_node_data",
|
||||
tp: MType.SetNodeData,
|
||||
id: number,
|
||||
data: string,
|
||||
}
|
||||
|
||||
export interface RawSetCssData {
|
||||
tp: "set_css_data",
|
||||
tp: MType.SetCssData,
|
||||
id: number,
|
||||
data: string,
|
||||
}
|
||||
|
||||
export interface RawSetNodeScroll {
|
||||
tp: "set_node_scroll",
|
||||
tp: MType.SetNodeScroll,
|
||||
id: number,
|
||||
x: number,
|
||||
y: number,
|
||||
}
|
||||
|
||||
export interface RawSetInputValue {
|
||||
tp: "set_input_value",
|
||||
tp: MType.SetInputValue,
|
||||
id: number,
|
||||
value: string,
|
||||
mask: number,
|
||||
}
|
||||
|
||||
export interface RawSetInputChecked {
|
||||
tp: "set_input_checked",
|
||||
tp: MType.SetInputChecked,
|
||||
id: number,
|
||||
checked: boolean,
|
||||
}
|
||||
|
||||
export interface RawMouseMove {
|
||||
tp: "mouse_move",
|
||||
tp: MType.MouseMove,
|
||||
x: number,
|
||||
y: number,
|
||||
}
|
||||
|
||||
export interface RawConsoleLog {
|
||||
tp: "console_log",
|
||||
tp: MType.ConsoleLog,
|
||||
level: string,
|
||||
value: string,
|
||||
}
|
||||
|
||||
export interface RawCssInsertRule {
|
||||
tp: "css_insert_rule",
|
||||
tp: MType.CssInsertRule,
|
||||
id: number,
|
||||
rule: string,
|
||||
index: number,
|
||||
}
|
||||
|
||||
export interface RawCssDeleteRule {
|
||||
tp: "css_delete_rule",
|
||||
tp: MType.CssDeleteRule,
|
||||
id: number,
|
||||
index: number,
|
||||
}
|
||||
|
||||
export interface RawFetch {
|
||||
tp: "fetch",
|
||||
tp: MType.Fetch,
|
||||
method: string,
|
||||
url: string,
|
||||
request: string,
|
||||
|
|
@ -141,7 +198,7 @@ export interface RawFetch {
|
|||
}
|
||||
|
||||
export interface RawProfiler {
|
||||
tp: "profiler",
|
||||
tp: MType.Profiler,
|
||||
name: string,
|
||||
duration: number,
|
||||
args: string,
|
||||
|
|
@ -149,39 +206,39 @@ export interface RawProfiler {
|
|||
}
|
||||
|
||||
export interface RawOTable {
|
||||
tp: "o_table",
|
||||
tp: MType.OTable,
|
||||
key: string,
|
||||
value: string,
|
||||
}
|
||||
|
||||
export interface RawRedux {
|
||||
tp: "redux",
|
||||
tp: MType.Redux,
|
||||
action: string,
|
||||
state: string,
|
||||
duration: number,
|
||||
}
|
||||
|
||||
export interface RawVuex {
|
||||
tp: "vuex",
|
||||
tp: MType.Vuex,
|
||||
mutation: string,
|
||||
state: string,
|
||||
}
|
||||
|
||||
export interface RawMobX {
|
||||
tp: "mob_x",
|
||||
tp: MType.MobX,
|
||||
type: string,
|
||||
payload: string,
|
||||
}
|
||||
|
||||
export interface RawNgRx {
|
||||
tp: "ng_rx",
|
||||
tp: MType.NgRx,
|
||||
action: string,
|
||||
state: string,
|
||||
duration: number,
|
||||
}
|
||||
|
||||
export interface RawGraphQl {
|
||||
tp: "graph_ql",
|
||||
tp: MType.GraphQl,
|
||||
operationKind: string,
|
||||
operationName: string,
|
||||
variables: string,
|
||||
|
|
@ -189,7 +246,7 @@ export interface RawGraphQl {
|
|||
}
|
||||
|
||||
export interface RawPerformanceTrack {
|
||||
tp: "performance_track",
|
||||
tp: MType.PerformanceTrack,
|
||||
frames: number,
|
||||
ticks: number,
|
||||
totalJSHeapSize: number,
|
||||
|
|
@ -197,18 +254,18 @@ export interface RawPerformanceTrack {
|
|||
}
|
||||
|
||||
export interface RawConnectionInformation {
|
||||
tp: "connection_information",
|
||||
tp: MType.ConnectionInformation,
|
||||
downlink: number,
|
||||
type: string,
|
||||
}
|
||||
|
||||
export interface RawSetPageVisibility {
|
||||
tp: "set_page_visibility",
|
||||
tp: MType.SetPageVisibility,
|
||||
hidden: boolean,
|
||||
}
|
||||
|
||||
export interface RawLoadFontFace {
|
||||
tp: "load_font_face",
|
||||
tp: MType.LoadFontFace,
|
||||
parentID: number,
|
||||
family: string,
|
||||
source: string,
|
||||
|
|
@ -216,12 +273,12 @@ export interface RawLoadFontFace {
|
|||
}
|
||||
|
||||
export interface RawSetNodeFocus {
|
||||
tp: "set_node_focus",
|
||||
tp: MType.SetNodeFocus,
|
||||
id: number,
|
||||
}
|
||||
|
||||
export interface RawLongTask {
|
||||
tp: "long_task",
|
||||
tp: MType.LongTask,
|
||||
timestamp: number,
|
||||
duration: number,
|
||||
context: number,
|
||||
|
|
@ -232,7 +289,7 @@ export interface RawLongTask {
|
|||
}
|
||||
|
||||
export interface RawSetNodeAttributeURLBased {
|
||||
tp: "set_node_attribute_url_based",
|
||||
tp: MType.SetNodeAttributeURLBased,
|
||||
id: number,
|
||||
name: string,
|
||||
value: string,
|
||||
|
|
@ -240,14 +297,14 @@ export interface RawSetNodeAttributeURLBased {
|
|||
}
|
||||
|
||||
export interface RawSetCssDataURLBased {
|
||||
tp: "set_css_data_url_based",
|
||||
tp: MType.SetCssDataURLBased,
|
||||
id: number,
|
||||
data: string,
|
||||
baseURL: string,
|
||||
}
|
||||
|
||||
export interface RawCssInsertRuleURLBased {
|
||||
tp: "css_insert_rule_url_based",
|
||||
tp: MType.CssInsertRuleURLBased,
|
||||
id: number,
|
||||
rule: string,
|
||||
index: number,
|
||||
|
|
@ -255,7 +312,7 @@ export interface RawCssInsertRuleURLBased {
|
|||
}
|
||||
|
||||
export interface RawMouseClick {
|
||||
tp: "mouse_click",
|
||||
tp: MType.MouseClick,
|
||||
id: number,
|
||||
hesitationTime: number,
|
||||
label: string,
|
||||
|
|
@ -263,26 +320,26 @@ export interface RawMouseClick {
|
|||
}
|
||||
|
||||
export interface RawCreateIFrameDocument {
|
||||
tp: "create_i_frame_document",
|
||||
tp: MType.CreateIFrameDocument,
|
||||
frameID: number,
|
||||
id: number,
|
||||
}
|
||||
|
||||
export interface RawAdoptedSsReplaceURLBased {
|
||||
tp: "adopted_ss_replace_url_based",
|
||||
tp: MType.AdoptedSsReplaceURLBased,
|
||||
sheetID: number,
|
||||
text: string,
|
||||
baseURL: string,
|
||||
}
|
||||
|
||||
export interface RawAdoptedSsReplace {
|
||||
tp: "adopted_ss_replace",
|
||||
tp: MType.AdoptedSsReplace,
|
||||
sheetID: number,
|
||||
text: string,
|
||||
}
|
||||
|
||||
export interface RawAdoptedSsInsertRuleURLBased {
|
||||
tp: "adopted_ss_insert_rule_url_based",
|
||||
tp: MType.AdoptedSsInsertRuleURLBased,
|
||||
sheetID: number,
|
||||
rule: string,
|
||||
index: number,
|
||||
|
|
@ -290,38 +347,38 @@ export interface RawAdoptedSsInsertRuleURLBased {
|
|||
}
|
||||
|
||||
export interface RawAdoptedSsInsertRule {
|
||||
tp: "adopted_ss_insert_rule",
|
||||
tp: MType.AdoptedSsInsertRule,
|
||||
sheetID: number,
|
||||
rule: string,
|
||||
index: number,
|
||||
}
|
||||
|
||||
export interface RawAdoptedSsDeleteRule {
|
||||
tp: "adopted_ss_delete_rule",
|
||||
tp: MType.AdoptedSsDeleteRule,
|
||||
sheetID: number,
|
||||
index: number,
|
||||
}
|
||||
|
||||
export interface RawAdoptedSsAddOwner {
|
||||
tp: "adopted_ss_add_owner",
|
||||
tp: MType.AdoptedSsAddOwner,
|
||||
sheetID: number,
|
||||
id: number,
|
||||
}
|
||||
|
||||
export interface RawAdoptedSsRemoveOwner {
|
||||
tp: "adopted_ss_remove_owner",
|
||||
tp: MType.AdoptedSsRemoveOwner,
|
||||
sheetID: number,
|
||||
id: number,
|
||||
}
|
||||
|
||||
export interface RawZustand {
|
||||
tp: "zustand",
|
||||
tp: MType.Zustand,
|
||||
mutation: string,
|
||||
state: string,
|
||||
}
|
||||
|
||||
export interface RawIosSessionStart {
|
||||
tp: "ios_session_start",
|
||||
tp: MType.IosSessionStart,
|
||||
timestamp: number,
|
||||
projectID: number,
|
||||
trackerVersion: string,
|
||||
|
|
@ -335,7 +392,7 @@ export interface RawIosSessionStart {
|
|||
}
|
||||
|
||||
export interface RawIosCustomEvent {
|
||||
tp: "ios_custom_event",
|
||||
tp: MType.IosCustomEvent,
|
||||
timestamp: number,
|
||||
length: number,
|
||||
name: string,
|
||||
|
|
@ -343,7 +400,7 @@ export interface RawIosCustomEvent {
|
|||
}
|
||||
|
||||
export interface RawIosScreenChanges {
|
||||
tp: "ios_screen_changes",
|
||||
tp: MType.IosScreenChanges,
|
||||
timestamp: number,
|
||||
length: number,
|
||||
x: number,
|
||||
|
|
@ -353,7 +410,7 @@ export interface RawIosScreenChanges {
|
|||
}
|
||||
|
||||
export interface RawIosClickEvent {
|
||||
tp: "ios_click_event",
|
||||
tp: MType.IosClickEvent,
|
||||
timestamp: number,
|
||||
length: number,
|
||||
label: string,
|
||||
|
|
@ -362,7 +419,7 @@ export interface RawIosClickEvent {
|
|||
}
|
||||
|
||||
export interface RawIosPerformanceEvent {
|
||||
tp: "ios_performance_event",
|
||||
tp: MType.IosPerformanceEvent,
|
||||
timestamp: number,
|
||||
length: number,
|
||||
name: string,
|
||||
|
|
@ -370,7 +427,7 @@ export interface RawIosPerformanceEvent {
|
|||
}
|
||||
|
||||
export interface RawIosLog {
|
||||
tp: "ios_log",
|
||||
tp: MType.IosLog,
|
||||
timestamp: number,
|
||||
length: number,
|
||||
severity: string,
|
||||
|
|
@ -378,7 +435,7 @@ export interface RawIosLog {
|
|||
}
|
||||
|
||||
export interface RawIosNetworkCall {
|
||||
tp: "ios_network_call",
|
||||
tp: MType.IosNetworkCall,
|
||||
timestamp: number,
|
||||
length: number,
|
||||
duration: number,
|
||||
60
frontend/app/player/web/messages/tracker-legacy.gen.ts
Normal file
60
frontend/app/player/web/messages/tracker-legacy.gen.ts
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
// Auto-generated, do not edit
|
||||
|
||||
import { MType } from './raw.gen'
|
||||
|
||||
export const TP_MAP = {
|
||||
0: MType.Timestamp,
|
||||
4: MType.SetPageLocation,
|
||||
5: MType.SetViewportSize,
|
||||
6: MType.SetViewportScroll,
|
||||
7: MType.CreateDocument,
|
||||
8: MType.CreateElementNode,
|
||||
9: MType.CreateTextNode,
|
||||
10: MType.MoveNode,
|
||||
11: MType.RemoveNode,
|
||||
12: MType.SetNodeAttribute,
|
||||
13: MType.RemoveNodeAttribute,
|
||||
14: MType.SetNodeData,
|
||||
15: MType.SetCssData,
|
||||
16: MType.SetNodeScroll,
|
||||
18: MType.SetInputValue,
|
||||
19: MType.SetInputChecked,
|
||||
20: MType.MouseMove,
|
||||
22: MType.ConsoleLog,
|
||||
37: MType.CssInsertRule,
|
||||
38: MType.CssDeleteRule,
|
||||
39: MType.Fetch,
|
||||
40: MType.Profiler,
|
||||
41: MType.OTable,
|
||||
44: MType.Redux,
|
||||
45: MType.Vuex,
|
||||
46: MType.MobX,
|
||||
47: MType.NgRx,
|
||||
48: MType.GraphQl,
|
||||
49: MType.PerformanceTrack,
|
||||
54: MType.ConnectionInformation,
|
||||
55: MType.SetPageVisibility,
|
||||
57: MType.LoadFontFace,
|
||||
58: MType.SetNodeFocus,
|
||||
59: MType.LongTask,
|
||||
60: MType.SetNodeAttributeURLBased,
|
||||
61: MType.SetCssDataURLBased,
|
||||
67: MType.CssInsertRuleURLBased,
|
||||
69: MType.MouseClick,
|
||||
70: MType.CreateIFrameDocument,
|
||||
71: MType.AdoptedSsReplaceURLBased,
|
||||
72: MType.AdoptedSsReplace,
|
||||
73: MType.AdoptedSsInsertRuleURLBased,
|
||||
74: MType.AdoptedSsInsertRule,
|
||||
75: MType.AdoptedSsDeleteRule,
|
||||
76: MType.AdoptedSsAddOwner,
|
||||
77: MType.AdoptedSsRemoveOwner,
|
||||
79: MType.Zustand,
|
||||
90: MType.IosSessionStart,
|
||||
93: MType.IosCustomEvent,
|
||||
96: MType.IosScreenChanges,
|
||||
100: MType.IosClickEvent,
|
||||
102: MType.IosPerformanceEvent,
|
||||
103: MType.IosLog,
|
||||
105: MType.IosNetworkCall,
|
||||
} as const
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
// @ts-nocheck
|
||||
/* eslint-disable */
|
||||
// Auto-generated, do not edit
|
||||
|
||||
export const TP_MAP = {
|
||||
81: "batch_metadata",
|
||||
82: "partitioned_message",
|
||||
0: "timestamp",
|
||||
4: "set_page_location",
|
||||
5: "set_viewport_size",
|
||||
6: "set_viewport_scroll",
|
||||
7: "create_document",
|
||||
8: "create_element_node",
|
||||
9: "create_text_node",
|
||||
10: "move_node",
|
||||
11: "remove_node",
|
||||
12: "set_node_attribute",
|
||||
13: "remove_node_attribute",
|
||||
14: "set_node_data",
|
||||
15: "set_css_data",
|
||||
16: "set_node_scroll",
|
||||
17: "set_input_target",
|
||||
18: "set_input_value",
|
||||
19: "set_input_checked",
|
||||
20: "mouse_move",
|
||||
22: "console_log",
|
||||
23: "page_load_timing",
|
||||
24: "page_render_timing",
|
||||
25: "js_exception_deprecated",
|
||||
27: "raw_custom_event",
|
||||
28: "user_id",
|
||||
29: "user_anonymous_id",
|
||||
30: "metadata",
|
||||
37: "css_insert_rule",
|
||||
38: "css_delete_rule",
|
||||
39: "fetch",
|
||||
40: "profiler",
|
||||
41: "o_table",
|
||||
42: "state_action",
|
||||
44: "redux",
|
||||
45: "vuex",
|
||||
46: "mob_x",
|
||||
47: "ng_rx",
|
||||
48: "graph_ql",
|
||||
49: "performance_track",
|
||||
53: "resource_timing",
|
||||
54: "connection_information",
|
||||
55: "set_page_visibility",
|
||||
57: "load_font_face",
|
||||
58: "set_node_focus",
|
||||
59: "long_task",
|
||||
60: "set_node_attribute_url_based",
|
||||
61: "set_css_data_url_based",
|
||||
63: "technical_info",
|
||||
64: "custom_issue",
|
||||
67: "css_insert_rule_url_based",
|
||||
69: "mouse_click",
|
||||
70: "create_i_frame_document",
|
||||
71: "adopted_ss_replace_url_based",
|
||||
72: "adopted_ss_replace",
|
||||
73: "adopted_ss_insert_rule_url_based",
|
||||
74: "adopted_ss_insert_rule",
|
||||
75: "adopted_ss_delete_rule",
|
||||
76: "adopted_ss_add_owner",
|
||||
77: "adopted_ss_remove_owner",
|
||||
79: "zustand",
|
||||
78: "js_exception",
|
||||
90: "ios_session_start",
|
||||
93: "ios_custom_event",
|
||||
96: "ios_screen_changes",
|
||||
100: "ios_click_event",
|
||||
102: "ios_performance_event",
|
||||
103: "ios_log",
|
||||
105: "ios_network_call",
|
||||
} as const
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
// Auto-generated, do not edit
|
||||
/* eslint-disable */
|
||||
|
||||
import type { RawMessage } from './raw'
|
||||
import type { RawMessage } from './raw.gen'
|
||||
import { MType } from './raw.gen'
|
||||
|
||||
|
||||
type TrBatchMetadata = [
|
||||
|
|
@ -418,14 +419,14 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 0: {
|
||||
return {
|
||||
tp: "timestamp",
|
||||
tp: MType.Timestamp,
|
||||
timestamp: tMsg[1],
|
||||
}
|
||||
}
|
||||
|
||||
case 4: {
|
||||
return {
|
||||
tp: "set_page_location",
|
||||
tp: MType.SetPageLocation,
|
||||
url: tMsg[1],
|
||||
referrer: tMsg[2],
|
||||
navigationStart: tMsg[3],
|
||||
|
|
@ -434,7 +435,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 5: {
|
||||
return {
|
||||
tp: "set_viewport_size",
|
||||
tp: MType.SetViewportSize,
|
||||
width: tMsg[1],
|
||||
height: tMsg[2],
|
||||
}
|
||||
|
|
@ -442,7 +443,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 6: {
|
||||
return {
|
||||
tp: "set_viewport_scroll",
|
||||
tp: MType.SetViewportScroll,
|
||||
x: tMsg[1],
|
||||
y: tMsg[2],
|
||||
}
|
||||
|
|
@ -450,14 +451,14 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 7: {
|
||||
return {
|
||||
tp: "create_document",
|
||||
tp: MType.CreateDocument,
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
case 8: {
|
||||
return {
|
||||
tp: "create_element_node",
|
||||
tp: MType.CreateElementNode,
|
||||
id: tMsg[1],
|
||||
parentID: tMsg[2],
|
||||
index: tMsg[3],
|
||||
|
|
@ -468,7 +469,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 9: {
|
||||
return {
|
||||
tp: "create_text_node",
|
||||
tp: MType.CreateTextNode,
|
||||
id: tMsg[1],
|
||||
parentID: tMsg[2],
|
||||
index: tMsg[3],
|
||||
|
|
@ -477,7 +478,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 10: {
|
||||
return {
|
||||
tp: "move_node",
|
||||
tp: MType.MoveNode,
|
||||
id: tMsg[1],
|
||||
parentID: tMsg[2],
|
||||
index: tMsg[3],
|
||||
|
|
@ -486,14 +487,14 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 11: {
|
||||
return {
|
||||
tp: "remove_node",
|
||||
tp: MType.RemoveNode,
|
||||
id: tMsg[1],
|
||||
}
|
||||
}
|
||||
|
||||
case 12: {
|
||||
return {
|
||||
tp: "set_node_attribute",
|
||||
tp: MType.SetNodeAttribute,
|
||||
id: tMsg[1],
|
||||
name: tMsg[2],
|
||||
value: tMsg[3],
|
||||
|
|
@ -502,7 +503,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 13: {
|
||||
return {
|
||||
tp: "remove_node_attribute",
|
||||
tp: MType.RemoveNodeAttribute,
|
||||
id: tMsg[1],
|
||||
name: tMsg[2],
|
||||
}
|
||||
|
|
@ -510,7 +511,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 14: {
|
||||
return {
|
||||
tp: "set_node_data",
|
||||
tp: MType.SetNodeData,
|
||||
id: tMsg[1],
|
||||
data: tMsg[2],
|
||||
}
|
||||
|
|
@ -518,7 +519,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 16: {
|
||||
return {
|
||||
tp: "set_node_scroll",
|
||||
tp: MType.SetNodeScroll,
|
||||
id: tMsg[1],
|
||||
x: tMsg[2],
|
||||
y: tMsg[3],
|
||||
|
|
@ -527,7 +528,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 18: {
|
||||
return {
|
||||
tp: "set_input_value",
|
||||
tp: MType.SetInputValue,
|
||||
id: tMsg[1],
|
||||
value: tMsg[2],
|
||||
mask: tMsg[3],
|
||||
|
|
@ -536,7 +537,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 19: {
|
||||
return {
|
||||
tp: "set_input_checked",
|
||||
tp: MType.SetInputChecked,
|
||||
id: tMsg[1],
|
||||
checked: tMsg[2],
|
||||
}
|
||||
|
|
@ -544,7 +545,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 20: {
|
||||
return {
|
||||
tp: "mouse_move",
|
||||
tp: MType.MouseMove,
|
||||
x: tMsg[1],
|
||||
y: tMsg[2],
|
||||
}
|
||||
|
|
@ -552,7 +553,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 22: {
|
||||
return {
|
||||
tp: "console_log",
|
||||
tp: MType.ConsoleLog,
|
||||
level: tMsg[1],
|
||||
value: tMsg[2],
|
||||
}
|
||||
|
|
@ -560,7 +561,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 37: {
|
||||
return {
|
||||
tp: "css_insert_rule",
|
||||
tp: MType.CssInsertRule,
|
||||
id: tMsg[1],
|
||||
rule: tMsg[2],
|
||||
index: tMsg[3],
|
||||
|
|
@ -569,7 +570,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 38: {
|
||||
return {
|
||||
tp: "css_delete_rule",
|
||||
tp: MType.CssDeleteRule,
|
||||
id: tMsg[1],
|
||||
index: tMsg[2],
|
||||
}
|
||||
|
|
@ -577,7 +578,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 39: {
|
||||
return {
|
||||
tp: "fetch",
|
||||
tp: MType.Fetch,
|
||||
method: tMsg[1],
|
||||
url: tMsg[2],
|
||||
request: tMsg[3],
|
||||
|
|
@ -590,7 +591,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 40: {
|
||||
return {
|
||||
tp: "profiler",
|
||||
tp: MType.Profiler,
|
||||
name: tMsg[1],
|
||||
duration: tMsg[2],
|
||||
args: tMsg[3],
|
||||
|
|
@ -600,7 +601,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 41: {
|
||||
return {
|
||||
tp: "o_table",
|
||||
tp: MType.OTable,
|
||||
key: tMsg[1],
|
||||
value: tMsg[2],
|
||||
}
|
||||
|
|
@ -608,7 +609,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 44: {
|
||||
return {
|
||||
tp: "redux",
|
||||
tp: MType.Redux,
|
||||
action: tMsg[1],
|
||||
state: tMsg[2],
|
||||
duration: tMsg[3],
|
||||
|
|
@ -617,7 +618,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 45: {
|
||||
return {
|
||||
tp: "vuex",
|
||||
tp: MType.Vuex,
|
||||
mutation: tMsg[1],
|
||||
state: tMsg[2],
|
||||
}
|
||||
|
|
@ -625,7 +626,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 46: {
|
||||
return {
|
||||
tp: "mob_x",
|
||||
tp: MType.MobX,
|
||||
type: tMsg[1],
|
||||
payload: tMsg[2],
|
||||
}
|
||||
|
|
@ -633,7 +634,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 47: {
|
||||
return {
|
||||
tp: "ng_rx",
|
||||
tp: MType.NgRx,
|
||||
action: tMsg[1],
|
||||
state: tMsg[2],
|
||||
duration: tMsg[3],
|
||||
|
|
@ -642,7 +643,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 48: {
|
||||
return {
|
||||
tp: "graph_ql",
|
||||
tp: MType.GraphQl,
|
||||
operationKind: tMsg[1],
|
||||
operationName: tMsg[2],
|
||||
variables: tMsg[3],
|
||||
|
|
@ -652,7 +653,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 49: {
|
||||
return {
|
||||
tp: "performance_track",
|
||||
tp: MType.PerformanceTrack,
|
||||
frames: tMsg[1],
|
||||
ticks: tMsg[2],
|
||||
totalJSHeapSize: tMsg[3],
|
||||
|
|
@ -662,7 +663,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 54: {
|
||||
return {
|
||||
tp: "connection_information",
|
||||
tp: MType.ConnectionInformation,
|
||||
downlink: tMsg[1],
|
||||
type: tMsg[2],
|
||||
}
|
||||
|
|
@ -670,14 +671,14 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 55: {
|
||||
return {
|
||||
tp: "set_page_visibility",
|
||||
tp: MType.SetPageVisibility,
|
||||
hidden: tMsg[1],
|
||||
}
|
||||
}
|
||||
|
||||
case 57: {
|
||||
return {
|
||||
tp: "load_font_face",
|
||||
tp: MType.LoadFontFace,
|
||||
parentID: tMsg[1],
|
||||
family: tMsg[2],
|
||||
source: tMsg[3],
|
||||
|
|
@ -687,14 +688,14 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 58: {
|
||||
return {
|
||||
tp: "set_node_focus",
|
||||
tp: MType.SetNodeFocus,
|
||||
id: tMsg[1],
|
||||
}
|
||||
}
|
||||
|
||||
case 59: {
|
||||
return {
|
||||
tp: "long_task",
|
||||
tp: MType.LongTask,
|
||||
timestamp: tMsg[1],
|
||||
duration: tMsg[2],
|
||||
context: tMsg[3],
|
||||
|
|
@ -707,7 +708,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 60: {
|
||||
return {
|
||||
tp: "set_node_attribute_url_based",
|
||||
tp: MType.SetNodeAttributeURLBased,
|
||||
id: tMsg[1],
|
||||
name: tMsg[2],
|
||||
value: tMsg[3],
|
||||
|
|
@ -717,7 +718,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 61: {
|
||||
return {
|
||||
tp: "set_css_data_url_based",
|
||||
tp: MType.SetCssDataURLBased,
|
||||
id: tMsg[1],
|
||||
data: tMsg[2],
|
||||
baseURL: tMsg[3],
|
||||
|
|
@ -726,7 +727,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 67: {
|
||||
return {
|
||||
tp: "css_insert_rule_url_based",
|
||||
tp: MType.CssInsertRuleURLBased,
|
||||
id: tMsg[1],
|
||||
rule: tMsg[2],
|
||||
index: tMsg[3],
|
||||
|
|
@ -736,7 +737,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 69: {
|
||||
return {
|
||||
tp: "mouse_click",
|
||||
tp: MType.MouseClick,
|
||||
id: tMsg[1],
|
||||
hesitationTime: tMsg[2],
|
||||
label: tMsg[3],
|
||||
|
|
@ -746,7 +747,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 70: {
|
||||
return {
|
||||
tp: "create_i_frame_document",
|
||||
tp: MType.CreateIFrameDocument,
|
||||
frameID: tMsg[1],
|
||||
id: tMsg[2],
|
||||
}
|
||||
|
|
@ -754,7 +755,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 71: {
|
||||
return {
|
||||
tp: "adopted_ss_replace_url_based",
|
||||
tp: MType.AdoptedSsReplaceURLBased,
|
||||
sheetID: tMsg[1],
|
||||
text: tMsg[2],
|
||||
baseURL: tMsg[3],
|
||||
|
|
@ -763,7 +764,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 73: {
|
||||
return {
|
||||
tp: "adopted_ss_insert_rule_url_based",
|
||||
tp: MType.AdoptedSsInsertRuleURLBased,
|
||||
sheetID: tMsg[1],
|
||||
rule: tMsg[2],
|
||||
index: tMsg[3],
|
||||
|
|
@ -773,7 +774,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 75: {
|
||||
return {
|
||||
tp: "adopted_ss_delete_rule",
|
||||
tp: MType.AdoptedSsDeleteRule,
|
||||
sheetID: tMsg[1],
|
||||
index: tMsg[2],
|
||||
}
|
||||
|
|
@ -781,7 +782,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 76: {
|
||||
return {
|
||||
tp: "adopted_ss_add_owner",
|
||||
tp: MType.AdoptedSsAddOwner,
|
||||
sheetID: tMsg[1],
|
||||
id: tMsg[2],
|
||||
}
|
||||
|
|
@ -789,7 +790,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 77: {
|
||||
return {
|
||||
tp: "adopted_ss_remove_owner",
|
||||
tp: MType.AdoptedSsRemoveOwner,
|
||||
sheetID: tMsg[1],
|
||||
id: tMsg[2],
|
||||
}
|
||||
|
|
@ -797,7 +798,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
|
||||
case 79: {
|
||||
return {
|
||||
tp: "zustand",
|
||||
tp: MType.Zustand,
|
||||
mutation: tMsg[1],
|
||||
state: tMsg[2],
|
||||
}
|
||||
|
|
@ -7,7 +7,7 @@ class String
|
|||
self.sub('Id', 'ID').sub('Url', 'URL')
|
||||
end
|
||||
|
||||
# pascal_case
|
||||
# PascalCase
|
||||
def pascal_case
|
||||
return self if self !~ /_/ && self =~ /[A-Z]+.*/
|
||||
split('_').map{|e| e.capitalize}.join.upperize_abbreviations
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
/* eslint-disable */
|
||||
|
||||
import PrimitiveReader from './PrimitiveReader'
|
||||
import type { RawMessage } from './raw'
|
||||
import { MType } from './raw.gen'
|
||||
import type { RawMessage } from './raw.gen'
|
||||
|
||||
|
||||
export default class RawMessageReader extends PrimitiveReader {
|
||||
|
|
@ -22,7 +23,7 @@ export default class RawMessageReader extends PrimitiveReader {
|
|||
<%= msg.attributes.map { |attr|
|
||||
" const #{attr.name.camel_case} = this.read#{attr.type.to_s.pascal_case}(); if (#{attr.name.camel_case} === null) { return resetPointer() }" }.join "\n" %>
|
||||
return {
|
||||
tp: "<%= msg.name.snake_case %>",
|
||||
tp: MType.<%= msg.name.snake_case.pascal_case %>,
|
||||
<%= msg.attributes.map { |attr|
|
||||
" #{attr.name.camel_case}," }.join "\n" %>
|
||||
};
|
||||
|
|
@ -2,10 +2,10 @@
|
|||
/* eslint-disable */
|
||||
|
||||
import type { Timed } from './timed'
|
||||
import type { RawMessage } from './raw'
|
||||
import type { RawMessage } from './raw.gen'
|
||||
import type {
|
||||
<%= $messages.select { |msg| msg.replayer != false }.map { |msg| " Raw#{msg.name.snake_case.pascal_case}," }.join "\n" %>
|
||||
} from './raw'
|
||||
} from './raw.gen'
|
||||
|
||||
export type Message = RawMessage & Timed
|
||||
|
||||
|
|
@ -1,9 +1,16 @@
|
|||
// Auto-generated, do not edit
|
||||
/* eslint-disable */
|
||||
|
||||
export const enum MType {
|
||||
<%= $messages.select { |msg| msg.replayer != false }
|
||||
.map { |msg| " #{msg.name.snake_case.pascal_case} = #{msg.id}," }
|
||||
.join "\n"
|
||||
%>
|
||||
}
|
||||
|
||||
<% $messages.select { |msg| msg.replayer != false }.each do |msg| %>
|
||||
export interface Raw<%= msg.name.snake_case.pascal_case %> {
|
||||
tp: "<%= msg.name.snake_case %>",
|
||||
tp: MType.<%= msg.name.snake_case.pascal_case %>,
|
||||
<%= msg.attributes.map { |attr| " #{attr.name.camel_case}: #{attr.type_js}," }.join "\n" %>
|
||||
}
|
||||
<% end %>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
// Auto-generated, do not edit
|
||||
|
||||
import { MType } from './raw.gen'
|
||||
|
||||
export const TP_MAP = {
|
||||
<%= $messages.select { |msg| msg.replayer != false }.map { |msg| " #{msg.id}: MType.#{msg.name.snake_case.pascal_case}," }.join "\n" %>
|
||||
} as const
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
// @ts-nocheck
|
||||
/* eslint-disable */
|
||||
// Auto-generated, do not edit
|
||||
|
||||
export const TP_MAP = {
|
||||
<%= $messages.select { |msg| msg.tracker || msg.replayer != false }.map { |msg| " #{msg.id}: \"#{msg.name.snake_case}\"," }.join "\n" %>
|
||||
} as const
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
// Auto-generated, do not edit
|
||||
/* eslint-disable */
|
||||
|
||||
import type { RawMessage } from './raw'
|
||||
import type { RawMessage } from './raw.gen'
|
||||
import { MType } from './raw.gen'
|
||||
|
||||
<% $messages.select { |msg| msg.tracker }.each do |msg| %>
|
||||
type Tr<%= msg.name %> = [
|
||||
|
|
@ -17,7 +18,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
|
|||
<% $messages.select { |msg| msg.replayer != false && msg.tracker }.each do |msg| %>
|
||||
case <%= msg.id %>: {
|
||||
return {
|
||||
tp: "<%= msg.name.snake_case %>",
|
||||
tp: MType.<%= msg.name.snake_case.pascal_case %>,
|
||||
<%= msg.attributes.map.with_index { |attr, i| "#{attr.name.camel_case}: tMsg[#{i+1}]," }.join "\n " %>
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue