mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	It was allowing us to get away with wrong types on a few functions: `check_send_typing_notification` and `send_notification_backend` can be (and are) called with a list of `int` as `notification_to`, not just a list of `str`. The problem it was working around already had a better solution using the dummy `type` argument. Use that. Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
		
			
				
	
	
		
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from typing import TypeVar, Callable, Optional, List, Dict, Union, Tuple, Any
 | 
						|
from typing_extensions import TypedDict
 | 
						|
from django.http import HttpResponse
 | 
						|
 | 
						|
ViewFuncT = TypeVar('ViewFuncT', bound=Callable[..., HttpResponse])
 | 
						|
 | 
						|
# See zerver/lib/validator.py for more details of Validators,
 | 
						|
# including many examples
 | 
						|
Validator = Callable[[str, object], Optional[str]]
 | 
						|
ExtendedValidator = Callable[[str, str, object], Optional[str]]
 | 
						|
RealmUserValidator = Callable[[int, List[int], bool], Optional[str]]
 | 
						|
 | 
						|
ProfileDataElement = TypedDict('ProfileDataElement', {
 | 
						|
    'id': int,
 | 
						|
    'name': str,
 | 
						|
    'type': int,
 | 
						|
    'hint': Optional[str],
 | 
						|
    'field_data': Optional[str],
 | 
						|
    'order': int,
 | 
						|
    'value': str,
 | 
						|
    'rendered_value': Optional[str],
 | 
						|
}, total=False)  # TODO: Can we remove this requirement?
 | 
						|
ProfileData = List[ProfileDataElement]
 | 
						|
 | 
						|
FieldElement = Tuple[int, str, Validator, Callable[[Any], Any], str]
 | 
						|
ExtendedFieldElement = Tuple[int, str, ExtendedValidator, Callable[[Any], Any], str]
 | 
						|
UserFieldElement = Tuple[int, str, RealmUserValidator, Callable[[Any], Any], str]
 | 
						|
 | 
						|
ProfileFieldData = Dict[str, Union[Dict[str, str], str]]
 |