From ee6a54fe4c81676d1fdbefd4cf274be7a40afc97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Renault?= Date: Wed, 4 Sep 2019 14:53:16 +0200 Subject: [PATCH] feat: Replace the linked-hash-map dependency by indexmap --- meilidb-schema/Cargo.toml | 2 +- meilidb-schema/src/lib.rs | 10 +++++----- meilidb/Cargo.toml | 2 +- meilidb/examples/query-database.rs | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/meilidb-schema/Cargo.toml b/meilidb-schema/Cargo.toml index 86f772452..88178bc1d 100644 --- a/meilidb-schema/Cargo.toml +++ b/meilidb-schema/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" [dependencies] bincode = "1.1.2" -linked-hash-map = { version = "0.5.2", features = ["serde_impl"] } +indexmap = { version = "1.1.0", features = ["serde-1"] } serde = { version = "1.0.91", features = ["derive"] } serde_json = { version = "1.0.39", features = ["preserve_order"] } toml = { version = "0.5.0", features = ["preserve_order"] } diff --git a/meilidb-schema/src/lib.rs b/meilidb-schema/src/lib.rs index 85325a0f2..0963b68ef 100644 --- a/meilidb-schema/src/lib.rs +++ b/meilidb-schema/src/lib.rs @@ -6,7 +6,7 @@ use std::ops::BitOr; use std::sync::Arc; use serde::{Serialize, Deserialize}; -use linked_hash_map::LinkedHashMap; +use indexmap::IndexMap; pub const DISPLAYED: SchemaProps = SchemaProps { displayed: true, indexed: false, ranked: false }; pub const INDEXED: SchemaProps = SchemaProps { displayed: false, indexed: true, ranked: false }; @@ -53,14 +53,14 @@ impl BitOr for SchemaProps { #[derive(Serialize, Deserialize)] pub struct SchemaBuilder { identifier: String, - attributes: LinkedHashMap, + attributes: IndexMap, } impl SchemaBuilder { pub fn with_identifier>(name: S) -> SchemaBuilder { SchemaBuilder { identifier: name.into(), - attributes: LinkedHashMap::new(), + attributes: IndexMap::new(), } } @@ -147,14 +147,14 @@ impl Schema { bincode::serialize_into(writer, &builder) } - fn attributes_ordered(&self) -> LinkedHashMap { + fn attributes_ordered(&self) -> IndexMap { let mut ordered = BTreeMap::new(); for (name, attr) in &self.inner.attrs { let (_, props) = self.inner.props[attr.0 as usize]; ordered.insert(attr.0, (name, props)); } - let mut attributes = LinkedHashMap::with_capacity(ordered.len()); + let mut attributes = IndexMap::with_capacity(ordered.len()); for (_, (name, props)) in ordered { attributes.insert(name.clone(), props); } diff --git a/meilidb/Cargo.toml b/meilidb/Cargo.toml index 0eecba0a1..96b597741 100644 --- a/meilidb/Cargo.toml +++ b/meilidb/Cargo.toml @@ -14,7 +14,7 @@ csv = "1.0.7" diskus = "0.5.0" env_logger = "0.6.1" jemallocator = "0.1.9" -linked-hash-map = "0.5.2" +indexmap = { version = "1.1.0", features = ["serde-1"] } meilidb-core = { path = "../meilidb-core", version = "0.1.0" } quickcheck = "0.8.2" rand = "0.6.5" diff --git a/meilidb/examples/query-database.rs b/meilidb/examples/query-database.rs index c02dbc5bf..9677eead6 100644 --- a/meilidb/examples/query-database.rs +++ b/meilidb/examples/query-database.rs @@ -9,7 +9,7 @@ use std::iter::FromIterator; use std::path::PathBuf; use std::time::{Instant, Duration}; -use linked_hash_map::LinkedHashMap; +use indexmap::IndexMap; use rustyline::{Editor, Config}; use structopt::StructOpt; use termcolor::{Color, ColorChoice, ColorSpec, StandardStream, WriteColor}; @@ -39,7 +39,7 @@ pub struct Opt { pub char_context: usize, } -type Document = LinkedHashMap; +type Document = IndexMap; fn display_highlights(text: &str, ranges: &[usize]) -> io::Result<()> { let mut stdout = StandardStream::stdout(ColorChoice::Always);