diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-11 02:05:34 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-11 02:05:34 +0900 |
| commit | 4df5f8491320e5795718cf0222e80fa27e57c8ad (patch) | |
| tree | 707e19f34dbdef18490ec3245d34389e3d189a57 /crates/mozart-core/src/repository/browse_repos.rs | |
| parent | 8871b923fa3df1935c263db155cb8bc3d59705cd (diff) | |
| download | php-mozart-4df5f8491320e5795718cf0222e80fa27e57c8ad.tar.gz php-mozart-4df5f8491320e5795718cf0222e80fa27e57c8ad.tar.zst php-mozart-4df5f8491320e5795718cf0222e80fa27e57c8ad.zip | |
refactor(package): rename traits and switch dep maps to IndexMap
Rename Package/CompletePackage to PackageInterface/CompletePackageInterface
to mirror Composer's interface names, and split each into its own module
under crates/mozart-core/src/package/.
Switch dependency-link and metadata maps from BTreeMap to indexmap::IndexMap
so serialized JSON preserves the original key ordering rather than sorting
alphabetically — matching PHP associative-array semantics. The
--sort-packages behaviour in `require` is preserved via sort_unstable_keys.
Diffstat (limited to 'crates/mozart-core/src/repository/browse_repos.rs')
| -rw-r--r-- | crates/mozart-core/src/repository/browse_repos.rs | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/crates/mozart-core/src/repository/browse_repos.rs b/crates/mozart-core/src/repository/browse_repos.rs index 83a40f1..a174637 100644 --- a/crates/mozart-core/src/repository/browse_repos.rs +++ b/crates/mozart-core/src/repository/browse_repos.rs @@ -8,8 +8,8 @@ //! `CompletePackageInterface` (`getSupport()['source']`, //! `getSourceUrl()`, `getHomepage()`). -use super::super::package::Package as _; -use super::super::package::{CompletePackage as _, RootPackageData}; +use super::super::package::PackageInterface as _; +use super::super::package::{CompletePackageInterface as _, RootPackageData}; use super::cache::Cache; use super::installed::{InstalledPackageEntry, InstalledPackages}; use super::lockfile::LockedPackage; @@ -167,7 +167,6 @@ impl BrowseRepos { mod tests { use super::*; use crate::package::RawPackageData; - use std::collections::BTreeMap; fn locked( name: &str, @@ -185,11 +184,11 @@ mod tests { reference: None, }), dist: None, - require: BTreeMap::new(), - require_dev: BTreeMap::new(), - conflict: BTreeMap::new(), - provide: BTreeMap::new(), - replace: BTreeMap::new(), + require: indexmap::IndexMap::new(), + require_dev: indexmap::IndexMap::new(), + conflict: indexmap::IndexMap::new(), + provide: indexmap::IndexMap::new(), + replace: indexmap::IndexMap::new(), suggest: None, package_type: None, autoload: None, @@ -202,7 +201,7 @@ mod tests { support: support_source.map(|s| serde_json::json!({"source": s})), funding: None, time: None, - extra_fields: BTreeMap::new(), + extra_fields: indexmap::IndexMap::new(), } } @@ -240,7 +239,7 @@ mod tests { aliases: vec![], homepage: Some("https://vendor.example.com".to_string()), support: Some(serde_json::json!({"source": "https://github.com/vendor/pkg"})), - extra_fields: BTreeMap::new(), + extra_fields: indexmap::IndexMap::new(), }; let view = CompletePackageView::from(&entry); assert_eq!( |
