Skip to content

Commit

Permalink
feat(quaint-core): extracted wasm-compatible core of quaint into new …
Browse files Browse the repository at this point in the history
…quaint-core crate
  • Loading branch information
jkomyno committed Jul 7, 2023
1 parent 5f09abe commit 6f0d5a9
Show file tree
Hide file tree
Showing 61 changed files with 11,185 additions and 641 deletions.
1,790 changes: 1,149 additions & 641 deletions Cargo.lock

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ members = [
# All path dependencies residing in the workspace directory automatically become members.
# The following shouldn't be considered members but embedded dependencies.
exclude = [
"quaint-core",
"quaint",
"quaint/test-macros",
"quaint/test-setup"
Expand Down
9 changes: 9 additions & 0 deletions quaint-core/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
**/target
**/*.rs.bk
Cargo.lock
.direnv/
.vscode/

docker-compose.override.yml
db/
!db/.gitkeep
209 changes: 209 additions & 0 deletions quaint-core/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 26 additions & 0 deletions quaint-core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[package]
name = "quaint-core"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
async-trait = "0.1"
thiserror = "1.0"
serde_json = { version = "1.0.48", optional = false, features = ["float_roundtrip"] }
either = { version = "1.6", optional = false }
base64 = { version = "0.12.3", optional = false }
serde = { version = "1.0", optional = false, features = ["derive"] }

# https://github.com/chronotope/chrono/issues/364
chrono = { version = "=0.4.9", optional = false, default-features = false }

[dependencies.bigdecimal]
version = "0.3"
optional = false
package = "bigdecimal"

[dependencies.uuid]
version = "1"
optional = false
1 change: 1 addition & 0 deletions quaint-core/rust-toolchain
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
stable
2 changes: 2 additions & 0 deletions quaint-core/rustfmt.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
max_width = 120
edition = "2018"
55 changes: 55 additions & 0 deletions quaint-core/src/ast.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
//! An abstract syntax tree for SQL queries.
//!
//! The ast module handles everything related building abstract SQL queries
//! without going into database-level specifics. Everything related to the
//! actual query building is in the [visitor](../visitor/index.html) module.
//!
//! For prelude, all important imports are in `quaint::ast::*`.
mod column;
mod compare;
mod conditions;
mod conjunctive;
mod cte;
mod delete;
mod expression;
mod function;
mod grouping;
mod index;
mod insert;
mod join;
mod merge;
mod ops;
mod ordering;
mod over;
mod query;
mod row;
mod select;
mod table;
mod union;
mod update;
mod values;

pub use column::{Column, DefaultValue, TypeDataLength, TypeFamily};
pub use compare::{Comparable, Compare, JsonCompare, JsonType};
pub use conditions::ConditionTree;
pub use conjunctive::Conjunctive;
pub use cte::{CommonTableExpression, IntoCommonTableExpression};
pub use delete::Delete;
pub use expression::*;
pub use function::*;
pub use grouping::*;
pub use index::*;
pub use insert::*;
pub use join::{Join, JoinData, Joinable};
pub(crate) use merge::*;
pub use ops::*;
pub use ordering::{IntoOrderDefinition, Order, OrderDefinition, Orderable, Ordering};
pub use over::*;
pub use query::{Query, SelectQuery};
pub use row::Row;
pub use select::Select;
pub use table::*;
pub use union::Union;
pub use update::*;
pub(crate) use values::Params;
pub use values::{IntoRaw, Raw, Value, Values};
Loading

0 comments on commit 6f0d5a9

Please sign in to comment.