Skip to main content

cli/lib/compiler/plugins/
plugin_metadata_generator.rs

1//! Upstream source: `../nest-cli/lib/compiler/plugins/plugin-metadata-generator.ts`.
2
3use std::path::PathBuf;
4
5use serde_json::Value;
6
7#[derive(Clone, Debug, Default, PartialEq, Eq)]
8pub struct PluginMetadataGenerateOptions {
9    pub output_dir: PathBuf,
10    pub metadata: Value,
11}
12
13#[derive(Clone, Debug, Default, PartialEq, Eq)]
14pub struct PluginMetadataGenerator;
15
16#[derive(Clone, Debug, PartialEq, Eq)]
17pub struct PluginMetadataGenerateResult {
18    pub output_path: PathBuf,
19    pub metadata: Value,
20    pub skipped: bool,
21}
22
23impl PluginMetadataGenerator {
24    pub fn generate(options: PluginMetadataGenerateOptions) -> PluginMetadataGenerateResult {
25        PluginMetadataGenerateResult {
26            output_path: options.output_dir.join("metadata.ts"),
27            skipped: options.metadata.is_null(),
28            metadata: options.metadata,
29        }
30    }
31}