permission_macro 0.1.1

A sub-crate of `permission_check`, which is used to provide more extensive support for build-time checking of permissions.
Documentation
# permission_macro

A sub-crate of `permission_check`, which is used to provide more extensive support for build-time checking of permissions.

### A simple example
```rs
use permission_macro::{perm_parser, perm_expr};

#[test]
fn test_1() {
    let checker = perm_expr!(
        ((org.1047.role.admin.enact | org.1047.role.owner.enact) | (org.1047.user.write && (org.1047.user.read | org.1047.user.read_one)) | (org.1047.user.243.read && org.1047.user.243.write)) &
        !(user.blacklist.enact & !user.blacklist.*)
    );
    let org_id = 1047;
    let user_id = 243;
    assert_eq!(
        checker.with_perm(vec![
            perm_parser!(org.{org_id}.user.{user_id}.read),
            perm_parser!(org.{org_id}.user.{user_id}.write)
        ]),
        true
    );
    let org_id = 1047;
    let user_id = 244;
    assert_eq!(
        checker.with_perm(vec![
            perm_parser!(org.{org_id}.user.{user_id}.read),
            perm_parser!(org.{org_id}.user.{user_id}.write)
        ]),
        false
    );
}
```

For better example, check the README in `permission_check` crate


### Every crate link
[permission_check](https://crates.io/crates/permission_check)

[permission_parser](https://crates.io/crates/permission_parser)

[permission_macro](https://crates.io/crates/permission_macro)