Coverage for src / remedapy / random_string.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.13.2, created at 2026-02-02 10:52 +0100

1import random 

2import string 

3from collections.abc import Callable 

4from typing import overload 

5 

6from remedapy.decorator import make_data_last 

7 

8 

9@overload 

10def random_string(length: int, /) -> str: ... 

11 

12 

13@overload 

14def random_string() -> Callable[[int], str]: ... 

15 

16 

17@make_data_last 

18def random_string(length: int, /) -> str: 

19 characters = string.ascii_letters + string.digits 

20 return ''.join(random.choices(characters, k=length))