appmgr: minor fixes

This commit is contained in:
Aiden McClelland
2021-06-17 11:57:11 -06:00
parent de96a54cc1
commit 8871c6eec4
8 changed files with 123 additions and 28 deletions

View File

@@ -238,7 +238,7 @@ where
}
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
#[serde(rename_all = "kebab-case")]
pub struct WithDescription<T> {
#[serde(flatten)]
pub inner: T,
@@ -497,7 +497,7 @@ impl DefaultableWith for ValueSpecBoolean {
}
#[derive(Clone, Debug, Serialize)]
#[serde(rename_all = "camelCase")]
#[serde(rename_all = "kebab-case")]
pub struct ValueSpecEnum {
pub values: IndexSet<String>,
pub value_names: IndexMap<String, String>,
@@ -505,7 +505,7 @@ pub struct ValueSpecEnum {
impl<'de> serde::de::Deserialize<'de> for ValueSpecEnum {
fn deserialize<D: serde::de::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
#[derive(Deserialize)]
#[serde(rename_all = "camelCase")]
#[serde(rename_all = "kebab-case")]
pub struct _ValueSpecEnum {
pub values: IndexSet<String>,
#[serde(default)]
@@ -944,7 +944,7 @@ impl DefaultableWith for ValueSpecNumber {
}
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
#[serde(rename_all = "kebab-case")]
pub struct ValueSpecObject {
pub spec: ConfigSpec,
#[serde(default)]
@@ -1120,7 +1120,7 @@ impl ConfigSpec {
}
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
#[serde(rename_all = "kebab-case")]
pub struct Pattern {
#[serde(with = "util::serde_regex")]
pub pattern: Regex,
@@ -1254,7 +1254,7 @@ impl Entropy {
}
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
#[serde(rename_all = "kebab-case")]
pub struct UnionTag {
pub id: String,
pub name: String,
@@ -1263,7 +1263,7 @@ pub struct UnionTag {
}
#[derive(Clone, Debug, Serialize)]
#[serde(rename_all = "camelCase")]
#[serde(rename_all = "kebab-case")]
pub struct ValueSpecUnion {
pub tag: UnionTag,
pub variants: IndexMap<String, ConfigSpec>,
@@ -1274,14 +1274,14 @@ pub struct ValueSpecUnion {
impl<'de> serde::de::Deserialize<'de> for ValueSpecUnion {
fn deserialize<D: serde::de::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
#[derive(Deserialize)]
#[serde(rename_all = "camelCase")]
#[serde(rename_all = "kebab-case")]
#[serde(untagged)]
pub enum _UnionTag {
Old(String),
New(UnionTag),
}
#[derive(Deserialize)]
#[serde(rename_all = "camelCase")]
#[serde(rename_all = "kebab-case")]
pub struct _ValueSpecUnion {
pub variants: IndexMap<String, ConfigSpec>,
pub tag: _UnionTag,

View File

@@ -1,3 +1,4 @@
use std::borrow::Cow;
use std::ops::{Bound, RangeBounds, RangeInclusive};
use rand::distributions::Distribution;
@@ -311,8 +312,8 @@ impl<'de> serde::de::Deserialize<'de> for UniqueBy {
mut map: A,
) -> Result<Self::Value, A::Error> {
let mut variant = None;
while let Some(key) = map.next_key()? {
match key {
while let Some(key) = map.next_key::<Cow<str>>()? {
match key.as_ref() {
"any" => {
return Ok(UniqueBy::Any(map.next_value()?));
}
@@ -325,7 +326,7 @@ impl<'de> serde::de::Deserialize<'de> for UniqueBy {
}
}
Err(serde::de::Error::unknown_variant(
variant.unwrap_or_default(),
variant.unwrap_or_default().as_ref(),
&["any", "all"],
))
}