blob: e592741eddd74c73a93d2c157f5331d81e52e9e6 (
plain)
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
|
//! ref: composer/src/Composer/DependencyResolver/LocalRepoTransaction.php
use super::Transaction;
use crate::dependency_resolver::operation::OperationInterface;
use crate::repository::InstalledRepositoryInterface;
use crate::repository::RepositoryInterface;
#[derive(Debug)]
pub struct LocalRepoTransaction {
inner: Transaction,
}
impl LocalRepoTransaction {
pub fn new(
locked_repository: &mut dyn RepositoryInterface,
local_repository: &mut dyn InstalledRepositoryInterface,
) -> anyhow::Result<Self> {
Ok(Self {
inner: Transaction::new(
local_repository.get_packages()?,
locked_repository.get_packages()?,
),
})
}
pub fn get_operations(&self) -> &Vec<std::rc::Rc<dyn OperationInterface>> {
self.inner.get_operations()
}
pub(crate) fn to_transaction(&self) -> Transaction {
self.inner.clone()
}
}
|