125 lines
3.8 KiB
TypeScript
125 lines
3.8 KiB
TypeScript
import { EventType } from '../../types/event.type';
|
|
|
|
import { FileEventJson, decodeFileEventJson } from './file.event-json';
|
|
import {
|
|
MassTextEventJson,
|
|
decodeMassTextEventJson
|
|
} from './mass-text.event-json';
|
|
import { StickerEventJson, decodeStickerEventJson } from './sticker.event-json';
|
|
import { PlanEventJson, decodePlanEventJson } from './plan.event-json';
|
|
import {
|
|
VideoConferenceEventJson,
|
|
decodeVideoConferenceEventJson
|
|
} from './video-conference.event-json';
|
|
import {
|
|
RenameRoomEventJson,
|
|
decodeRenameRoomEventJson
|
|
} from './rename-room.event-json';
|
|
import {
|
|
TranslationEventJson,
|
|
decodeTranslationEventJson
|
|
} from './translation.event-json';
|
|
import {
|
|
MassTranslationEventJson,
|
|
decodeMassTranslationEventJson
|
|
} from './mass-translation.event-json';
|
|
import {
|
|
GuideForRoomTimerChangedEventJson,
|
|
decodeGuideForRoomTimerChangedEventJson
|
|
} from './guide-for-room-timer-changed.event-json';
|
|
import { JoinEventJson, decodeJoinEventJson } from './join.event-json';
|
|
import {
|
|
CharacterEventJson,
|
|
decodeCharacterEventJson
|
|
} from './character.event-json';
|
|
import { ExitEventJson, decodeExitEventJson } from './exit.event-json';
|
|
import { LinkEventJson, decodeLinkEventJson } from './link.event-json';
|
|
import {
|
|
RecalledMessageEventJson,
|
|
decodeRecalledMessageEventJson
|
|
} from './recalled-message.event-json';
|
|
import {
|
|
VideoStreammingEventJson,
|
|
decodeVideoStreammingEventJson
|
|
} from './video-streamming.event-json';
|
|
import {
|
|
NotificationForTimerRoomEventJson,
|
|
decodeNotificationForTimerRoomEventJson
|
|
} from './notification-for-timer-room.event-json';
|
|
|
|
export type EventJson =
|
|
| string
|
|
| string[]
|
|
| JoinEventJson
|
|
| CharacterEventJson
|
|
| ExitEventJson
|
|
| FileEventJson
|
|
| LinkEventJson
|
|
| MassTextEventJson
|
|
| RecalledMessageEventJson
|
|
| StickerEventJson
|
|
| PlanEventJson
|
|
| VideoConferenceEventJson
|
|
| RenameRoomEventJson
|
|
| NotificationForTimerRoomEventJson
|
|
| TranslationEventJson
|
|
| MassTranslationEventJson
|
|
| VideoStreammingEventJson
|
|
| GuideForRoomTimerChangedEventJson;
|
|
|
|
export const decodeEventJson = (
|
|
eventType: EventType,
|
|
message: string
|
|
): EventJson => {
|
|
switch (eventType) {
|
|
case EventType.Join:
|
|
return decodeJoinEventJson(message);
|
|
case EventType.Character:
|
|
return decodeCharacterEventJson(message);
|
|
case EventType.File:
|
|
return decodeFileEventJson(message);
|
|
case EventType.Sticker:
|
|
return decodeStickerEventJson(message);
|
|
case EventType.MassText:
|
|
return decodeMassTextEventJson(message);
|
|
case EventType.Exit:
|
|
return decodeExitEventJson(message);
|
|
case EventType.Plan:
|
|
return decodePlanEventJson(message);
|
|
case EventType.VideoConference:
|
|
return decodeVideoConferenceEventJson(message);
|
|
case EventType.Link:
|
|
return decodeLinkEventJson(message);
|
|
case EventType.RenameRoom:
|
|
return decodeRenameRoomEventJson(message);
|
|
case EventType.Translation:
|
|
return decodeTranslationEventJson(message);
|
|
case EventType.MassTranslation:
|
|
return decodeMassTranslationEventJson(message);
|
|
case EventType.RecalledMessage:
|
|
return decodeRecalledMessageEventJson(message);
|
|
case EventType.GuideForRoomTimerChanged:
|
|
return decodeGuideForRoomTimerChangedEventJson(message);
|
|
case EventType.NotificationForiOSCapture:
|
|
return message;
|
|
case EventType.NotificationForTimerRoom:
|
|
return decodeNotificationForTimerRoomEventJson(message);
|
|
case EventType.Before2MonthsAgo:
|
|
return message;
|
|
case EventType.ForcedExit:
|
|
return message;
|
|
case EventType.ChatbotStart:
|
|
return message;
|
|
case EventType.ChatbotEnd:
|
|
return message;
|
|
case EventType.ChatbotSend:
|
|
return message;
|
|
case EventType.ChatbotSendMass:
|
|
return message;
|
|
case EventType.VideoStreamming:
|
|
return decodeVideoStreammingEventJson(message);
|
|
default:
|
|
return message;
|
|
}
|
|
};
|