Some useful macros, to make the repetitive code less.
str_concat
almost everything- Hashing and encode to HEX
- MD5
- SHA256
- SHA384
- SHA512
- Macro for creating a wrapper struct.
- ...
The features listed in Cargo.toml
:
dev
: For development and enable all features. Not recommended since introducing axum, etc will add many dependencies.feat-base64
: Base64 encode and decode related utilities.feat-hash
: Hash algorithms (MD5, SHA256, SHA384, SHA512) related utilities.feat-random
: Random number / string related utilities. You shall addrand
to yourCargo.toml
.feat-random-fast
: Random number / string related utilities. You shall addrand
to yourCargo.toml
.feat-string
: String related utilities.feat-string-ext-ammonia
: Serializes anammonia::Document
instance without allocation.feat-string-ext-axum
: implementIntoResponse
forStringExt
.feat-string-ext-base64
: wrapper that indicates the inner slice should be encoded in base64 over&[u8]
feat-string-ext-chrono
: cratechrono
integration.feat-string-ext-hex
: hex encoding based onconst-hex
, with better performance thanNumStr
.feat-string-ext-http
: cratehttp
integration.feat-string-ext-ryu
: float number support.
1.75.0
This crate is currently intended for personal use mostly, but contributions are welcome.
For 0.8.0 migration, just use structs under macro_toolset::string_v2
and check if everything works.
The most significant change is that StringExt
is removed and just use std String
with trait PushAnyT
instead.
If you just make use of str_concat
macro, nothing needs to be changed.
For more details please refer to the docs and examples.
GPL-3.0-only