mirror of
				https://github.com/onyx-and-iris/obsws-python.git
				synced 2025-10-30 20:31:53 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			21 lines
		
	
	
		
			412 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			412 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import re
 | |
| from dataclasses import dataclass
 | |
| 
 | |
| 
 | |
| def to_camel_case(s):
 | |
|     return "".join(word.title() for word in s.split("_"))
 | |
| 
 | |
| 
 | |
| def to_snake_case(s):
 | |
|     return re.sub(r"(?<!^)(?=[A-Z])", "_", s).lower()
 | |
| 
 | |
| 
 | |
| def as_dataclass(identifier, data):
 | |
|     return dataclass(
 | |
|         type(
 | |
|             f"{identifier}Dataclass",
 | |
|             (),
 | |
|             {**{to_snake_case(k): v for k, v in data.items()}},
 | |
|         )
 | |
|     )
 |