/ haystack / testing / sample_components / remainder.py
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}