feat(config): add validated profile core

This commit is contained in:
Onur Özkan committed 2026-08-09 22:06:10 +03:00
1 parent 0a75860841
commit 6c5e061359
36 files changed
+3343

No files matched your search

@@ -0,0 +1,11 @@
use kaptan_config_derive::ConfigValidate;
#[derive(ConfigValidate)]
struct DuplicateId {
#[config(id = 7, nonzero)]
first: u32,
#[config(id = 7, nonzero)]
second: u32,
}
fn main() {}
@@ -0,0 +1,5 @@
error: duplicate configuration field id
--> tests/ui/duplicate_id.rs:8:5
|
8 | second: u32,
| ^^^^^^
@@ -0,0 +1,9 @@
use kaptan_config_derive::ConfigValidate;
#[derive(ConfigValidate)]
struct DuplicateRange {
#[config(id = 7, range(min = 1), range(min = 2))]
value: u32,
}
fn main() {}
@@ -0,0 +1,5 @@
error: duplicate range minimum
--> tests/ui/duplicate_range.rs:5:5
|
5 | #[config(id = 7, range(min = 1), range(min = 2))]
| ^
@@ -0,0 +1,9 @@
use kaptan_config_derive::ConfigValidate;
#[derive(ConfigValidate)]
struct MissingId {
#[config(nonzero)]
value: u32,
}
fn main() {}
@@ -0,0 +1,5 @@
error: validated configuration fields require config(id = N)
--> tests/ui/missing_id.rs:6:5
|
6 | value: u32,
| ^^^^^
@@ -0,0 +1,9 @@
use kaptan_config_derive::ConfigValidate;
#[derive(ConfigValidate)]
struct MissingMetadata {
#[config(id = 7, unit = "count", default = 1, range(min = 0, max = 10))]
value: u32,
}
fn main() {}
@@ -0,0 +1,5 @@
error: configuration fields require config(key = "...")
--> tests/ui/missing_metadata.rs:6:5
|
6 | value: u32,
| ^^^^^