cli/lib/compiler/plugins/
plugin_metadata_generator.rs1use 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}