flowscope_core/
lib.rs

1pub mod analyzer;
2pub mod completion;
3pub mod error;
4pub mod extractors;
5pub mod generated;
6pub mod parser;
7#[cfg(feature = "templating")]
8pub mod templater;
9pub mod types;
10
11// Re-export main types and functions
12pub use analyzer::{analyze, split_statements};
13pub use completion::{completion_context, completion_items};
14pub use error::ParseError;
15pub use extractors::extract_tables;
16pub use parser::{parse_sql, parse_sql_with_dialect};
17
18// Re-export types explicitly
19pub use types::{
20    // Issue codes
21    issue_codes,
22    // Request types
23    AggregationInfo,
24    AnalysisOptions,
25    AnalyzeRequest,
26    // Response types
27    AnalyzeResult,
28    CanonicalName,
29    CaseSensitivity,
30    ColumnSchema,
31    CompletionClause,
32    CompletionContext,
33    CompletionItem,
34    CompletionItemCategory,
35    CompletionItemKind,
36    CompletionItemsResult,
37    CompletionRequest,
38    ConstraintType,
39    Dialect,
40    Edge,
41    EdgeType,
42    FileSource,
43    FilterClauseType,
44    FilterPredicate,
45    ForeignKeyRef,
46    GlobalEdge,
47    GlobalLineage,
48    GlobalNode,
49    Issue,
50    IssueCount,
51    JoinType,
52    // Legacy
53    LineageResult,
54    Node,
55    NodeType,
56    ResolutionSource,
57    ResolvedColumnSchema,
58    ResolvedSchemaMetadata,
59    ResolvedSchemaTable,
60    SchemaMetadata,
61    SchemaNamespaceHint,
62    SchemaOrigin,
63    SchemaTable,
64    Severity,
65    Span,
66    StatementLineage,
67    StatementRef,
68    StatementSplitRequest,
69    StatementSplitResult,
70    Summary,
71    TableConstraintInfo,
72};
73
74// Re-export template types when the templating feature is enabled
75#[cfg(feature = "templating")]
76pub use templater::{TemplateConfig, TemplateError, TemplateMode};
77
78// Test utilities and helper exposure (must be at end of file)
79#[cfg(test)]
80pub mod test_utils;
81
82#[cfg(test)]
83pub mod analyzer_helpers {
84    pub use crate::analyzer::helpers;
85}