#web #automatic #connecting #engine #macro #action #tiny-web

macro tiny-web-macro

tiny-web-macro is a macro library for automatically connecting a web engine to the web project

2 releases

0.1.5 Mar 2, 2024
0.1.4 Feb 8, 2024
0.1.3 Dec 23, 2023
0.1.2 May 24, 2023

#1544 in Procedural macros

Download history 3/week @ 2024-02-07 1/week @ 2024-02-14 3/week @ 2024-02-21 151/week @ 2024-02-28 17/week @ 2024-03-06 5/week @ 2024-03-13 4/week @ 2024-03-20 3/week @ 2024-03-27 8/week @ 2024-04-03 67/week @ 2024-04-10

82 downloads per month
Used in tiny-web

MIT license

11KB
195 lines

tiny-web-macro

tiny-web-macro is a macro library for automatically connecting a web engine to the web project.

Installation

Add tiny-web-macro to your Cargo.toml dependencies:

[dependencies]
tiny-web-macro = "0.1"

Usage

For create engine

You need to make a closure with the tiny_web_macro::addfn!() macro and pass it as a parameter to the tiny_web::run function.

/// Actions (web controllers)
pub mod app;

fn main() {
    tiny_web::run(
        env!("CARGO_PKG_NAME"),
        env!("CARGO_PKG_VERSION"),
        env!("CARGO_PKG_DESCRIPTION"),
        || { tiny_web_macro::addfn!(); },
    );
}

For add mod

To connect to Actions (web controllers) in the tiny-web project, you need to create the file ./app/mod.rs in the project root directory. Insert this macro

tiny_web_macro::addmod!();

into the file ./app/mod.rs. In addition, it is necessary to add in main.rs the use of this module. See the example above.

For use only with static &str for fnv1a_64

tiny_web_macro::fnv1a_64_m!("index"); // -8948777187306027381

License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

~320–770KB
~18K SLoC