We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent f730806 commit a492c48Copy full SHA for a492c48
src/encoder.rs
@@ -169,7 +169,14 @@ impl<H: Hasher> SdObjectEncoder<H> {
169
fn add_digest_to_object(object: &mut Map<String, Value>, digest: String) -> Result<()> {
170
if let Some(sd_value) = object.get_mut(DIGESTS_KEY) {
171
if let Value::Array(value) = sd_value {
172
- value.push(Value::String(digest))
+ // Insert the
173
+ let idx = value
174
+ .iter()
175
+ .enumerate()
176
+ .find(|(_, value)| value.as_str().is_some_and(|s| s > &digest))
177
+ .map(|(pos, _)| pos)
178
+ .unwrap_or(value.len());
179
+ value.insert(idx, Value::String(digest));
180
} else {
181
return Err(Error::DataTypeMismatch(
182
"invalid object: existing `_sd` type is not an array".to_string(),
0 commit comments