feat(backend/tracker): add error messages

This commit is contained in:
sylenien 2022-09-05 10:38:27 +02:00 committed by Delirium
parent 7405cff34e
commit 6e3e03dd46
10 changed files with 290 additions and 171 deletions

View file

@ -154,6 +154,8 @@ const (
MsgAdoptedSSRemoveOwner = 77
MsgExceptionWithMeta = 78
MsgZustand = 79
MsgSessionSearch = 127
@ -3004,6 +3006,44 @@ func (msg *AdoptedSSRemoveOwner) TypeID() int {
return 77
}
type ExceptionWithMeta struct {
message
Name string
Message string
Payload string
Meta string
}
func (msg *ExceptionWithMeta) Encode() []byte {
buf := make([]byte, 41+len(msg.Name)+len(msg.Message)+len(msg.Payload)+len(msg.Meta))
buf[0] = 78
p := 1
p = WriteString(msg.Name, buf, p)
p = WriteString(msg.Message, buf, p)
p = WriteString(msg.Payload, buf, p)
p = WriteString(msg.Meta, buf, p)
return buf[:p]
}
func (msg *ExceptionWithMeta) EncodeWithIndex() []byte {
encoded := msg.Encode()
if IsIOSType(msg.TypeID()) {
return encoded
}
data := make([]byte, len(encoded)+8)
copy(data[8:], encoded[:])
binary.LittleEndian.PutUint64(data[0:], msg.Meta().Index)
return data
}
func (msg *ExceptionWithMeta) Decode() Message {
return msg
}
func (msg *ExceptionWithMeta) TypeID() int {
return 78
}
type Zustand struct {
message
Mutation string

View file

@ -1291,6 +1291,24 @@ func DecodeAdoptedSSRemoveOwner(reader io.Reader) (Message, error) {
return msg, err
}
func DecodeExceptionWithMeta(reader io.Reader) (Message, error) {
var err error = nil
msg := &ExceptionWithMeta{}
if msg.Name, err = ReadString(reader); err != nil {
return nil, err
}
if msg.Message, err = ReadString(reader); err != nil {
return nil, err
}
if msg.Payload, err = ReadString(reader); err != nil {
return nil, err
}
if msg.Meta, err = ReadString(reader); err != nil {
return nil, err
}
return msg, err
}
func DecodeZustand(reader io.Reader) (Message, error) {
var err error = nil
msg := &Zustand{}
@ -1945,6 +1963,9 @@ func ReadMessage(t uint64, reader io.Reader) (Message, error) {
case 77:
return DecodeAdoptedSSRemoveOwner(reader)
case 78:
return DecodeExceptionWithMeta(reader)
case 79:
return DecodeZustand(reader)

View file

@ -99,7 +99,7 @@ class CreateDocument(Message):
__id__ = 7
def __init__(self, ):
class CreateElementNode(Message):
@ -735,6 +735,16 @@ class AdoptedSSRemoveOwner(Message):
self.id = id
class ExceptionWithMeta(Message):
__id__ = 78
def __init__(self, name, message, payload, meta):
self.name = name
self.message = message
self.payload = payload
self.meta = meta
class Zustand(Message):
__id__ = 79
@ -959,5 +969,3 @@ class IOSIssueEvent(Message):
self.context_string = context_string
self.context = context
self.payload = payload

View file

@ -149,7 +149,7 @@ class MessageCodec(Codec):
if message_id == 7:
return CreateDocument(
)
if message_id == 8:
@ -655,6 +655,14 @@ class MessageCodec(Codec):
id=self.read_uint(reader)
)
if message_id == 78:
return ExceptionWithMeta(
name=self.read_string(reader),
message=self.read_string(reader),
payload=self.read_string(reader),
meta=self.read_string(reader)
)
if message_id == 79:
return Zustand(
mutation=self.read_string(reader),
@ -838,4 +846,3 @@ class MessageCodec(Codec):
context=self.read_string(reader),
payload=self.read_string(reader)
)

View file

@ -61,6 +61,7 @@ export const TP_MAP = {
75: "adopted_ss_delete_rule",
76: "adopted_ss_add_owner",
77: "adopted_ss_remove_owner",
78: "exception_with_meta",
79: "zustand",
90: "ios_session_start",
93: "ios_custom_event",

View file

@ -45,7 +45,7 @@ type TrSetViewportScroll = [
type TrCreateDocument = [
type: 7,
]
type TrCreateElementNode = [
@ -383,6 +383,14 @@ type TrAdoptedSSRemoveOwner = [
id: number,
]
type TrExceptionWithMeta = [
type: 78,
name: string,
message: string,
payload: string,
meta: string,
]
type TrZustand = [
type: 79,
mutation: string,
@ -390,18 +398,18 @@ type TrZustand = [
]
export type TrackerMessage = TrBatchMetadata | TrPartitionedMessage | TrTimestamp | TrSetPageLocation | TrSetViewportSize | TrSetViewportScroll | TrCreateDocument | TrCreateElementNode | TrCreateTextNode | TrMoveNode | TrRemoveNode | TrSetNodeAttribute | TrRemoveNodeAttribute | TrSetNodeData | TrSetNodeScroll | TrSetInputTarget | TrSetInputValue | TrSetInputChecked | TrMouseMove | TrConsoleLog | TrPageLoadTiming | TrPageRenderTiming | TrJSException | TrRawCustomEvent | TrUserID | TrUserAnonymousID | TrMetadata | TrCSSInsertRule | TrCSSDeleteRule | TrFetch | TrProfiler | TrOTable | TrStateAction | TrRedux | TrVuex | TrMobX | TrNgRx | TrGraphQL | TrPerformanceTrack | TrResourceTiming | TrConnectionInformation | TrSetPageVisibility | TrLongTask | TrSetNodeAttributeURLBased | TrSetCSSDataURLBased | TrTechnicalInfo | TrCustomIssue | TrCSSInsertRuleURLBased | TrMouseClick | TrCreateIFrameDocument | TrAdoptedSSReplaceURLBased | TrAdoptedSSInsertRuleURLBased | TrAdoptedSSDeleteRule | TrAdoptedSSAddOwner | TrAdoptedSSRemoveOwner | TrZustand
export type TrackerMessage = TrBatchMetadata | TrPartitionedMessage | TrTimestamp | TrSetPageLocation | TrSetViewportSize | TrSetViewportScroll | TrCreateDocument | TrCreateElementNode | TrCreateTextNode | TrMoveNode | TrRemoveNode | TrSetNodeAttribute | TrRemoveNodeAttribute | TrSetNodeData | TrSetNodeScroll | TrSetInputTarget | TrSetInputValue | TrSetInputChecked | TrMouseMove | TrConsoleLog | TrPageLoadTiming | TrPageRenderTiming | TrJSException | TrRawCustomEvent | TrUserID | TrUserAnonymousID | TrMetadata | TrCSSInsertRule | TrCSSDeleteRule | TrFetch | TrProfiler | TrOTable | TrStateAction | TrRedux | TrVuex | TrMobX | TrNgRx | TrGraphQL | TrPerformanceTrack | TrResourceTiming | TrConnectionInformation | TrSetPageVisibility | TrLongTask | TrSetNodeAttributeURLBased | TrSetCSSDataURLBased | TrTechnicalInfo | TrCustomIssue | TrCSSInsertRuleURLBased | TrMouseClick | TrCreateIFrameDocument | TrAdoptedSSReplaceURLBased | TrAdoptedSSInsertRuleURLBased | TrAdoptedSSDeleteRule | TrAdoptedSSAddOwner | TrAdoptedSSRemoveOwner | TrExceptionWithMeta | TrZustand
export default function translate(tMsg: TrackerMessage): RawMessage | null {
switch(tMsg[0]) {
case 0: {
return {
tp: "timestamp",
timestamp: tMsg[1],
}
}
case 4: {
return {
tp: "set_page_location",
@ -410,7 +418,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
navigationStart: tMsg[3],
}
}
case 5: {
return {
tp: "set_viewport_size",
@ -418,7 +426,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
height: tMsg[2],
}
}
case 6: {
return {
tp: "set_viewport_scroll",
@ -426,14 +434,14 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
y: tMsg[2],
}
}
case 7: {
return {
tp: "create_document",
}
}
case 8: {
return {
tp: "create_element_node",
@ -444,7 +452,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
svg: tMsg[5],
}
}
case 9: {
return {
tp: "create_text_node",
@ -453,7 +461,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
index: tMsg[3],
}
}
case 10: {
return {
tp: "move_node",
@ -462,14 +470,14 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
index: tMsg[3],
}
}
case 11: {
return {
tp: "remove_node",
id: tMsg[1],
}
}
case 12: {
return {
tp: "set_node_attribute",
@ -478,7 +486,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
value: tMsg[3],
}
}
case 13: {
return {
tp: "remove_node_attribute",
@ -486,7 +494,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
name: tMsg[2],
}
}
case 14: {
return {
tp: "set_node_data",
@ -494,7 +502,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
data: tMsg[2],
}
}
case 16: {
return {
tp: "set_node_scroll",
@ -503,7 +511,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
y: tMsg[3],
}
}
case 18: {
return {
tp: "set_input_value",
@ -512,7 +520,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
mask: tMsg[3],
}
}
case 19: {
return {
tp: "set_input_checked",
@ -520,7 +528,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
checked: tMsg[2],
}
}
case 20: {
return {
tp: "mouse_move",
@ -528,7 +536,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
y: tMsg[2],
}
}
case 22: {
return {
tp: "console_log",
@ -536,7 +544,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
value: tMsg[2],
}
}
case 37: {
return {
tp: "css_insert_rule",
@ -545,7 +553,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
index: tMsg[3],
}
}
case 38: {
return {
tp: "css_delete_rule",
@ -553,7 +561,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
index: tMsg[2],
}
}
case 39: {
return {
tp: "fetch",
@ -566,7 +574,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
duration: tMsg[7],
}
}
case 40: {
return {
tp: "profiler",
@ -576,7 +584,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
result: tMsg[4],
}
}
case 41: {
return {
tp: "o_table",
@ -584,7 +592,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
value: tMsg[2],
}
}
case 44: {
return {
tp: "redux",
@ -593,7 +601,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
duration: tMsg[3],
}
}
case 45: {
return {
tp: "vuex",
@ -601,7 +609,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
state: tMsg[2],
}
}
case 46: {
return {
tp: "mob_x",
@ -609,7 +617,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
payload: tMsg[2],
}
}
case 47: {
return {
tp: "ng_rx",
@ -618,7 +626,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
duration: tMsg[3],
}
}
case 48: {
return {
tp: "graph_ql",
@ -628,7 +636,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
response: tMsg[4],
}
}
case 49: {
return {
tp: "performance_track",
@ -638,7 +646,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
usedJSHeapSize: tMsg[4],
}
}
case 54: {
return {
tp: "connection_information",
@ -646,14 +654,14 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
type: tMsg[2],
}
}
case 55: {
return {
tp: "set_page_visibility",
hidden: tMsg[1],
}
}
case 59: {
return {
tp: "long_task",
@ -666,7 +674,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
containerName: tMsg[7],
}
}
case 60: {
return {
tp: "set_node_attribute_url_based",
@ -676,7 +684,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
baseURL: tMsg[4],
}
}
case 61: {
return {
tp: "set_css_data_url_based",
@ -685,7 +693,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
baseURL: tMsg[3],
}
}
case 67: {
return {
tp: "css_insert_rule_url_based",
@ -695,7 +703,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
baseURL: tMsg[4],
}
}
case 69: {
return {
tp: "mouse_click",
@ -705,7 +713,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
selector: tMsg[4],
}
}
case 70: {
return {
tp: "create_i_frame_document",
@ -713,7 +721,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
id: tMsg[2],
}
}
case 71: {
return {
tp: "adopted_ss_replace_url_based",
@ -722,7 +730,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
baseURL: tMsg[3],
}
}
case 73: {
return {
tp: "adopted_ss_insert_rule_url_based",
@ -732,7 +740,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
baseURL: tMsg[4],
}
}
case 75: {
return {
tp: "adopted_ss_delete_rule",
@ -740,7 +748,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
index: tMsg[2],
}
}
case 76: {
return {
tp: "adopted_ss_add_owner",
@ -748,7 +756,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
id: tMsg[2],
}
}
case 77: {
return {
tp: "adopted_ss_remove_owner",
@ -756,7 +764,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
id: tMsg[2],
}
}
case 79: {
return {
tp: "zustand",
@ -764,7 +772,7 @@ export default function translate(tMsg: TrackerMessage): RawMessage | null {
state: tMsg[2],
}
}
default:
return null
}

View file

@ -233,7 +233,7 @@ message 36, 'CustomEvent', :tracker => false, :replayer => false do
string 'Name'
string 'Payload'
end
# depricated since 4.0.2 in favor of AdoptedSSInsertRule + AdoptedSSAddOwner
# depricated since 4.0.2 in favor of AdoptedSSInsertRule + AdoptedSSAddOwner
message 37, 'CSSInsertRule' do
uint 'ID'
string 'Rule'
@ -472,4 +472,11 @@ message 127, 'SessionSearch', :tracker => false, :replayer => false do
uint 'Partition'
end
# 80 -- 90 reserved
message 78, 'ExceptionWithMeta', :replayer => false do
string 'Name'
string 'Message'
string 'Payload'
string 'Meta'
end
# 80 -- 90 reserved

View file

@ -57,6 +57,7 @@ export declare const enum Type {
AdoptedSSDeleteRule = 75,
AdoptedSSAddOwner = 76,
AdoptedSSRemoveOwner = 77,
ExceptionWithMeta = 78,
Zustand = 79,
}
@ -102,7 +103,7 @@ export type SetViewportScroll = [
export type CreateDocument = [
/*type:*/ Type.CreateDocument,
]
export type CreateElementNode = [
@ -440,6 +441,14 @@ export type AdoptedSSRemoveOwner = [
/*id:*/ number,
]
export type ExceptionWithMeta = [
/*type:*/ Type.ExceptionWithMeta,
/*name:*/ string,
/*message:*/ string,
/*payload:*/ string,
/*meta:*/ string,
]
export type Zustand = [
/*type:*/ Type.Zustand,
/*mutation:*/ string,
@ -447,5 +456,5 @@ export type Zustand = [
]
type Message = BatchMetadata | PartitionedMessage | Timestamp | SetPageLocation | SetViewportSize | SetViewportScroll | CreateDocument | CreateElementNode | CreateTextNode | MoveNode | RemoveNode | SetNodeAttribute | RemoveNodeAttribute | SetNodeData | SetNodeScroll | SetInputTarget | SetInputValue | SetInputChecked | MouseMove | ConsoleLog | PageLoadTiming | PageRenderTiming | JSException | RawCustomEvent | UserID | UserAnonymousID | Metadata | CSSInsertRule | CSSDeleteRule | Fetch | Profiler | OTable | StateAction | Redux | Vuex | MobX | NgRx | GraphQL | PerformanceTrack | ResourceTiming | ConnectionInformation | SetPageVisibility | LongTask | SetNodeAttributeURLBased | SetCSSDataURLBased | TechnicalInfo | CustomIssue | CSSInsertRuleURLBased | MouseClick | CreateIFrameDocument | AdoptedSSReplaceURLBased | AdoptedSSInsertRuleURLBased | AdoptedSSDeleteRule | AdoptedSSAddOwner | AdoptedSSRemoveOwner | Zustand
type Message = BatchMetadata | PartitionedMessage | Timestamp | SetPageLocation | SetViewportSize | SetViewportScroll | CreateDocument | CreateElementNode | CreateTextNode | MoveNode | RemoveNode | SetNodeAttribute | RemoveNodeAttribute | SetNodeData | SetNodeScroll | SetInputTarget | SetInputValue | SetInputChecked | MouseMove | ConsoleLog | PageLoadTiming | PageRenderTiming | JSException | RawCustomEvent | UserID | UserAnonymousID | Metadata | CSSInsertRule | CSSDeleteRule | Fetch | Profiler | OTable | StateAction | Redux | Vuex | MobX | NgRx | GraphQL | PerformanceTrack | ResourceTiming | ConnectionInformation | SetPageVisibility | LongTask | SetNodeAttributeURLBased | SetCSSDataURLBased | TechnicalInfo | CustomIssue | CSSInsertRuleURLBased | MouseClick | CreateIFrameDocument | AdoptedSSReplaceURLBased | AdoptedSSInsertRuleURLBased | AdoptedSSDeleteRule | AdoptedSSAddOwner | AdoptedSSRemoveOwner | ExceptionWithMeta | Zustand
export default Message

View file

@ -78,11 +78,11 @@ export function SetViewportScroll(
}
export function CreateDocument(
): Messages.CreateDocument {
return [
Messages.Type.CreateDocument,
]
}
@ -708,6 +708,21 @@ export function AdoptedSSRemoveOwner(
]
}
export function ExceptionWithMeta(
name: string,
message: string,
payload: string,
meta: string,
): Messages.ExceptionWithMeta {
return [
Messages.Type.ExceptionWithMeta,
name,
message,
payload,
meta,
]
}
export function Zustand(
mutation: string,
state: string,
@ -718,4 +733,3 @@ export function Zustand(
state,
]
}

View file

@ -9,231 +9,235 @@ import PrimitiveEncoder from './PrimitiveEncoder.js'
export default class MessageEncoder extends PrimitiveEncoder {
encode(msg: Message): boolean {
switch(msg[0]) {
case Messages.Type.BatchMetadata:
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3]) && this.int(msg[4]) && this.string(msg[5])
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3]) && this.int(msg[4]) && this.string(msg[5])
break
case Messages.Type.PartitionedMessage:
return this.uint(msg[1]) && this.uint(msg[2])
return this.uint(msg[1]) && this.uint(msg[2])
break
case Messages.Type.Timestamp:
return this.uint(msg[1])
return this.uint(msg[1])
break
case Messages.Type.SetPageLocation:
return this.string(msg[1]) && this.string(msg[2]) && this.uint(msg[3])
return this.string(msg[1]) && this.string(msg[2]) && this.uint(msg[3])
break
case Messages.Type.SetViewportSize:
return this.uint(msg[1]) && this.uint(msg[2])
return this.uint(msg[1]) && this.uint(msg[2])
break
case Messages.Type.SetViewportScroll:
return this.int(msg[1]) && this.int(msg[2])
return this.int(msg[1]) && this.int(msg[2])
break
case Messages.Type.CreateDocument:
return true
return true
break
case Messages.Type.CreateElementNode:
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3]) && this.string(msg[4]) && this.boolean(msg[5])
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3]) && this.string(msg[4]) && this.boolean(msg[5])
break
case Messages.Type.CreateTextNode:
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3])
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3])
break
case Messages.Type.MoveNode:
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3])
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3])
break
case Messages.Type.RemoveNode:
return this.uint(msg[1])
return this.uint(msg[1])
break
case Messages.Type.SetNodeAttribute:
return this.uint(msg[1]) && this.string(msg[2]) && this.string(msg[3])
return this.uint(msg[1]) && this.string(msg[2]) && this.string(msg[3])
break
case Messages.Type.RemoveNodeAttribute:
return this.uint(msg[1]) && this.string(msg[2])
return this.uint(msg[1]) && this.string(msg[2])
break
case Messages.Type.SetNodeData:
return this.uint(msg[1]) && this.string(msg[2])
return this.uint(msg[1]) && this.string(msg[2])
break
case Messages.Type.SetNodeScroll:
return this.uint(msg[1]) && this.int(msg[2]) && this.int(msg[3])
return this.uint(msg[1]) && this.int(msg[2]) && this.int(msg[3])
break
case Messages.Type.SetInputTarget:
return this.uint(msg[1]) && this.string(msg[2])
return this.uint(msg[1]) && this.string(msg[2])
break
case Messages.Type.SetInputValue:
return this.uint(msg[1]) && this.string(msg[2]) && this.int(msg[3])
return this.uint(msg[1]) && this.string(msg[2]) && this.int(msg[3])
break
case Messages.Type.SetInputChecked:
return this.uint(msg[1]) && this.boolean(msg[2])
return this.uint(msg[1]) && this.boolean(msg[2])
break
case Messages.Type.MouseMove:
return this.uint(msg[1]) && this.uint(msg[2])
return this.uint(msg[1]) && this.uint(msg[2])
break
case Messages.Type.ConsoleLog:
return this.string(msg[1]) && this.string(msg[2])
return this.string(msg[1]) && this.string(msg[2])
break
case Messages.Type.PageLoadTiming:
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3]) && this.uint(msg[4]) && this.uint(msg[5]) && this.uint(msg[6]) && this.uint(msg[7]) && this.uint(msg[8]) && this.uint(msg[9])
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3]) && this.uint(msg[4]) && this.uint(msg[5]) && this.uint(msg[6]) && this.uint(msg[7]) && this.uint(msg[8]) && this.uint(msg[9])
break
case Messages.Type.PageRenderTiming:
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3])
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3])
break
case Messages.Type.JSException:
return this.string(msg[1]) && this.string(msg[2]) && this.string(msg[3])
return this.string(msg[1]) && this.string(msg[2]) && this.string(msg[3])
break
case Messages.Type.RawCustomEvent:
return this.string(msg[1]) && this.string(msg[2])
return this.string(msg[1]) && this.string(msg[2])
break
case Messages.Type.UserID:
return this.string(msg[1])
return this.string(msg[1])
break
case Messages.Type.UserAnonymousID:
return this.string(msg[1])
return this.string(msg[1])
break
case Messages.Type.Metadata:
return this.string(msg[1]) && this.string(msg[2])
return this.string(msg[1]) && this.string(msg[2])
break
case Messages.Type.CSSInsertRule:
return this.uint(msg[1]) && this.string(msg[2]) && this.uint(msg[3])
return this.uint(msg[1]) && this.string(msg[2]) && this.uint(msg[3])
break
case Messages.Type.CSSDeleteRule:
return this.uint(msg[1]) && this.uint(msg[2])
return this.uint(msg[1]) && this.uint(msg[2])
break
case Messages.Type.Fetch:
return this.string(msg[1]) && this.string(msg[2]) && this.string(msg[3]) && this.string(msg[4]) && this.uint(msg[5]) && this.uint(msg[6]) && this.uint(msg[7])
return this.string(msg[1]) && this.string(msg[2]) && this.string(msg[3]) && this.string(msg[4]) && this.uint(msg[5]) && this.uint(msg[6]) && this.uint(msg[7])
break
case Messages.Type.Profiler:
return this.string(msg[1]) && this.uint(msg[2]) && this.string(msg[3]) && this.string(msg[4])
return this.string(msg[1]) && this.uint(msg[2]) && this.string(msg[3]) && this.string(msg[4])
break
case Messages.Type.OTable:
return this.string(msg[1]) && this.string(msg[2])
return this.string(msg[1]) && this.string(msg[2])
break
case Messages.Type.StateAction:
return this.string(msg[1])
return this.string(msg[1])
break
case Messages.Type.Redux:
return this.string(msg[1]) && this.string(msg[2]) && this.uint(msg[3])
return this.string(msg[1]) && this.string(msg[2]) && this.uint(msg[3])
break
case Messages.Type.Vuex:
return this.string(msg[1]) && this.string(msg[2])
return this.string(msg[1]) && this.string(msg[2])
break
case Messages.Type.MobX:
return this.string(msg[1]) && this.string(msg[2])
return this.string(msg[1]) && this.string(msg[2])
break
case Messages.Type.NgRx:
return this.string(msg[1]) && this.string(msg[2]) && this.uint(msg[3])
return this.string(msg[1]) && this.string(msg[2]) && this.uint(msg[3])
break
case Messages.Type.GraphQL:
return this.string(msg[1]) && this.string(msg[2]) && this.string(msg[3]) && this.string(msg[4])
return this.string(msg[1]) && this.string(msg[2]) && this.string(msg[3]) && this.string(msg[4])
break
case Messages.Type.PerformanceTrack:
return this.int(msg[1]) && this.int(msg[2]) && this.uint(msg[3]) && this.uint(msg[4])
return this.int(msg[1]) && this.int(msg[2]) && this.uint(msg[3]) && this.uint(msg[4])
break
case Messages.Type.ResourceTiming:
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3]) && this.uint(msg[4]) && this.uint(msg[5]) && this.uint(msg[6]) && this.string(msg[7]) && this.string(msg[8])
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3]) && this.uint(msg[4]) && this.uint(msg[5]) && this.uint(msg[6]) && this.string(msg[7]) && this.string(msg[8])
break
case Messages.Type.ConnectionInformation:
return this.uint(msg[1]) && this.string(msg[2])
return this.uint(msg[1]) && this.string(msg[2])
break
case Messages.Type.SetPageVisibility:
return this.boolean(msg[1])
return this.boolean(msg[1])
break
case Messages.Type.LongTask:
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3]) && this.uint(msg[4]) && this.string(msg[5]) && this.string(msg[6]) && this.string(msg[7])
return this.uint(msg[1]) && this.uint(msg[2]) && this.uint(msg[3]) && this.uint(msg[4]) && this.string(msg[5]) && this.string(msg[6]) && this.string(msg[7])
break
case Messages.Type.SetNodeAttributeURLBased:
return this.uint(msg[1]) && this.string(msg[2]) && this.string(msg[3]) && this.string(msg[4])
return this.uint(msg[1]) && this.string(msg[2]) && this.string(msg[3]) && this.string(msg[4])
break
case Messages.Type.SetCSSDataURLBased:
return this.uint(msg[1]) && this.string(msg[2]) && this.string(msg[3])
return this.uint(msg[1]) && this.string(msg[2]) && this.string(msg[3])
break
case Messages.Type.TechnicalInfo:
return this.string(msg[1]) && this.string(msg[2])
return this.string(msg[1]) && this.string(msg[2])
break
case Messages.Type.CustomIssue:
return this.string(msg[1]) && this.string(msg[2])
return this.string(msg[1]) && this.string(msg[2])
break
case Messages.Type.CSSInsertRuleURLBased:
return this.uint(msg[1]) && this.string(msg[2]) && this.uint(msg[3]) && this.string(msg[4])
return this.uint(msg[1]) && this.string(msg[2]) && this.uint(msg[3]) && this.string(msg[4])
break
case Messages.Type.MouseClick:
return this.uint(msg[1]) && this.uint(msg[2]) && this.string(msg[3]) && this.string(msg[4])
return this.uint(msg[1]) && this.uint(msg[2]) && this.string(msg[3]) && this.string(msg[4])
break
case Messages.Type.CreateIFrameDocument:
return this.uint(msg[1]) && this.uint(msg[2])
return this.uint(msg[1]) && this.uint(msg[2])
break
case Messages.Type.AdoptedSSReplaceURLBased:
return this.uint(msg[1]) && this.string(msg[2]) && this.string(msg[3])
return this.uint(msg[1]) && this.string(msg[2]) && this.string(msg[3])
break
case Messages.Type.AdoptedSSInsertRuleURLBased:
return this.uint(msg[1]) && this.string(msg[2]) && this.uint(msg[3]) && this.string(msg[4])
return this.uint(msg[1]) && this.string(msg[2]) && this.uint(msg[3]) && this.string(msg[4])
break
case Messages.Type.AdoptedSSDeleteRule:
return this.uint(msg[1]) && this.uint(msg[2])
return this.uint(msg[1]) && this.uint(msg[2])
break
case Messages.Type.AdoptedSSAddOwner:
return this.uint(msg[1]) && this.uint(msg[2])
return this.uint(msg[1]) && this.uint(msg[2])
break
case Messages.Type.AdoptedSSRemoveOwner:
return this.uint(msg[1]) && this.uint(msg[2])
return this.uint(msg[1]) && this.uint(msg[2])
break
case Messages.Type.ExceptionWithMeta:
return this.string(msg[1]) && this.string(msg[2]) && this.string(msg[3]) && this.string(msg[4])
break
case Messages.Type.Zustand:
return this.string(msg[1]) && this.string(msg[2])
return this.string(msg[1]) && this.string(msg[2])
break
}
}