18 lines
443 B
Python
18 lines
443 B
Python
|
"""General utility methods"""
|
||
|
|
||
|
# Copyright (c) Jupyter Development Team.
|
||
|
# Distributed under the terms of the Modified BSD License.
|
||
|
|
||
|
import inspect
|
||
|
from typing import Any, Callable, Optional
|
||
|
|
||
|
from jupyter_core.utils import ensure_async, run_sync # noqa: F401
|
||
|
|
||
|
|
||
|
async def run_hook(hook: Optional[Callable], **kwargs: Any) -> None:
|
||
|
if hook is None:
|
||
|
return
|
||
|
res = hook(**kwargs)
|
||
|
if inspect.isawaitable(res):
|
||
|
await res
|