1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
mod data;
mod document;
mod jsonapi;
mod link;
mod links;
mod meta_or_attrs;
mod relationship;
mod relationships;
mod resource;
pub use data::DataBuilder;
pub use document::DocumentBuilder;
pub use jsonapi::JsonApiBuilder;
pub use link::LinkBuilder;
pub use links::LinksBuilder;
pub use meta_or_attrs::MetaOrAttrsBuilder;
pub use relationship::RelationshipBuilder;
pub use relationships::RelationshipsBuilder;
pub use resource::ResourceBuilder;
use super::entities::*;
use std::collections::HashMap;
use std::fmt::Debug;
use serde_json::Value;
pub trait Builder: Clone + Debug + Eq + PartialEq + Sized {
type Entity: Entity;
fn finish(self) -> Result<Self::Entity, ()>;
fn unwrap(self) -> Self::Entity {
self.finish().unwrap()
}
}