Crate query_flow_macros

Crate query_flow_macros 

Source
Expand description

Procedural macros for query-flow.

This crate provides attribute macros for defining queries and asset keys with minimal boilerplate.

§Query Example

use query_flow::{query, QueryContext, QueryError};

#[query]
pub fn add(ctx: &mut QueryContext, a: i32, b: i32) -> Result<i32, QueryError> {
    Ok(a + b)
}

// Generates:
// pub struct Add { pub a: i32, pub b: i32 }
// impl Query for Add { ... }

§Asset Key Example

use query_flow::asset_key;

#[asset_key(asset = String)]
pub struct ConfigFile(pub PathBuf);

#[asset_key(asset = String, durability = constant)]
pub struct BundledAsset(pub PathBuf);

// Generates:
// impl AssetKey for ConfigFile { type Asset = String; ... }

Attribute Macros§

asset_key
Define an asset key type.
query
Define a query from a function.