Path 1: 20 calls (0.74)

tuple (9) ('dummy',) (1) (0,) (1) (-1,) (1) (1,) (1) (23,) (1) (3.14,) (1) ('s',) (1) ('longer string',) (1) (True,) (1)

{} (20)

dict (5) 'dummy' (1) {'foo': 'bar'} (1) ['foo', 'bar'] (1) {'msg': 'W00t'} (1) 0 (1) -1 (1) 1 (1) 23 (1) 3.14 (1)

1def _prepare_response_obj(
2        self, args: tuple[t.Any, ...], kwargs: dict[str, t.Any]
3    ) -> t.Any:
4        if args and kwargs:
5            raise TypeError("app.json.response() takes either args or kwargs, not both")
6
7        if not args and not kwargs:
8            return None
9
10        if len(args) == 1:
11            return args[0]
12
13        return args or kwargs
            

Path 2: 6 calls (0.22)

() (5) tuple (1)

dict (5) {} (1)

dict (5) tuple (1)

1def _prepare_response_obj(
2        self, args: tuple[t.Any, ...], kwargs: dict[str, t.Any]
3    ) -> t.Any:
4        if args and kwargs:
5            raise TypeError("app.json.response() takes either args or kwargs, not both")
6
7        if not args and not kwargs:
8            return None
9
10        if len(args) == 1:
11            return args[0]
12
13        return args or kwargs
            

Path 3: 1 calls (0.04)

('fake args',) (1)

{'kwargs': 'fake'} (1)

TypeError (1)

1def _prepare_response_obj(
2        self, args: tuple[t.Any, ...], kwargs: dict[str, t.Any]
3    ) -> t.Any:
4        if args and kwargs:
5            raise TypeError("app.json.response() takes either args or kwargs, not both")
6
7        if not args and not kwargs:
8            return None
9
10        if len(args) == 1:
11            return args[0]
12
13        return args or kwargs