Jiahao XU
488e7b8492
Update CratesToml::append
to accept iter
...
intead of one single pair of value.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 17:57:51 +10:00
Jiahao XU
739b3ee247
Update Crates2Json::append
to accept iter
...
instead of one single pair of value.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 17:57:25 +10:00
Jiahao XU
adbc587f3b
Merge pull request #222 from NobodyXu/refactor
...
Refactor: Make appending to metafiles easier and fix their err handling
2022-07-22 11:29:12 +10:00
Jiahao XU
32b98f0c5a
Fix Deserialize
for CrateVersionSource
...
Use `Cow::<'_, str>::deserialize` to ensure that it would still work
even if it contains escaped characters.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 01:43:40 +10:00
Jiahao XU
a3fcc298ab
Avoid CrateVersionSource::clone
for insertion in metafiles
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 01:38:44 +10:00
Jiahao XU
de9404feda
Optimize Crates2Json
: Use String
as key
...
to avoid cost of deserializing (`CrateVersionSource::from_str`).
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 01:37:27 +10:00
Jiahao XU
96aaca1cc6
Optimize CratesToml
: Use String
as key
...
to avoid cost of deserializing (`CrateVersionSource::from_str`).
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 01:36:22 +10:00
Jiahao XU
9d9a31bef3
Optimize Deserialize
impl for CrateVersionSource
...
Use `<&str>::deserialize` instead of `String::deserialize` to avoid
intermediate `String`.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 01:23:58 +10:00
Jiahao XU
c2ce265afa
Optimize Crates2Json::write_to_path
: Use to_writer
...
which avoids allocating a `Vec<u8>` just to hold serialized data.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-21 22:18:08 +10:00
Jiahao XU
d7ae1f242b
Optimize Crates2Json::load_from_path
: Use from_reader
...
which avoids reading the entire file into string at once.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-21 22:14:20 +10:00
Jiahao XU
fb3e35624b
Fix err handling in Crates2Json::append_to_path
...
Only uses `Self::default()` if the file is not found.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-21 19:59:36 +10:00
Jiahao XU
1e725a9ffe
Refactor: Extract Crates2Json::append{_to_path}
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-21 19:58:23 +10:00
Jiahao XU
0157a594e6
Fix err handling in CratesToml::append_to_path
...
Make it more robust to `io::Error`: Only create a `Self::default()` if
fails to open the file.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-21 19:54:45 +10:00
Jiahao XU
31d9716d28
Refactor: Extract CratesToml::append{_to_path}
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-21 19:50:23 +10:00
Jiahao XU
21eac33e1f
Optimize: Create new fn helpers::cargo_home
...
that caches return value of `home::cargo_home`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-21 13:13:07 +10:00
Jiahao XU
5bdffd9178
Refactor: Impl Source::cratesio_registry
...
Makes initializing `metafiles::CrateVersionSource` more readable and
improves performance since the parsing is now cached.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-20 16:48:34 +10:00
Félix Saparelli
17cf6f5dc5
Write to .crates2.json
2022-07-05 21:17:59 +12:00