openreplay/mobs/templates/tracker~tracker~src~webworker~MessageEncoder.gen.ts.erb
2023-04-11 16:19:35 +02:00

29 lines
1 KiB
Text

// Auto-generated, do not edit
/* eslint-disable */
import * as Messages from '../common/messages.gen.js'
import Message from '../common/messages.gen.js'
import PrimitiveEncoder from './PrimitiveEncoder.js'
export default class MessageEncoder extends PrimitiveEncoder {
encode(msg: Message, isCompressed: boolean): boolean {
if (isCompressed) {
switch(msg[0]) {
<% $messages.select { |msg| msg.tracker }.each do |msg| %>
case Messages.Type.<%= msg.name %>:
return <% if msg.attributes.size == 0 %> true <% else %> <%= msg.attributes.map.with_index { |attr, index| "this.encodeCompressed(msg[#{index+1}])" }.join " && " %><% end %>
break
<% end %>
}
}
switch(msg[0]) {
<% $messages.select { |msg| msg.tracker }.each do |msg| %>
case Messages.Type.<%= msg.name %>:
return <% if msg.attributes.size == 0 %> true <% else %> <%= msg.attributes.map.with_index { |attr, index| "this.#{attr.type}(msg[#{index+1}])" }.join " && " %><% end %>
break
<% end %>
}
}
}