Crates.io | macro-toolset |
lib.rs | macro-toolset |
version | 0.8.3 |
created_at | 2024-11-08 14:00:18.928764+00 |
updated_at | 2025-03-16 11:30:07.497874+00 |
description | Some useful macros |
homepage | |
repository | https://github.com/cxw620/macro-toolset |
max_upload_size | |
id | 1441233 |
size | 239,815 |
Some useful macros, to make the repetitive code less.
str_concat
almost everythingThe 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 add rand
to your Cargo.toml
.feat-random-fast
: Random number / string related utilities. You shall add rand
to your Cargo.toml
.feat-string
: String related utilities.
feat-string-ext-ammonia
: Serializes an ammonia::Document
instance without allocation.feat-string-ext-base64
: wrapper that indicates the inner slice should be encoded in base64 over &[u8]
feat-string-ext-chrono
: crate chrono
integration.feat-string-ext-hex
: hex encoding based on const-hex
, with better performance than NumStr
.feat-string-ext-http
: crate http
integration.feat-string-ext-rand
: random number / string support.feat-string-ext-ryu
: float number support.feat-string-ext-urlencoding
: urlencoding support.1.75.0
This crate is currently intended for personal use mostly, but contributions are welcome.
no_std
support (0.9.0?).
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, I think.
For more details please refer to the docs and examples.
GPL-3.0-only