diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-15 20:08:44 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-16 10:00:39 +0900 |
| commit | 1d7e6c38c98794c60dcaef5405cf01b12826036a (patch) | |
| tree | 761b624142aaf931bc029967e5573bb7840ef555 /crates/shirabe/src/package/root_package.rs | |
| parent | 0716a8d2496bbfd4a7e6de503fc7e336b0aee66f (diff) | |
| download | php-shirabe-1d7e6c38c98794c60dcaef5405cf01b12826036a.tar.gz php-shirabe-1d7e6c38c98794c60dcaef5405cf01b12826036a.tar.zst php-shirabe-1d7e6c38c98794c60dcaef5405cf01b12826036a.zip | |
feat(port): port RootPackage.php
Diffstat (limited to 'crates/shirabe/src/package/root_package.rs')
| -rw-r--r-- | crates/shirabe/src/package/root_package.rs | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/crates/shirabe/src/package/root_package.rs b/crates/shirabe/src/package/root_package.rs index 75651ed..f1c3ba8 100644 --- a/crates/shirabe/src/package/root_package.rs +++ b/crates/shirabe/src/package/root_package.rs @@ -1 +1,71 @@ //! ref: composer/src/Composer/Package/RootPackage.php + +use indexmap::IndexMap; +use shirabe_php_shim::PhpMixed; +use crate::package::complete_package::CompletePackage; +use crate::package::root_package_interface::RootPackageInterface; + +#[derive(Debug)] +pub struct RootPackage { + inner: CompletePackage, + pub(crate) minimum_stability: String, + pub(crate) prefer_stable: bool, + pub(crate) stability_flags: IndexMap<String, i64>, + pub(crate) config: IndexMap<String, PhpMixed>, + pub(crate) references: IndexMap<String, String>, + pub(crate) aliases: Vec<IndexMap<String, String>>, +} + +impl RootPackage { + pub const DEFAULT_PRETTY_VERSION: &'static str = "1.0.0+no-version-set"; +} + +impl RootPackageInterface for RootPackage { + fn set_minimum_stability(&mut self, minimum_stability: String) { + self.minimum_stability = minimum_stability; + } + + fn get_minimum_stability(&self) -> &str { + &self.minimum_stability + } + + fn set_stability_flags(&mut self, stability_flags: IndexMap<String, i64>) { + self.stability_flags = stability_flags; + } + + fn get_stability_flags(&self) -> &IndexMap<String, i64> { + &self.stability_flags + } + + fn set_prefer_stable(&mut self, prefer_stable: bool) { + self.prefer_stable = prefer_stable; + } + + fn get_prefer_stable(&self) -> bool { + self.prefer_stable + } + + fn set_config(&mut self, config: IndexMap<String, PhpMixed>) { + self.config = config; + } + + fn get_config(&self) -> &IndexMap<String, PhpMixed> { + &self.config + } + + fn set_references(&mut self, references: IndexMap<String, String>) { + self.references = references; + } + + fn get_references(&self) -> &IndexMap<String, String> { + &self.references + } + + fn set_aliases(&mut self, aliases: Vec<IndexMap<String, String>>) { + self.aliases = aliases; + } + + fn get_aliases(&self) -> &Vec<IndexMap<String, String>> { + &self.aliases + } +} |
