aiohttp_rpc.decorators.rpc_method()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 12
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 10
dl 0
loc 12
rs 9.9
c 0
b 0
f 0
cc 1
nop 4
1
import typing
2
3
from .protocol import JsonRpcMethod
4
from .server import JsonRpcServer, rpc_server as default_rpc_server
5
6
7
__all__ = (
8
    'rpc_method',
9
)
10
11
12
def rpc_method(name: typing.Optional[str] = None, *,
13
               rpc_server: JsonRpcServer = default_rpc_server,
14
               add_extra_args: bool = True) -> typing.Callable:
15
    def _decorator(func: typing.Callable) -> typing.Callable:
16
        rpc_server.add_method(JsonRpcMethod(
17
            func=func,
18
            name=name,
19
            add_extra_args=add_extra_args,
20
        ))
21
        return func
22
23
    return _decorator
24