1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
//! ref: composer/src/Composer/Package/CompleteAliasPackage.php
use crate::package::alias_package::AliasPackage;
use crate::package::complete_package::CompletePackage;
use crate::package::complete_package_interface::CompletePackageInterface;
#[derive(Debug)]
pub struct CompleteAliasPackage {
inner: AliasPackage,
// overrides AliasPackage::alias_of with the more specific CompletePackage type
pub(crate) alias_of: CompletePackage,
}
impl CompleteAliasPackage {
pub fn new(alias_of: CompletePackage, version: String, pretty_version: String) -> Self {
// TODO(phase-b): alias_of is a PHP class (shared semantics); cloning is wrong.
// Use a dummy BasePackage placeholder until the field is migrated to Rc<CompletePackage>.
let inner = AliasPackage::new(
todo!("share CompletePackage via Rc"),
version,
pretty_version,
);
Self { inner, alias_of }
}
pub fn get_alias_of(&self) -> &CompletePackage {
&self.alias_of
}
pub fn get_scripts(&self) -> indexmap::IndexMap<String, Vec<String>> {
self.alias_of.get_scripts()
}
pub fn set_scripts(&mut self, scripts: indexmap::IndexMap<String, Vec<String>>) {
self.alias_of.set_scripts(scripts);
}
pub fn get_repositories(&self) -> Vec<indexmap::IndexMap<String, shirabe_php_shim::PhpMixed>> {
self.alias_of.get_repositories()
}
pub fn set_repositories(
&mut self,
repositories: Vec<indexmap::IndexMap<String, shirabe_php_shim::PhpMixed>>,
) {
self.alias_of.set_repositories(repositories);
}
pub fn get_license(&self) -> Vec<String> {
self.alias_of.get_license()
}
pub fn set_license(&mut self, license: Vec<String>) {
self.alias_of.set_license(license);
}
pub fn get_keywords(&self) -> Vec<String> {
self.alias_of.get_keywords()
}
pub fn set_keywords(&mut self, keywords: Vec<String>) {
self.alias_of.set_keywords(keywords);
}
pub fn get_description(&self) -> Option<&str> {
self.alias_of.get_description()
}
pub fn set_description(&mut self, description: Option<String>) {
self.alias_of
.set_description(description.unwrap_or_default());
}
pub fn get_homepage(&self) -> Option<&str> {
self.alias_of.get_homepage()
}
pub fn set_homepage(&mut self, homepage: Option<String>) {
self.alias_of.set_homepage(homepage.unwrap_or_default());
}
pub fn get_authors(&self) -> Vec<indexmap::IndexMap<String, String>> {
self.alias_of.get_authors()
}
pub fn set_authors(&mut self, authors: Vec<indexmap::IndexMap<String, String>>) {
self.alias_of.set_authors(authors);
}
pub fn get_support(&self) -> indexmap::IndexMap<String, String> {
self.alias_of.get_support()
}
pub fn set_support(&mut self, support: indexmap::IndexMap<String, String>) {
self.alias_of.set_support(support);
}
pub fn get_funding(&self) -> Vec<indexmap::IndexMap<String, shirabe_php_shim::PhpMixed>> {
self.alias_of.get_funding()
}
pub fn set_funding(
&mut self,
funding: Vec<indexmap::IndexMap<String, shirabe_php_shim::PhpMixed>>,
) {
self.alias_of.set_funding(funding);
}
pub fn is_abandoned(&self) -> bool {
self.alias_of.is_abandoned()
}
pub fn get_replacement_package(&self) -> Option<&str> {
self.alias_of.get_replacement_package()
}
pub fn set_abandoned(&mut self, abandoned: shirabe_php_shim::PhpMixed) {
self.alias_of.set_abandoned(abandoned);
}
pub fn get_archive_name(&self) -> Option<&str> {
self.alias_of.get_archive_name()
}
pub fn set_archive_name(&mut self, name: Option<String>) {
self.alias_of.set_archive_name(name.unwrap_or_default());
}
pub fn get_archive_excludes(&self) -> Vec<String> {
self.alias_of.get_archive_excludes()
}
pub fn set_archive_excludes(&mut self, excludes: Vec<String>) {
self.alias_of.set_archive_excludes(excludes);
}
}
|