nestrs-cli-rs 0.1.0

Rust port of the Nest CLI for the nestrs organization.
Documentation
//! Upstream source: `../nest-cli/lib/runners/yarn.runner.ts`.

use super::{ProcessRunner, Runner, RunnerKind};

#[derive(Clone, Debug, Eq, PartialEq)]
pub struct YarnRunner {
    inner: ProcessRunner,
}

impl YarnRunner {
    pub fn new() -> Self {
        Self {
            inner: ProcessRunner::new(RunnerKind::Yarn),
        }
    }

    pub fn inner(&self) -> &ProcessRunner {
        &self.inner
    }

    pub fn into_inner(self) -> ProcessRunner {
        self.inner
    }
}

impl Default for YarnRunner {
    fn default() -> Self {
        Self::new()
    }
}

impl Runner for YarnRunner {
    fn kind(&self) -> RunnerKind {
        self.inner.kind()
    }

    fn binary(&self) -> &str {
        self.inner.binary()
    }

    fn prefix_args(&self) -> &[String] {
        self.inner.prefix_args()
    }
}