aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/command/show_command.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-06 15:16:07 +0900
committernsfisis <nsfisis@gmail.com>2026-06-06 15:17:00 +0900
commit1e7aabcae1b2139aa20a80fbf303c74388933f55 (patch)
tree07c5f4e7502841fef21909b2aa8269e6e71fb2a3 /crates/shirabe/src/command/show_command.rs
parentadba8b1969a3f40245324d7feb5905693ca65d5e (diff)
downloadphp-shirabe-1e7aabcae1b2139aa20a80fbf303c74388933f55.tar.gz
php-shirabe-1e7aabcae1b2139aa20a80fbf303c74388933f55.tar.zst
php-shirabe-1e7aabcae1b2139aa20a80fbf303c74388933f55.zip
fix(array-dumper): emit package links and require Link pretty constraint
Resolve the phase-b TODO that left the supported-link-types loop as dead code (links were always an empty Vec), so requires/conflicts/provides/ replaces/require-dev are dumped again via PackageInterface::get_links_for_type, matching the PHP magic-call loop. Every Link in production is constructed with a pretty constraint (all ArrayLoader/AliasPackage/PlatformRepository/InstalledRepository sites pass one), so make Link::pretty_constraint a required String instead of Option<String>. get_pretty_constraint() now returns &str directly rather than anyhow::Result<&str>, dropping the unreachable UnexpectedValueException guard, and all call sites are updated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/command/show_command.rs')
-rw-r--r--crates/shirabe/src/command/show_command.rs12
1 files changed, 6 insertions, 6 deletions
diff --git a/crates/shirabe/src/command/show_command.rs b/crates/shirabe/src/command/show_command.rs
index 9592f4e..299ba1e 100644
--- a/crates/shirabe/src/command/show_command.rs
+++ b/crates/shirabe/src/command/show_command.rs
@@ -1811,7 +1811,7 @@ impl ShowCommand {
io.write(&format!(
"{} <comment>{}</comment>",
link.1.get_target(),
- link.1.get_pretty_constraint().unwrap_or("")
+ link.1.get_pretty_constraint(),
));
}
}
@@ -2173,7 +2173,7 @@ impl ShowCommand {
for link in links.iter() {
m.insert(
link.1.get_target().to_string(),
- PhpMixed::String(link.1.get_pretty_constraint().unwrap_or("").to_string()),
+ PhpMixed::String(link.1.get_pretty_constraint().to_string()),
);
}
json.insert(
@@ -2309,7 +2309,7 @@ impl ShowCommand {
tree_child_desc.insert("name".to_string(), PhpMixed::String(require_name.clone()));
tree_child_desc.insert(
"version".to_string(),
- PhpMixed::String(require.get_pretty_constraint().unwrap_or("").to_string()),
+ PhpMixed::String(require.get_pretty_constraint().to_string()),
);
let deep_children = self
@@ -2452,11 +2452,11 @@ impl ShowCommand {
packages_in_tree: &[PhpMixed],
) -> anyhow::Result<Vec<IndexMap<String, PhpMixed>>> {
let mut children: Vec<IndexMap<String, PhpMixed>> = Vec::new();
- let version_arg: PhpMixed = if link.get_pretty_constraint().ok() == Some("self.version") {
+ let version_arg: PhpMixed = if link.get_pretty_constraint() == "self.version" {
// pass the ConstraintInterface object — signal via Null in this scalar shape
PhpMixed::Null
} else {
- PhpMixed::String(link.get_pretty_constraint().unwrap_or("").to_string())
+ PhpMixed::String(link.get_pretty_constraint().to_string())
};
let (package, _) = self.get_package(installed_repo, remote_repos, name, version_arg)?;
if let Some(package) = package {
@@ -2469,7 +2469,7 @@ impl ShowCommand {
tree_child_desc.insert("name".to_string(), PhpMixed::String(require_name.clone()));
tree_child_desc.insert(
"version".to_string(),
- PhpMixed::String(require.get_pretty_constraint().unwrap_or("").to_string()),
+ PhpMixed::String(require.get_pretty_constraint().to_string()),
);
if !in_array(