1mod commands;
2mod dependencies;
3mod namespace;
4mod pipeline;
5mod spec;
6mod values;
7
8pub mod prelude {
10 pub use crate::commands::aggregate::AggregateCommand;
12 pub use crate::commands::condition::ConditionCommand;
13 pub use crate::commands::file::FileCommand;
14 pub use crate::commands::sql::SqlCommand;
15 pub use crate::commands::template::TemplateCommand;
16
17 pub use crate::pipeline::Pipeline;
19 pub use crate::pipeline::results::{ResultSettings, ResultStore};
20
21 pub use crate::namespace::{Namespace, NamespaceBuilder};
23
24 pub use crate::values::scalar::ObjectBuilder;
26 pub use crate::values::scalar::ScalarValue;
27 pub use crate::values::store_path::StorePath;
28 pub use crate::values::tabular::TabularValue;
29}
30
31pub mod extend {
34 pub use crate::pipeline::traits::{
36 Command, CommandFactory, Descriptor, Executable, FromAttributes,
37 };
38
39 pub use crate::spec::{
41 DEFAULT_NAME_POLICY, FieldSpec, LiteralFieldRef, NamePolicy, ObjectFields, ReferenceKind,
42 TypeDef,
43 attribute::{AttributeSpec, Attributes},
44 builder::{AttributeSpecBuilder, CommandSpecBuilder, PendingAttribute},
45 result::{ResultKind, ResultSpec},
46 };
47
48 pub use crate::values::context::ExecutionContext;
50 pub use crate::values::helpers::{InsertBatch, to_scalar};
51 pub use crate::values::scalar::{ScalarAsExt, ScalarMapExt, ScalarType};
52
53 pub use crate::commands::CommandSchema;
55
56 pub use async_trait::async_trait;
58 pub type Result<T> = anyhow::Result<T>;
59 pub use std::sync::LazyLock;
60}
61
62pub(crate) mod imports {
65 pub use crate::extend::*;
66 pub use crate::prelude::*;
67
68 pub(crate) use crate::values::helpers::{is_truthy, parse_scalar, scalar_type_of, to_scalar};
70 pub(crate) use crate::values::scalar::ScalarStore;
71 pub(crate) use crate::values::tabular::TabularStore;
72
73 pub(crate) use crate::namespace::{
75 ExecutionMode, IteratorType, NamespaceHandle, RESERVED_NAMESPACES,
76 };
77
78 pub(crate) use crate::spec::command::CommandSpec;
80
81 pub(crate) use crate::pipeline::{
83 order::{ExecutionGroup, ExecutionPlan},
84 results::{CommandResults, ResultValue},
85 };
86
87 pub type Result<T> = anyhow::Result<T>;
89 pub use anyhow::Context as _;
90
91 pub use std::collections::{HashMap, HashSet, VecDeque};
93 pub use std::path::PathBuf;
94 pub use std::sync::Arc;
95 pub use tokio::sync::RwLock;
96}
97
98#[cfg(test)]
99pub(crate) mod test_utils {
100 pub fn init_tracing() {
101 let _ = tracing_subscriber::fmt()
102 .with_env_filter("debug")
103 .with_test_writer()
104 .try_init();
105 }
106}