include-zstd-derive 0.1.1

Procedural macro implementation for include-zstd compile-time compression macros.
Documentation

include-zstd

version status

English | 简体中文

include-zstd is a Rust macro library that compresses text or binary data at compile time and decompresses it on demand at runtime, returning either &'static str or &'static [u8].

Usage

1. Add dependency

Run:

cargo add include-zstd

2. Common macros

  • include_zstd::str!("..."): inline string, returns &'static str
  • include_zstd::bytes!(b"..."): inline byte string, returns &'static [u8]
  • include_zstd::file_str!("path"): reads a file and returns &'static str as UTF-8
  • include_zstd::file_bytes!("path"): reads a file and returns &'static [u8]

4. Example

fn main() {
    let _msg: &'static str = include_zstd::str!("hello include-zstd");
    let _raw: &'static [u8] = include_zstd::bytes!(b"\x00\x01\x02\x03");
    let _text: &'static str = include_zstd::file_str!("data/sample.txt");
    let _bytes: &'static [u8] = include_zstd::file_bytes!("data/sample.bin");
}