mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-07-11 20:21:57 +00:00
fix some broken types
This commit is contained in:
@@ -83,15 +83,15 @@ class SandboxedPlugin:
|
|||||||
sysmodules[key.replace("decky_loader.", "")] = sysmodules[key]
|
sysmodules[key.replace("decky_loader.", "")] = sysmodules[key]
|
||||||
|
|
||||||
from .imports import decky
|
from .imports import decky
|
||||||
async def emit_message(event: str, data: DataType | None = None, data_type: Type[DataType] | None = None) -> None:
|
async def emit(event: str, data: DataType | None = None, data_type: Type[DataType] | None = None) -> None:
|
||||||
await self._socket.write_single_line_server(dumps({
|
await self._socket.write_single_line_server(dumps({
|
||||||
"type": SocketMessageType.EVENT,
|
"type": SocketMessageType.EVENT,
|
||||||
"event": event,
|
"event": event,
|
||||||
"data": data
|
"data": data
|
||||||
}))
|
}))
|
||||||
# copy the docstring over so we don't have to duplicate it
|
# copy the docstring over so we don't have to duplicate it
|
||||||
emit_message.__doc__ = decky.emit_message.__doc__
|
emit.__doc__ = decky.emit.__doc__
|
||||||
decky.emit_message = emit_message
|
decky.emit = emit
|
||||||
sysmodules["decky"] = decky
|
sysmodules["decky"] = decky
|
||||||
# provided for compatibility
|
# provided for compatibility
|
||||||
sysmodules["decky_plugin"] = decky
|
sysmodules["decky_plugin"] = decky
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
from _typeshed import DataclassInstance
|
|
||||||
from logging import getLogger
|
from logging import getLogger
|
||||||
|
|
||||||
from asyncio import AbstractEventLoop, create_task
|
from asyncio import AbstractEventLoop, create_task
|
||||||
@@ -27,8 +26,8 @@ class MessageType(IntEnum):
|
|||||||
# WSMessage with slightly better typings
|
# WSMessage with slightly better typings
|
||||||
class WSMessageExtra(WSMessage):
|
class WSMessageExtra(WSMessage):
|
||||||
# TODO message typings here too
|
# TODO message typings here too
|
||||||
data: Any
|
data: Any # type: ignore yes you can extend it
|
||||||
type: WSMsgType
|
type: WSMsgType # type: ignore
|
||||||
|
|
||||||
# see wsrouter.ts for typings
|
# see wsrouter.ts for typings
|
||||||
|
|
||||||
@@ -133,7 +132,6 @@ class WSRouter:
|
|||||||
self.logger.debug('Firing frontend event %s with args %s', data)
|
self.logger.debug('Firing frontend event %s with args %s', data)
|
||||||
sent_data: Dict[Any, Any] | None = cast(Dict[Any, Any], data)
|
sent_data: Dict[Any, Any] | None = cast(Dict[Any, Any], data)
|
||||||
if is_dataclass(data):
|
if is_dataclass(data):
|
||||||
data_as_dataclass = cast(DataclassInstance, data)
|
sent_data = asdict(data) # type: ignore Argument of type "DataclassInstance | type[DataclassInstance]" cannot be assigned to parameter "obj" of type "DataclassInstance" in function "asdict"
|
||||||
sent_data = asdict(data_as_dataclass)
|
|
||||||
|
|
||||||
await self.write({ "type": MessageType.EVENT.value, "event": event, "data": sent_data })
|
await self.write({ "type": MessageType.EVENT.value, "event": event, "data": sent_data })
|
||||||
|
|||||||
Reference in New Issue
Block a user