pub struct WebChatTranslator;Implementations§
Trait Implementations§
Source§impl Default for WebChatTranslator
impl Default for WebChatTranslator
Source§impl Translator for WebChatTranslator
Translator that turns messages into WebChat payloads.
impl Translator for WebChatTranslator
Translator that turns messages into WebChat payloads.
use gsm_translator::{WebChatTranslator, Translator};
use gsm_core::{make_tenant_ctx, OutMessage, OutKind, Platform};
use serde_json::json;
let mut message = OutMessage {
ctx: make_tenant_ctx("acme".into(), None, None),
tenant: "acme".into(),
platform: Platform::WebChat,
chat_id: "thread-42".into(),
thread_id: None,
kind: OutKind::Text,
text: Some("Hello WebChat".into()),
message_card: None,
adaptive_card: None,
meta: Default::default(),
};
let translator = WebChatTranslator::new();
let payloads = translator.to_platform(&message).unwrap();
assert_eq!(payloads, vec![json!({
"kind": "text",
"text": "Hello WebChat"
})]);fn to_platform(&self, out: &OutMessage) -> Result<Vec<Value>>
Auto Trait Implementations§
impl Freeze for WebChatTranslator
impl RefUnwindSafe for WebChatTranslator
impl Send for WebChatTranslator
impl Sync for WebChatTranslator
impl Unpin for WebChatTranslator
impl UnwindSafe for WebChatTranslator
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request