You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.1 KiB
38 lines
1.1 KiB
import {CLIENT_ACT, CLIENT_HELLO, CLIENT_REFRESH, ClientCommand, SentAction} from "../actions/ClientAction";
|
|
import {ClientActPB_IDed, ClientCommandPB} from "../proto/client";
|
|
import {sendableActionToPB} from "./SyncableActionToPb";
|
|
|
|
export function sentActionToPb(message: SentAction): ClientActPB_IDed {
|
|
return {
|
|
id: message.id,
|
|
action: sendableActionToPB(message.action),
|
|
}
|
|
}
|
|
|
|
export function clientToPb(message: ClientCommand): ClientCommandPB {
|
|
switch (message.type) {
|
|
case CLIENT_HELLO:
|
|
return {
|
|
hello: {
|
|
version: message.version,
|
|
},
|
|
refresh: undefined,
|
|
act: undefined,
|
|
}
|
|
case CLIENT_REFRESH:
|
|
return {
|
|
refresh: {
|
|
},
|
|
hello: undefined,
|
|
act: undefined,
|
|
}
|
|
case CLIENT_ACT:
|
|
return {
|
|
act: {
|
|
actions: message.actions.map(sentActionToPb)
|
|
},
|
|
hello: undefined,
|
|
refresh: undefined,
|
|
}
|
|
}
|
|
} |