Add collection conversion functions
This commit is contained in:
parent
3a6d6140a3
commit
ac26770319
@ -4,6 +4,7 @@
|
|||||||
use serde::{de::Error as _, Deserialize, Deserializer};
|
use serde::{de::Error as _, Deserialize, Deserializer};
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
|
|
||||||
|
use super::only;
|
||||||
use crate::{
|
use crate::{
|
||||||
call::{
|
call::{
|
||||||
answer::raw::AnswerEvent, candidates::raw::CandidatesEvent, hangup::raw::HangupEvent,
|
answer::raw::AnswerEvent, candidates::raw::CandidatesEvent, hangup::raw::HangupEvent,
|
||||||
@ -544,3 +545,118 @@ impl<'de> Deserialize<'de> for StateEvent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl From<only::Event> for Event {
|
||||||
|
fn from(event: only::Event) -> Self {
|
||||||
|
use only::Event::*;
|
||||||
|
|
||||||
|
match event {
|
||||||
|
Direct(ev) => Event::Direct(ev),
|
||||||
|
Dummy(ev) => Event::Dummy(ev),
|
||||||
|
ForwardedRoomKey(ev) => Event::ForwardedRoomKey(ev),
|
||||||
|
FullyRead(ev) => Event::FullyRead(ev),
|
||||||
|
KeyVerificationAccept(ev) => Event::KeyVerificationAccept(ev),
|
||||||
|
KeyVerificationCancel(ev) => Event::KeyVerificationCancel(ev),
|
||||||
|
KeyVerificationKey(ev) => Event::KeyVerificationKey(ev),
|
||||||
|
KeyVerificationMac(ev) => Event::KeyVerificationMac(ev),
|
||||||
|
KeyVerificationRequest(ev) => Event::KeyVerificationRequest(ev),
|
||||||
|
KeyVerificationStart(ev) => Event::KeyVerificationStart(ev),
|
||||||
|
IgnoredUserList(ev) => Event::IgnoredUserList(ev),
|
||||||
|
Presence(ev) => Event::Presence(ev),
|
||||||
|
PushRules(ev) => Event::PushRules(ev),
|
||||||
|
RoomKey(ev) => Event::RoomKey(ev),
|
||||||
|
RoomKeyRequest(ev) => Event::RoomKeyRequest(ev),
|
||||||
|
Receipt(ev) => Event::Receipt(ev),
|
||||||
|
Tag(ev) => Event::Tag(ev),
|
||||||
|
Typing(ev) => Event::Typing(ev),
|
||||||
|
Custom(ev) => Event::Custom(ev),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<RoomEvent> for Event {
|
||||||
|
fn from(room_event: RoomEvent) -> Self {
|
||||||
|
use RoomEvent::*;
|
||||||
|
|
||||||
|
match room_event {
|
||||||
|
CallAnswer(ev) => Event::CallAnswer(ev),
|
||||||
|
CallCandidates(ev) => Event::CallCandidates(ev),
|
||||||
|
CallHangup(ev) => Event::CallHangup(ev),
|
||||||
|
CallInvite(ev) => Event::CallInvite(ev),
|
||||||
|
RoomAliases(ev) => Event::RoomAliases(ev),
|
||||||
|
RoomAvatar(ev) => Event::RoomAvatar(ev),
|
||||||
|
RoomCanonicalAlias(ev) => Event::RoomCanonicalAlias(ev),
|
||||||
|
RoomCreate(ev) => Event::RoomCreate(ev),
|
||||||
|
RoomEncrypted(ev) => Event::RoomEncrypted(ev),
|
||||||
|
RoomEncryption(ev) => Event::RoomEncryption(ev),
|
||||||
|
RoomGuestAccess(ev) => Event::RoomGuestAccess(ev),
|
||||||
|
RoomHistoryVisibility(ev) => Event::RoomHistoryVisibility(ev),
|
||||||
|
RoomJoinRules(ev) => Event::RoomJoinRules(ev),
|
||||||
|
RoomMember(ev) => Event::RoomMember(ev),
|
||||||
|
RoomMessage(ev) => Event::RoomMessage(ev),
|
||||||
|
RoomMessageFeedback(ev) => Event::RoomMessageFeedback(ev),
|
||||||
|
RoomName(ev) => Event::RoomName(ev),
|
||||||
|
RoomPinnedEvents(ev) => Event::RoomPinnedEvents(ev),
|
||||||
|
RoomPowerLevels(ev) => Event::RoomPowerLevels(ev),
|
||||||
|
RoomRedaction(ev) => Event::RoomRedaction(ev),
|
||||||
|
RoomServerAcl(ev) => Event::RoomServerAcl(ev),
|
||||||
|
RoomThirdPartyInvite(ev) => Event::RoomThirdPartyInvite(ev),
|
||||||
|
RoomTombstone(ev) => Event::RoomTombstone(ev),
|
||||||
|
RoomTopic(ev) => Event::RoomTopic(ev),
|
||||||
|
Sticker(ev) => Event::Sticker(ev),
|
||||||
|
CustomRoom(ev) => Event::CustomRoom(ev),
|
||||||
|
CustomState(ev) => Event::CustomState(ev),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<only::RoomEvent> for RoomEvent {
|
||||||
|
fn from(room_event: only::RoomEvent) -> Self {
|
||||||
|
use only::RoomEvent::*;
|
||||||
|
|
||||||
|
match room_event {
|
||||||
|
CallAnswer(ev) => RoomEvent::CallAnswer(ev),
|
||||||
|
CallCandidates(ev) => RoomEvent::CallCandidates(ev),
|
||||||
|
CallHangup(ev) => RoomEvent::CallHangup(ev),
|
||||||
|
CallInvite(ev) => RoomEvent::CallInvite(ev),
|
||||||
|
RoomEncrypted(ev) => RoomEvent::RoomEncrypted(ev),
|
||||||
|
RoomMessage(ev) => RoomEvent::RoomMessage(ev),
|
||||||
|
RoomMessageFeedback(ev) => RoomEvent::RoomMessageFeedback(ev),
|
||||||
|
RoomRedaction(ev) => RoomEvent::RoomRedaction(ev),
|
||||||
|
Sticker(ev) => RoomEvent::Sticker(ev),
|
||||||
|
CustomRoom(ev) => RoomEvent::CustomRoom(ev),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<StateEvent> for RoomEvent {
|
||||||
|
fn from(state_event: StateEvent) -> Self {
|
||||||
|
use StateEvent::*;
|
||||||
|
|
||||||
|
match state_event {
|
||||||
|
RoomAliases(ev) => RoomEvent::RoomAliases(ev),
|
||||||
|
RoomAvatar(ev) => RoomEvent::RoomAvatar(ev),
|
||||||
|
RoomCanonicalAlias(ev) => RoomEvent::RoomCanonicalAlias(ev),
|
||||||
|
RoomCreate(ev) => RoomEvent::RoomCreate(ev),
|
||||||
|
RoomEncryption(ev) => RoomEvent::RoomEncryption(ev),
|
||||||
|
RoomGuestAccess(ev) => RoomEvent::RoomGuestAccess(ev),
|
||||||
|
RoomHistoryVisibility(ev) => RoomEvent::RoomHistoryVisibility(ev),
|
||||||
|
RoomJoinRules(ev) => RoomEvent::RoomJoinRules(ev),
|
||||||
|
RoomMember(ev) => RoomEvent::RoomMember(ev),
|
||||||
|
RoomName(ev) => RoomEvent::RoomName(ev),
|
||||||
|
RoomPinnedEvents(ev) => RoomEvent::RoomPinnedEvents(ev),
|
||||||
|
RoomPowerLevels(ev) => RoomEvent::RoomPowerLevels(ev),
|
||||||
|
RoomServerAcl(ev) => RoomEvent::RoomServerAcl(ev),
|
||||||
|
RoomThirdPartyInvite(ev) => RoomEvent::RoomThirdPartyInvite(ev),
|
||||||
|
RoomTombstone(ev) => RoomEvent::RoomTombstone(ev),
|
||||||
|
RoomTopic(ev) => RoomEvent::RoomTopic(ev),
|
||||||
|
CustomState(ev) => RoomEvent::CustomState(ev),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<StateEvent> for Event {
|
||||||
|
fn from(state_event: StateEvent) -> Self {
|
||||||
|
Event::from(RoomEvent::from(state_event))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user