Skip to content

Commit 72a7710

Browse files
authored
fix: make plugin generic on config (#3)
1 parent 0620dbb commit 72a7710

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/litestar_oracledb/plugin.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from __future__ import annotations
22

3-
from typing import TYPE_CHECKING, cast
3+
from typing import TYPE_CHECKING, cast, TypeVar, Generic
44

55
from litestar.di import Provide
66
from litestar.plugins import InitPluginProtocol
@@ -12,16 +12,19 @@
1212
from litestar_oracledb.config import AsyncDatabaseConfig, SyncDatabaseConfig
1313

1414

15+
ConfigT = TypeVar("ConfigT", bound="AsyncDatabaseConfig | SyncDatabaseConfig")
16+
17+
1518
class SlotsBase:
1619
__slots__ = ("_config",)
1720

1821

19-
class OracleDatabasePlugin(InitPluginProtocol, SlotsBase):
22+
class OracleDatabasePlugin(InitPluginProtocol, SlotsBase, Generic[ConfigT]):
2023
"""Oracledb plugin."""
2124

2225
__slots__ = ()
2326

24-
def __init__(self, config: SyncDatabaseConfig | AsyncDatabaseConfig) -> None:
27+
def __init__(self, config: ConfigT) -> None:
2528
"""Initialize ``oracledb``.
2629
2730
Args:
@@ -30,7 +33,7 @@ def __init__(self, config: SyncDatabaseConfig | AsyncDatabaseConfig) -> None:
3033
self._config = config
3134

3235
@property
33-
def config(self) -> SyncDatabaseConfig | AsyncDatabaseConfig:
36+
def config(self) -> ConfigT:
3437
"""Return the plugin config.
3538
3639
Returns:

0 commit comments

Comments
 (0)