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/installer | |
| 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/installer')
| -rw-r--r-- | crates/mozart-core/src/installer/installed_repo.rs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/crates/mozart-core/src/installer/installed_repo.rs b/crates/mozart-core/src/installer/installed_repo.rs index 8361158..d7e4f83 100644 --- a/crates/mozart-core/src/installer/installed_repo.rs +++ b/crates/mozart-core/src/installer/installed_repo.rs @@ -17,7 +17,6 @@ //! or through a `provide` / `replace` link. use indexmap::IndexSet; -use std::collections::BTreeMap; /// One installed package, in the shape `findPackagesWithReplacersAndProviders` /// needs. Mirrors the fields of `Composer\Package\PackageInterface` that the @@ -33,9 +32,9 @@ pub struct InstalledCandidate { /// Original-case version, used in user-facing output. pub pretty_version: String, /// `provide` map: target package name → constraint string. - pub provides: BTreeMap<String, String>, + pub provides: indexmap::IndexMap<String, String>, /// `replace` map: target package name → constraint string. - pub replaces: BTreeMap<String, String>, + pub replaces: indexmap::IndexMap<String, String>, } #[derive(Debug, Clone, Default)] @@ -106,8 +105,8 @@ mod tests { pretty_name: name.to_string(), version: version.to_string(), pretty_version: version.to_string(), - provides: BTreeMap::new(), - replaces: BTreeMap::new(), + provides: indexmap::IndexMap::new(), + replaces: indexmap::IndexMap::new(), } } |
