feat: generate with serializers
Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
@@ -1,14 +1,16 @@
|
||||
use crunch::traits::{Deserializer, Event, EventInfo, Serializer};
|
||||
mod crunch;
|
||||
|
||||
use ::crunch::traits::{Deserializer, Event, EventInfo, Serializer};
|
||||
|
||||
struct MyEvent {}
|
||||
|
||||
impl Serializer for MyEvent {
|
||||
fn serialize(&self) -> Result<Vec<u8>, crunch::errors::SerializeError> {
|
||||
fn serialize(&self) -> Result<Vec<u8>, ::crunch::errors::SerializeError> {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
impl Deserializer for MyEvent {
|
||||
fn deserialize(_raw: Vec<u8>) -> Result<Self, crunch::errors::DeserializeError>
|
||||
fn deserialize(_raw: Vec<u8>) -> Result<Self, ::crunch::errors::DeserializeError>
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
@@ -17,7 +19,7 @@ impl Deserializer for MyEvent {
|
||||
}
|
||||
|
||||
impl Event for MyEvent {
|
||||
fn event_info() -> crunch::traits::EventInfo {
|
||||
fn event_info() -> ::crunch::traits::EventInfo {
|
||||
EventInfo {
|
||||
domain: "my-domain",
|
||||
entity_type: "my-entity-type",
|
||||
@@ -28,7 +30,14 @@ impl Event for MyEvent {
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> anyhow::Result<()> {
|
||||
let crunch = crunch::builder::Builder::default().build()?;
|
||||
crunch::basic::my_event::MyEvent {
|
||||
name: "some-name".into(),
|
||||
include: Some(crunch::basic::includes::my_include::MyInclude {
|
||||
name: "some-name".into(),
|
||||
}),
|
||||
};
|
||||
|
||||
let crunch = ::crunch::builder::Builder::default().build()?;
|
||||
|
||||
crunch
|
||||
.subscribe(|_item: MyEvent| async move { Ok(()) })
|
||||
|
Reference in New Issue
Block a user