datasources 0.1.5

Async datasource interfaces, middleware, registry, and test doubles
Documentation
pub use async_trait::async_trait;

mod array_reader;
mod first_result_reader;
mod association;
mod batch_command_i_bulk_write_strategy;
pub mod builders;
mod built_repository;
mod bulk_command;
mod bulk_crud_repository;
mod bulk_write_enrichment;
mod bulk_write_strategy;
mod cascade_delete_enrichment_strategy;
mod cascade_delete_update_enrichment_strategy;
mod command;
mod command_middleware;
mod command_middleware_host;
mod connection;
mod native;
mod console_command_middleware;
pub mod converters;
mod create;
mod create_crud_repository_options;
mod create_enrichment_strategy;
mod create_readonly_repository_mapping_options;
mod crud_repository;
mod crud_repository_options;
mod datasource;
mod datasource_error;
mod datasource_url;
mod datasource_url_parser;
mod default_create_enrichment_strategy;
mod default_readonly_enrichment_strategy;
mod default_update_enrichment_strategy;
mod default_write_enrichment_strategy;
mod defaults;
mod driver_loader;
mod erased_driver;
mod loaded_driver;
mod provider_catalog;
mod sabi_driver;
mod sabi_value;
mod delete_enrichment_strategy;
mod delete_nested;
mod dot_env;
mod downcast_connection;
mod driver;
mod enrichment;
mod enrichment_property_type;
mod enrichment_via;
mod expect_console_middleware;
mod hashset_optimized_readonly_enrichment_strategy;
mod i_repository;
mod i_select_statement;
mod i_unit_of_work;
mod i_condition;
mod i_where;
mod id_key;
mod information;
mod isolation_level;
mod lazy_write_enrichment_strategy;
pub mod mappers;
pub mod mocks;
mod nested_to_object_enrichment_strategy;
mod parameter;
mod parameter_direction;
mod parameters_to_map;
mod read_input;
mod reader;
mod readonly_enrichment_strategy;
mod readonly_repository;
pub(crate) use readonly_repository::push_middleware;
mod readonly_repository_mapping_options;
mod register;
mod registered;
mod registry_state;
mod repository;
mod repository_access;
mod repository_factory;
mod repository_tree;
mod repository_tree_node;
mod reset;
mod response;
mod result;
mod row;
mod select_statement;
mod shared_items;
mod single_command_i_bulk_write_strategy;
mod split_statements;
mod statement_parser;
pub mod statements;
mod stored_enrichment;
mod stored_procedure_bulk_write_strategy;
pub mod stubs;
mod crud_repository_builder;
mod crud_repository_statements;
mod readonly_repository_builder;
mod readonly_repository_statements;
mod statement_mappers;
mod transaction;
mod unit_of_work_transaction;
mod update_enrichment_strategy;
mod value;
mod where_text;
mod write_enrichment_strategy;
mod write_mode;

