Skip to main content

cli/lib/package_managers/
npm_package_manager.rs

1//! Upstream source: `../nest-cli/lib/package-managers/npm.package-manager.ts`.
2
3use super::{PackageManager, PackageManagerClient};
4
5#[derive(Clone, Debug, Eq, PartialEq)]
6pub struct NpmPackageManager {
7    client: PackageManagerClient,
8}
9
10impl NpmPackageManager {
11    pub fn new() -> Self {
12        Self {
13            client: PackageManagerClient::new(PackageManager::Npm),
14        }
15    }
16
17    pub fn client(&self) -> &PackageManagerClient {
18        &self.client
19    }
20
21    pub fn into_client(self) -> PackageManagerClient {
22        self.client
23    }
24}
25
26impl Default for NpmPackageManager {
27    fn default() -> Self {
28        Self::new()
29    }
30}
31
32impl From<NpmPackageManager> for PackageManagerClient {
33    fn from(manager: NpmPackageManager) -> Self {
34        manager.into_client()
35    }
36}