Skip to content

Commit 016b79b

Browse files
committed
use indexmap to fix iteration order
1 parent 868f52e commit 016b79b

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

Cargo.lock

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ uuid = "1"
2525
base64 = "0.13"
2626
lazy_static = "1"
2727
bimap = { version = "0.6.3", features = ["serde"] }
28+
indexmap = "2.2"
2829

2930
[dev-dependencies]
3031
pgrx-tests = "=0.11.2"

src/merge.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
use std::collections::HashMap;
2-
31
use graphql_parser::query::{Field, Text};
2+
use indexmap::IndexMap;
43

54
use crate::parser_util::alias_or_name;
65

76
pub fn merge<'a, 'b, T>(fields: &[Field<'a, T>]) -> Result<Vec<Field<'a, T>>, String>
87
where
98
T: Text<'a> + Eq + AsRef<str> + Clone,
109
{
11-
let mut merged: HashMap<String, Field<'a, T>> = HashMap::new();
10+
let mut merged: IndexMap<String, Field<'a, T>> = IndexMap::new();
1211

1312
for current_field in fields {
1413
let response_key = alias_or_name(current_field);

0 commit comments

Comments
 (0)