pub use array_reader::ArrayReader;
pub use first_result_reader::FirstResultReader;
pub use association::Association;
pub use batch_command_i_bulk_write_strategy::BatchCommandIBulkWriteStrategy;
pub use builders::{Column, Join, JoinKind};
pub use built_repository::BuiltRepository;
pub use bulk_command::BulkCommand;
pub use bulk_crud_repository::BulkCRUDRepository;
pub use bulk_write_strategy::BulkWriteStrategy;
pub use cascade_delete_enrichment_strategy::CascadeDeleteEnrichmentStrategy;
pub use cascade_delete_update_enrichment_strategy::CascadeDeleteUpdateEnrichmentStrategy;
pub use create_enrichment_strategy::CreateEnrichmentStrategy;
pub use default_create_enrichment_strategy::DefaultCreateEnrichmentStrategy;
pub use command::Command;
pub use command_middleware::CommandMiddleware;
pub use command_middleware_host::CommandMiddlewareHost;
pub use connection::Connection;
pub use console_command_middleware::{format_elapsed, utc_iso_millis, ConsoleCommandMiddleware};
pub use converters::{
    Casing,
    ChangeCasingConverter, ConvertSchema, DecimalRule, DefaultValueConverter, DefaultValueOptions,
    DeterministicTypeConverter, FieldSize, Mapping, MetaDataRowTypeConverter, PluralizerConverter,
    RegexConverter, ReplaceConverter, RowTypeConverter, SpecField, SpecFieldRules,
    ToLowerCaseConverter, ToUpperCaseConverter, TypeConverter, EMPTY_UUID,
};
pub use create::{create, default};
pub use create_crud_repository_options::create_crud_repository_options;
pub use create_readonly_repository_mapping_options::create_readonly_repository_mapping_options;
pub use crud_repository::CRUDRepository;
pub use crud_repository_options::CRUDRepositoryOptions;
pub use datasource::{BuiltDatasource, Datasource};
pub use datasource_error::DatasourceError;
pub use datasource_url::DatasourceUrl;
pub use datasource_url_parser::DatasourceUrlParser;
pub use default_readonly_enrichment_strategy::DefaultReadonlyEnrichmentStrategy;
pub use default_update_enrichment_strategy::DefaultUpdateEnrichmentStrategy;
pub use default_write_enrichment_strategy::encode_rows;
pub use default_write_enrichment_strategy::DefaultWriteEnrichmentStrategy;
pub use defaults::defaults;
pub use erased_driver::erase_driver;
pub use provider_catalog::ProviderCatalog;
#[doc(hidden)]
pub use sabi_driver::SabiDriverBox;
pub use delete_enrichment_strategy::DeleteEnrichmentStrategy;
pub use delete_nested::DeleteNested;
pub use downcast_connection::downcast_connection;
pub use driver::Driver;
pub use enrichment::Enrichment;
pub use enrichment_property_type::EnrichmentPropertyType;
pub use enrichment_via::EnrichmentVia;
pub use expect_console_middleware::ExpectConsoleMiddleware;
pub use hashset_optimized_readonly_enrichment_strategy::HashsetOptimizedReadonlyEnrichmentStrategy;
pub use i_repository::IRepository;
pub use i_select_statement::ISelectStatement;
pub use i_unit_of_work::IUnitOfWork;
pub use i_condition::ICondition;
pub use i_where::IWhere;
pub use id_key::IdKey;
pub use information::Information;
pub use isolation_level::IsolationLevel;
pub use lazy_write_enrichment_strategy::LazyWriteEnrichmentStrategy;
pub use mappers::{
    ChangeCasingMapper, DictionaryMapper, FlatToNestedMapper, FlatToNestedMapperTrait,
    IdentityMapper, MappedRow, MappedValue, Mapper, PluralizerMapper, RowTypeMapper,
    TransformConverterMapper, TransformMapper, TypeMap, TypeMapField, TypeMapGroup,
};
pub use native::{n, Native};
pub use mocks::{
    MockCommand, MockConnection, MockDatasource, MockDriver, MockReader, MockRepository,
    MockSelectStatement, MockTransaction, MockWhere,
};
pub use nested_to_object_enrichment_strategy::NestedToObjectEnrichmentStrategy;
pub use parameter::Parameter;
pub use parameter_direction::ParameterDirection;
pub use parameters_to_map::parameters_to_map;
pub use read_input::ReadInput;
pub use reader::Reader;
pub use readonly_enrichment_strategy::ReadonlyEnrichmentStrategy;
pub use readonly_repository::ReadonlyRepository;
pub use readonly_repository_mapping_options::ReadonlyRepositoryMappingOptions;
pub use register::register;
pub use registered::registered;
pub use repository::{as_readonly, ICRUDRepository, IReadonlyRepository};
pub use repository_access::RepositoryAccess;
pub use repository_factory::{CRUDRepositoryFactory, ReadonlyRepositoryFactory, RepositoryFactory};
pub use repository_tree::RepositoryTree;
pub use repository_tree_node::RepositoryTreeNode;
pub use reset::reset;
pub use response::Response;
pub use result::Result;
pub use row::Row;
pub use select_statement::SelectStatement;
pub use single_command_i_bulk_write_strategy::SingleCommandIBulkWriteStrategy;
pub use split_statements::{split_statements, statement_parameters, statement_uses_parameter};
pub use statement_parser::StatementParser;
pub use statements::statement;
pub use statements::{
    eq, ge, gt, le, lt, ne, Aggregate, AlterAction, AlterTableStatement, ArrayExpression, CheckConstraint, ColumnDefault, Condition,
    ConditionRenderer, ConditionVisitor, CreateIndexStatement,
    CreateTableStatement, CreateTriggerStatement, RoutineParameter,
    AlterTableStatementTextRenderer, CreateIndexStatementTextRenderer, CreateCreateStoredProcedureStatement, CreateReadStoredProcedureStatement, CreateUpdateStoredProcedureStatement, CreateDeleteStoredProcedureStatement, CreateBulkCreateStoredProcedureStatement, CreateBulkUpdateStoredProcedureStatement, CreateBulkDeleteStoredProcedureStatement, CreateCreateStoredProcedureStatementTextRenderer, CreateReadStoredProcedureStatementTextRenderer, CreateUpdateStoredProcedureStatementTextRenderer, CreateDeleteStoredProcedureStatementTextRenderer, CreateBulkCreateStoredProcedureStatementTextRenderer, CreateBulkUpdateStoredProcedureStatementTextRenderer, CreateBulkDeleteStoredProcedureStatementTextRenderer,
    CreateTableStatementTextRenderer, CreateTriggerStatementTextRenderer,
    DropIndexStatement, DropIndexStatementTextRenderer, DropRoutineStatement,
    DropRoutineStatementTextRenderer, DropTableStatement, DropTableStatementTextRenderer,
    DropTriggerStatement, DropTriggerStatementTextRenderer, IdentityInsertStatement, IdentityInsertStatementTextRenderer,
    BulkDeleteStatement, BulkDeleteStatementTextRenderer, BulkInsertStatement,
    BulkInsertStatementTextRenderer, BulkUpdateRow, BulkUpdateStatement,
    BulkUpdateStatementTextRenderer, DefaultStatementTextRenderer, DeleteStatement,
    DeleteStatementTextRenderer,
    ExecuteStoredProcedureStatement, ExecuteStoredProcedureStatementTextRenderer, Expression,
    ExpressionEvaluator, ExpressionRenderer, ForeignKey, Identifier, InsertStatement,
    InsertStatementTextRenderer, Literal, NotNull, Operator, OrderBy, PrimaryKey, ReferentialAction,
    ReturnStatement, ReturnStatementTextRenderer, SelectInsertedIdStatement,
    SelectInsertedIdStatementTextRenderer, SelectStatementOptions, SelectStatementTextRenderer,
    SortDirection, Statement, StatementEvaluator, StatementKind, StatementRenderer,
    StatementTextRenderer, StatementVisitor, TableConstraint, UniqueConstraint, UpdateStatement,
    UpdateStatementTextRenderer, Where,
};
pub use stored_procedure_bulk_write_strategy::StoredProcedureBulkWriteStrategy;
pub use stubs::{
    create_stub_datasource, StubCommand, StubConnection, StubDatasource, StubReader,
    StubRepository, StubTransaction,
};
pub use crud_repository_builder::CRUDRepositoryBuilder;
pub use crud_repository_statements::CRUDRepositoryStatements;
pub use readonly_repository_builder::ReadonlyRepositoryBuilder;
pub use readonly_repository_statements::ReadonlyRepositoryStatements;
pub use statement_mappers::StatementMappers;
pub use transaction::Transaction;
pub use unit_of_work_transaction::UnitOfWorkTransaction;
pub use update_enrichment_strategy::UpdateEnrichmentStrategy;
pub use value::Value;
pub use where_text::WhereText;
pub use write_enrichment_strategy::WriteEnrichmentStrategy;
pub use write_mode::WriteMode;

#[cfg(test)]
mod tests;