aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/command/show_command.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-02 17:32:43 +0900
committernsfisis <nsfisis@gmail.com>2026-08-02 17:32:43 +0900
commit7e31bab9ff7209c9b6d7928a581d7a449846f42e (patch)
treeb121966a169ee74afe04d066576e862a6702bbf6 /crates/shirabe/src/command/show_command.rs
parentebcb4a7f013c0511dd6617686395cef17822d1e2 (diff)
downloadphp-shirabe-7e31bab9ff7209c9b6d7928a581d7a449846f42e.tar.gz
php-shirabe-7e31bab9ff7209c9b6d7928a581d7a449846f42e.tar.zst
php-shirabe-7e31bab9ff7209c9b6d7928a581d7a449846f42e.zip
fix(json): propagate JsonFile::encode errors instead of unwrapping
PHP's JsonFile::encode throws a RuntimeException when json_encode fails; the port swallowed that into an .unwrap() marked TODO(phase-c). Return anyhow::Result from encode/encode_with_options and propagate at every call site (print_table and list_repositories become Result-returning to carry it). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/command/show_command.rs')
-rw-r--r--crates/shirabe/src/command/show_command.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/crates/shirabe/src/command/show_command.rs b/crates/shirabe/src/command/show_command.rs
index 4cc0c204..a3bf7157 100644
--- a/crates/shirabe/src/command/show_command.rs
+++ b/crates/shirabe/src/command/show_command.rs
@@ -698,7 +698,7 @@ impl Command for ShowCommand {
);
self.get_io().write(&JsonFile::encode(&PhpMixed::Array(
wrapper.into_iter().collect(),
- )));
+ ))?);
} else {
self.display_package_tree(vec![array_tree]);
}
@@ -829,7 +829,7 @@ impl Command for ShowCommand {
);
self.get_io().write(&JsonFile::encode(&PhpMixed::Array(
wrapper.into_iter().collect(),
- )));
+ ))?);
} else {
self.display_package_tree(array_tree);
}
@@ -1289,7 +1289,7 @@ impl Command for ShowCommand {
let io = self.get_io();
io.write(&JsonFile::encode(&PhpMixed::Array(
json_map.into_iter().collect(),
- )));
+ ))?);
} else {
if input.borrow().get_option("latest")?.as_bool() == Some(true)
&& view_data.values().any(|v| !v.is_empty())
@@ -2222,7 +2222,7 @@ impl ShowCommand {
self.get_io().write(&JsonFile::encode(&PhpMixed::Array(
json.into_iter().collect(),
- )));
+ ))?);
Ok(())
}