typing: Annotate Iterators more specifically.
This commit is contained in:
		
							parent
							
								
									999ca2c5e1
								
							
						
					
					
						commit
						bd0d607032
					
				
					 4 changed files with 6 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -293,13 +293,13 @@ class Posting(BasePosting):
 | 
			
		|||
        )
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_txn(cls, txn: Transaction) -> Iterable['Posting']:
 | 
			
		||||
    def from_txn(cls, txn: Transaction) -> Iterator['Posting']:
 | 
			
		||||
        """Yield an enhanced Posting object for every posting in the transaction"""
 | 
			
		||||
        for index, post in enumerate(txn.postings):
 | 
			
		||||
            yield cls.from_beancount(txn, index, post)
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_entries(cls, entries: Iterable[Directive]) -> Iterable['Posting']:
 | 
			
		||||
    def from_entries(cls, entries: Iterable[Directive]) -> Iterator['Posting']:
 | 
			
		||||
        """Yield an enhanced Posting object for every posting in these entries"""
 | 
			
		||||
        for entry in entries:
 | 
			
		||||
            # Because Beancount's own Transaction class isn't type-checkable,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,7 +22,7 @@ from typing import (
 | 
			
		|||
    AbstractSet,
 | 
			
		||||
    Any,
 | 
			
		||||
    Dict,
 | 
			
		||||
    Iterable,
 | 
			
		||||
    Iterator,
 | 
			
		||||
    List,
 | 
			
		||||
    Optional,
 | 
			
		||||
    Set,
 | 
			
		||||
| 
						 | 
				
			
			@ -93,7 +93,7 @@ class HookRegistry:
 | 
			
		|||
        for mod_name, hook_names in self.INCLUDED_HOOKS.items():
 | 
			
		||||
            self.import_hooks(mod_name, *(hook_names or []), package=self.__module__)
 | 
			
		||||
 | 
			
		||||
    def group_by_directive(self, config_str: str='') -> Iterable[Tuple[HookName, Type[Hook]]]:
 | 
			
		||||
    def group_by_directive(self, config_str: str='') -> Iterator[Tuple[HookName, Type[Hook]]]:
 | 
			
		||||
        config_str = config_str.strip()
 | 
			
		||||
        if not config_str:
 | 
			
		||||
            config_str = 'all'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -259,7 +259,7 @@ class _RequireLinksPostingMetadataHook(_PostingHook):
 | 
			
		|||
                        txn: Transaction,
 | 
			
		||||
                        post: data.Posting,
 | 
			
		||||
                        keys: Sequence[MetaKey],
 | 
			
		||||
    ) -> Iterable[errormod.InvalidMetadataError]:
 | 
			
		||||
    ) -> Iterator[errormod.InvalidMetadataError]:
 | 
			
		||||
        have_docs = False
 | 
			
		||||
        for key in keys:
 | 
			
		||||
            try:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -143,7 +143,7 @@ class RelatedPostings(Sequence[data.Posting]):
 | 
			
		|||
    def clear(self) -> None:
 | 
			
		||||
        self._postings.clear()
 | 
			
		||||
 | 
			
		||||
    def iter_with_balance(self) -> Iterable[Tuple[data.Posting, Balance]]:
 | 
			
		||||
    def iter_with_balance(self) -> Iterator[Tuple[data.Posting, Balance]]:
 | 
			
		||||
        balance = MutableBalance()
 | 
			
		||||
        for post in self:
 | 
			
		||||
            balance.add_amount(post.units)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue