INNER CODE UNIT · Python

ErasedHandler

metatypedev/metatype · src/pyrt_wit_wire/main.py:95

class ErasedHandler:
    def __init__(self, handler_fn: HandlerFn[T]) -> None:
        self.handler_fn = handler_fn
        self.param_count = len(inspect.signature(self.handler_fn).parameters)

    def handle(self, req: HandleReq):
        in_parsed = json.loads(req.in_json)
        if self.param_count == 1:
            out = self.handler_fn(in_parsed)
        else:
            out = self.handler_fn(in_parsed, gql_fn)
        return json.dumps(out)


def op_to_handler(op: MatInfo) -> ErasedHandler:
    data_parsed = json.loads(op.mat_data_json)
    if data_parsed["ty"] == "def":
        module = types.ModuleType(op.op_name)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…