Source code for ReFreSH.MobileSuit.Decorators

from . import DecoratorNames
from ..Decorators.SuitArgParser import *


[docs] def SuitIgnore(func): """Represents that this member should be ignored by Mobile Suit.""" func.____suit_ignored = True return func
[docs] def SuitAlias(alias: str): """ Alias for a SuitObject's member :param alias: Alias for a SuitObject's member """ def decorator(func): if not hasattr(func, DecoratorNames.suit_alias): setattr(func, DecoratorNames.suit_alias, []) getattr(func, DecoratorNames.suit_alias).append(alias) return func return decorator
[docs] def SuitInfo(expr: str, resObj=None): """ Stores the information of a member to be displayed. :param resObj: Resource class :param expr: The information. """ def decorator(func): setattr(func, DecoratorNames.suit_info, (expr, resObj)) return func return decorator
[docs] def SuitArgInjected(arg_name: str): """ Indicate that Mobile Suit should Inject to this argument. :param arg_name: The name of the argument to inject. """ def decorator(func): if not hasattr(func, DecoratorNames.suit_injected): setattr(func, DecoratorNames.suit_injected, []) getattr(func, DecoratorNames.suit_injected).append(arg_name) return func return decorator
__all__ = [nameof(x) for x in [SuitAlias, SuitIgnore, SuitInfo, SuitArgParser, SuitArgInjected]]