spacetimedsl_derive_input/
lib.rs1pub mod api {
2 pub mod rust;
3
4 pub mod db;
5
6 pub mod dsl;
7
8 #[derive(Clone)]
12 pub struct Table {
13 pub rust_struct: rust::table::RustStruct,
14 pub spacetimedb_table: db::table::SpacetimeDBTable,
15 pub spacetimedsl_table: dsl::table::SpacetimeDSLTable,
16 pub columns: Vec<Column>,
17 pub primary_key_column: Column,
18 pub spacetimedsl_methods: dsl::table::SpacetimeDSLTableMethods,
19 }
20
21 impl Table {
22 pub fn try_parse(
27 args: proc_macro2::TokenStream,
28 input: &syn::DeriveInput,
29 ) -> syn::Result<Table> {
30 crate::internal::try_parse(args, input)
31 }
32 }
33
34 #[derive(Clone)]
38 pub struct Column {
39 pub rust_field: rust::column::RustField,
40 pub spacetimedb_column: db::column::SpacetimeDBColumn,
41 pub spacetimedsl_column: dsl::column::SpacetimeDSLColumn,
42 pub spacetimedsl_methods: Option<dsl::column::SpacetimeDSLColumnMethods>,
43 }
44}
45
46#[doc(hidden)]
47mod internal;