use serde::Deserialize;
use std::collections::HashMap;
#[derive(Debug, Deserialize)]
pub(crate) struct PubspecYaml {
pub dependencies: Option<HashMap<String, Option<PubspecYamlDependencyVersion>>>,
pub dev_dependencies: Option<HashMap<String, Option<PubspecYamlDependencyVersion>>>,
}
#[derive(Debug, Deserialize, PartialEq, Eq)]
#[serde(untagged)]
pub(crate) enum PubspecYamlDependencyVersion {
Inline(DartDependencyVersion),
Multiline {
version: Option<DartDependencyVersion>,
},
}
#[derive(Debug, Deserialize)]
pub(crate) struct PubspecLock {
pub packages: HashMap<String, PubspecLockPackage>,
}
#[derive(Debug, Deserialize)]
pub(crate) struct PubspecLockPackage {
pub dependency: String,
pub version: DartDependencyVersion,
}
#[derive(Debug, Clone, Deserialize, PartialEq, Eq)]
#[serde(transparent)]
pub(crate) struct DartDependencyVersion(pub String);