aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/package/dumper
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-22 19:47:23 +0900
committernsfisis <nsfisis@gmail.com>2026-08-22 19:47:23 +0900
commit3ef7095aa0c8cdb6c1f15d46304bbe8c2e6393d6 (patch)
tree4d323bda622be7771549a9c8e91665906dc3772d /crates/shirabe/src/package/dumper
parent6195e33dfc87cf4b231006b3e5e686a9d8fe2dc1 (diff)
downloadphp-shirabe-3ef7095aa0c8cdb6c1f15d46304bbe8c2e6393d6.tar.gz
php-shirabe-3ef7095aa0c8cdb6c1f15d46304bbe8c2e6393d6.tar.zst
php-shirabe-3ef7095aa0c8cdb6c1f15d46304bbe8c2e6393d6.zip
fix(package): dispatch get_links_for_type on Link::TYPE_* values
PHP resolves a link kind through `$package->{'get'.ucfirst($linkType)}()`, so the argument is a `Link::$TYPES` value ("requires", "devRequires", ...). The helper matched the composer.json key names ("require", "require-dev", ...) instead, so every caller passing a `Link::TYPE_*` constant got an empty map back: `show <package>` printed none of its requires/provides/conflicts/ replaces sections, and `--format=json` carried none of those keys. The two callers that were passing composer.json keys now pass the matching `method`, as PHP does.
Diffstat (limited to 'crates/shirabe/src/package/dumper')
-rw-r--r--crates/shirabe/src/package/dumper/array_dumper.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/crates/shirabe/src/package/dumper/array_dumper.rs b/crates/shirabe/src/package/dumper/array_dumper.rs
index 303a5871..336c96b0 100644
--- a/crates/shirabe/src/package/dumper/array_dumper.rs
+++ b/crates/shirabe/src/package/dumper/array_dumper.rs
@@ -92,8 +92,8 @@ impl ArrayDumper {
data.insert("dist".to_string(), PhpMixed::Array(dist));
}
- for type_name in SUPPORTED_LINK_TYPES.keys() {
- let links = package.get_links_for_type(type_name);
+ for (type_name, opts) in SUPPORTED_LINK_TYPES.iter() {
+ let links = package.get_links_for_type(opts.method);
if links.is_empty() {
continue;
}