Coverage for src/lexigram/features/decorators/__init__.py: 100%

4 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-26 02:04 +0800

1"""Feature-flag–gated decorators package. 

2 

3Re-exports all four public decorators from their respective submodules. 

4 

5Usage 

6----- 

7Async functions:: 

8 

9 @feature_flag("new_billing", manager=manager) 

10 async def process_payment(order_id: str) -> None: ... 

11 

12Sync functions:: 

13 

14 @feature_flag_sync("dark_mode", manager=manager) 

15 def render_theme() -> str: ... 

16 

17Strict access guard (raises on disabled):: 

18 

19 @require_flag("admin_panel", manager=manager) 

20 async def admin_dashboard() -> Response: ... 

21""" 

22 

23from __future__ import annotations 

24 

25from lexigram.features.decorators.feature_flag import feature_flag, require_flag 

26from lexigram.features.decorators.sync import feature_flag_sync, require_flag_sync 

27 

28__all__ = [ 

29 "feature_flag", 

30 "feature_flag_sync", 

31 "require_flag", 

32 "require_flag_sync", 

33]