Skip to content

Commit 08049b7

Browse files
committed
chore: standardize on cruet for case conversion
`cruet` supports both conversion to `camelCase`/`PascalCase`/etc and pluralization, while `convert_case` only supports case conversion. `48ac1378` introduced `cruet` in psl. This comit makes `mongodb-schema-connector` use `cruet` as well for consistency across the codebase.
1 parent 3743425 commit 08049b7

4 files changed

Lines changed: 5 additions & 15 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ chrono = "0.4"
6464
colored = "3"
6565
concat-idents = "1"
6666
connection-string = "0.2"
67-
convert_case = "0.8"
6867
crossbeam-channel = "0.5"
6968
cruet = "0.15"
7069
cuid = { git = "https://github.com/prisma/cuid-rust", branch = "v1.3.3-wasm32-unknown-unknown" }

schema-engine/connectors/mongodb-schema-connector/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ bson.workspace = true
2020
serde_json.workspace = true
2121
tokio.workspace = true
2222
tracing.workspace = true
23-
convert_case.workspace = true
23+
cruet.workspace = true
2424
regex.workspace = true
2525
indoc.workspace = true
2626

schema-engine/connectors/mongodb-schema-connector/src/sampler/statistics.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use schema_connector::{
1313

1414
use super::field_type::FieldType;
1515
use bson::{Bson, Document};
16-
use convert_case::{Case, Casing};
16+
use cruet::Inflector;
1717
use datamodel_renderer as renderer;
1818
use mongodb_schema_describer::{CollectionWalker, IndexWalker};
1919
use psl::datamodel_connector::constraint_names::ConstraintNames;
@@ -63,7 +63,7 @@ impl<'a> Statistics<'a> {
6363
fn composite_type_name(&self, model: &str, field: &str) -> Name {
6464
let combined: String = format!("{model}_{field}").chars().filter(|c| c.is_ascii()).collect();
6565

66-
let name = Name::Model(combined.to_case(Case::Pascal));
66+
let name = Name::Model(combined.to_pascal_case());
6767

6868
let name = if self.models.contains_key(&name) {
6969
format!("{name}_")
@@ -521,7 +521,7 @@ impl<'a> Statistics<'a> {
521521
(name, field.clone())
522522
};
523523

524-
let type_name = format!("{container_name}_{field}").to_case(Case::Pascal);
524+
let type_name = format!("{container_name}_{field}").to_pascal_case();
525525
let type_name = sanitize_string(&type_name).unwrap_or(type_name);
526526
container_name.clone_from(&type_name);
527527

0 commit comments

Comments
 (0)