remainder.py
1 # SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai> 2 # 3 # SPDX-License-Identifier: Apache-2.0 4 5 from haystack.core.component import component 6 7 8 @component 9 class Remainder: 10 def __init__(self, divisor: int = 3) -> None: 11 if divisor == 0: 12 raise ValueError("Can't divide by zero") 13 self.divisor = divisor 14 component.set_output_types(self, **{f"remainder_is_{val}": int for val in range(divisor)}) 15 16 def run(self, value: int): 17 """ 18 :param value: the value to check the remainder of. 19 """ 20 remainder = value % self.divisor 21 return {f"remainder_is_{remainder}": value}