From 541a8b4fd2c4b9538e2c88c5a7c4f9ffb5ca25eb Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 25 Jun 2026 04:57:03 +0900 Subject: feat(json): validate JSON schema via the jsonschema crate Replace the todo!() json_schema::Validator stub with the jsonschema crate. Errors are surfaced as 'property : message'; the message wording follows the jsonschema crate and is *not* justinrainbow-compatible. Port the ComposerSchemaTest and JsonFileTest schema cases to the new wording (noted per test). Co-Authored-By: Claude Opus 4.8 (1M context) --- .../src/json_schema/mod.rs | 3 --- .../src/json_schema/validator.rs | 30 ---------------------- crates/shirabe-external-packages/src/lib.rs | 1 - 3 files changed, 34 deletions(-) delete mode 100644 crates/shirabe-external-packages/src/json_schema/mod.rs delete mode 100644 crates/shirabe-external-packages/src/json_schema/validator.rs (limited to 'crates/shirabe-external-packages/src') diff --git a/crates/shirabe-external-packages/src/json_schema/mod.rs b/crates/shirabe-external-packages/src/json_schema/mod.rs deleted file mode 100644 index 49febb8..0000000 --- a/crates/shirabe-external-packages/src/json_schema/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod validator; - -pub use validator::*; diff --git a/crates/shirabe-external-packages/src/json_schema/validator.rs b/crates/shirabe-external-packages/src/json_schema/validator.rs deleted file mode 100644 index ede3762..0000000 --- a/crates/shirabe-external-packages/src/json_schema/validator.rs +++ /dev/null @@ -1,30 +0,0 @@ -//! ref: composer/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php - -use shirabe_php_shim::PhpMixed; - -#[derive(Debug)] -pub struct Validator; - -impl Default for Validator { - fn default() -> Self { - Self::new() - } -} - -impl Validator { - pub fn new() -> Self { - todo!() - } - - pub fn check(&mut self, _data: &PhpMixed, _schema: &PhpMixed) -> anyhow::Result<()> { - todo!() - } - - pub fn is_valid(&self) -> bool { - todo!() - } - - pub fn get_errors(&self) -> Vec { - todo!() - } -} diff --git a/crates/shirabe-external-packages/src/lib.rs b/crates/shirabe-external-packages/src/lib.rs index eef1e37..0c37152 100644 --- a/crates/shirabe-external-packages/src/lib.rs +++ b/crates/shirabe-external-packages/src/lib.rs @@ -1,5 +1,4 @@ pub mod composer; -pub mod json_schema; pub mod psr; pub mod seld; pub mod symfony; -- cgit v1.3.1