nestrs-cli-rs 0.1.0

Rust port of the Nest CLI for the nestrs organization.
Documentation
//! Upstream source: `../nest-cli/lib/compiler/plugins/plugin-metadata-generator.ts`.

use std::path::PathBuf;

use serde_json::Value;

#[derive(Clone, Debug, Default, PartialEq, Eq)]
pub struct PluginMetadataGenerateOptions {
    pub output_dir: PathBuf,
    pub metadata: Value,
}

#[derive(Clone, Debug, Default, PartialEq, Eq)]
pub struct PluginMetadataGenerator;

#[derive(Clone, Debug, PartialEq, Eq)]
pub struct PluginMetadataGenerateResult {
    pub output_path: PathBuf,
    pub metadata: Value,
    pub skipped: bool,
}

impl PluginMetadataGenerator {
    pub fn generate(options: PluginMetadataGenerateOptions) -> PluginMetadataGenerateResult {
        PluginMetadataGenerateResult {
            output_path: options.output_dir.join("metadata.ts"),
            skipped: options.metadata.is_null(),
            metadata: options.metadata,
        }
    }
}