Path 1: 5 calls (0.83)

ellipsis (3) 'baz' (1) True (1)

StringIO (5)

True (2) 'foo' (1) 100 (1) False (1)

InvalidResponse (5)

1def __call__(self, *, default: Any = ..., stream: Optional[TextIO] = None) -> Any:
2        """Run the prompt loop.
3
4        Args:
5            default (Any, optional): Optional default value.
6
7        Returns:
8            PromptType: Processed value.
9        """
10        while True:
11            self.pre_prompt()
12            prompt = self.make_prompt(default)
13            value = self.get_input(self.console, prompt, self.password, stream=stream)
14            if value == "" and default != ...:
15                return default
16            try:
17                return_value = self.process_response(value)
18            except InvalidResponse as error:
19                self.on_validate_error(value, error)
20                continue
21            else:
22                return return_value
            

Path 2: 1 calls (0.17)

'Will' (1)

StringIO (1)

'Will' (1)

1def __call__(self, *, default: Any = ..., stream: Optional[TextIO] = None) -> Any:
2        """Run the prompt loop.
3
4        Args:
5            default (Any, optional): Optional default value.
6
7        Returns:
8            PromptType: Processed value.
9        """
10        while True:
11            self.pre_prompt()
12            prompt = self.make_prompt(default)
13            value = self.get_input(self.console, prompt, self.password, stream=stream)
14            if value == "" and default != ...:
15                return default
16            try:
17                return_value = self.process_response(value)
18            except InvalidResponse as error:
19                self.on_validate_error(value, error)
20                continue
21            else:
22                return return_value