Commit Graph

10 Commits

Author SHA1 Message Date
Alain Emilia Anna Zscheile 81c0de1f91 refactor(specctra-core/read): implement read_named via read_optional 2024-12-12 06:59:03 +00:00
Alain Emilia Anna Zscheile 50ef279286 refactor(specctra-core/read): reuse String::read_dsn where possible 2024-12-12 06:59:03 +00:00
Alain Emilia Anna Zscheile 5e54453433 refactor(specctra-core/read): accept multiple possible names anywhere
Previously, some methods handled items/lists with multiple allowed names,
and some only allowed a single name. As the overhead of always handling
multiple names isn't that large, do that everywhere and make the overall
API more streamlined in the process.
2024-12-12 06:59:03 +00:00
Alain Emilia Anna Zscheile e90449b75e refactor(specctra-core/read): use macro to produce repetitive impl ReadDsn via FromStr 2024-12-12 06:59:03 +00:00
Alain Emilia Anna Zscheile 5f4496ffce refactor(specctra-core/read): align read_optional to be like read_array_with_alias 2024-12-12 06:59:03 +00:00
Alain Emilia Anna Zscheile 8fb9bfc0e6 feat(specctra-core/error): separate errors for expected leaf / end-of-list 2024-12-12 06:59:03 +00:00
Alain Emilia Anna Zscheile 9e0bdb5bc7 refactor: various further refactorings (#128)
These optimize out unnecessary code duplication, reserve vector capacity beforehand by leveraging `Iterator`s and avoid unnecessary double-lookups into HashMaps.

Reviewed-on: https://codeberg.org/topola/topola/pulls/128
Co-authored-by: Alain Emilia Anna Zscheile <fogti+devel@ytrizja.de>
Co-committed-by: Alain Emilia Anna Zscheile <fogti+devel@ytrizja.de>
2024-12-11 14:13:21 +00:00
Alain Emilia Anna Zscheile cbf99e0a6e feat(specctra-core-fuzz): actually test roundtrip through serialization+parsing 2024-12-06 14:38:09 +01:00
Alain Emilia Anna Zscheile e381731475 feat(specctra-core/write): get rid of unnecessary restrictions on method args 2024-12-06 14:38:09 +01:00
Alain Emilia Anna Zscheile 0fe23c9c71 build: put `specctra` module into separate crate 2024-12-06 14:38:00 +01:00