pub fn from_schema<S: Schema + ?Sized>() -> Result<Self, Error> {
        let mut schematic = Self {
            name: S::schema_name()?,
            contained_collections: HashSet::new(),
            collections_by_type_id: HashMap::new(),
            collection_encryption_keys: HashMap::new(),
            views: HashMap::new(),
            views_by_name: HashMap::new(),
            views_by_collection: HashMap::new(),
            unique_views_by_collection: HashMap::new(),
        };
        S::define_collections(&mut schematic)?;
        Ok(schematic)
    }
/// Returns an initialized version from `S`.
Returns an initialized version from `S`.
Returns an initialized version from ` S ` .
pub fn from_schema<S: Schema + ?Sized>() -> Result<Self, Error> {
        let mut schematic = Self {
            name: S::schema_name()?,
            contained_collections: HashSet::new(),
            collections_by_type_id: HashMap::new(),
            collection_encryption_keys: HashMap::new(),
            views: HashMap::new(),
            views_by_name: HashMap::new(),
            views_by_collection: HashMap::new(),
            unique_views_by_collection: HashMap::new(),
        };
        S::define_collections(&mut schematic)?;
        Ok(schematic)
    }
pub fn from_schema < S : Schema + ? Sized > ( ) -> Result < Self , Error > { let mut schematic = Self { name : S :: schema_name ( ) ? , contained_collections : HashSet :: new ( ) , collections_by_type_id : HashMap :: new ( ) , collection_encryption_keys : HashMap :: new ( ) , views : HashMap :: new ( ) , views_by_name : HashMap :: new ( ) , views_by_collection : HashMap :: new ( ) , unique_views_by_collection : HashMap :: new ( ) , } ; S :: define_collections ( & mut schematic ) ? ; Ok ( schematic ) }
Returns an initialized version from `S`.
Returns an initialized version from ` S ` .