near_plugins_derive/
lib.rs

1use proc_macro::{self, TokenStream};
2
3mod full_access_key_fallback;
4mod ownable;
5mod pausable;
6mod upgradable;
7mod utils;
8
9#[proc_macro_derive(Ownable, attributes(ownable))]
10pub fn derive_ownable(input: TokenStream) -> TokenStream {
11    ownable::derive_ownable(input)
12}
13
14#[proc_macro_attribute]
15pub fn only(attrs: TokenStream, item: TokenStream) -> TokenStream {
16    ownable::only(attrs, item)
17}
18
19#[proc_macro_derive(Upgradable, attributes(upgradable))]
20pub fn derive_upgradable(input: TokenStream) -> TokenStream {
21    upgradable::derive_upgradable(input)
22}
23
24#[proc_macro_derive(FullAccessKeyFallback)]
25pub fn derive_fak_fallback(input: TokenStream) -> TokenStream {
26    full_access_key_fallback::derive_fak_fallback(input)
27}
28
29#[proc_macro_derive(Pausable)]
30pub fn derive_pausable(input: TokenStream) -> TokenStream {
31    pausable::derive_pausable(input)
32}
33
34#[proc_macro_attribute]
35pub fn pause(attrs: TokenStream, item: TokenStream) -> TokenStream {
36    pausable::pause(attrs, item)
37}
38
39#[proc_macro_attribute]
40pub fn if_paused(attrs: TokenStream, item: TokenStream) -> TokenStream {
41    pausable::if_paused(attrs, item)
42}