1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mod helpers;
mod parse_arguments;
mod parse_attribute;
mod parse_comments;
mod parse_composite_type;
mod parse_enum;
mod parse_expression;
mod parse_field;
mod parse_model;
mod parse_schema;
mod parse_source_and_generator;
mod parse_types;
mod parse_view;

pub use parse_schema::parse_schema;

// The derive is placed here because it generates the `Rule` enum which is used in all parsing functions.
// It is more convenient if this enum is directly available here.
#[derive(pest_derive::Parser)]
#[grammar = "parser/datamodel.pest"]
pub(crate) struct PrismaDatamodelParser;