Skip to content

Commit 152b258

Browse files
committed
chore(plugin): Use typing_extensions and TYPE_CHECKING
1 parent d6a843d commit 152b258

File tree

1 file changed

+31
-29
lines changed

1 file changed

+31
-29
lines changed

src/tmuxp/plugin.py

+31-29
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,19 @@
2626
TMUXP_MAX_VERSION = None
2727

2828

29-
class VersionConstraints(t.TypedDict):
30-
version: t.Union[Version, str]
31-
vmin: str
32-
vmax: t.Optional[str]
33-
incompatible: t.List[t.Union[t.Any, str]]
29+
if t.TYPE_CHECKING:
30+
from typing_extensions import TypedDict
3431

32+
class VersionConstraints(TypedDict):
33+
version: t.Union[Version, str]
34+
vmin: str
35+
vmax: t.Optional[str]
36+
incompatible: t.List[t.Union[t.Any, str]]
3537

36-
class TmuxpPluginVersionConstraints(t.TypedDict):
37-
tmux: VersionConstraints
38-
tmuxp: VersionConstraints
39-
libtmux: VersionConstraints
38+
class TmuxpPluginVersionConstraints(TypedDict):
39+
tmux: VersionConstraints
40+
tmuxp: VersionConstraints
41+
libtmux: VersionConstraints
4042

4143

4244
class TmuxpPlugin:
@@ -100,32 +102,32 @@ def __init__(
100102
self.libtmux_version = libtmux.__about__.__version__
101103
self.tmuxp_version = Version(__version__)
102104

103-
self.version_constraints = TmuxpPluginVersionConstraints(
104-
tmux=VersionConstraints(
105-
version=self.tmux_version,
106-
vmin=tmux_min_version,
107-
vmax=tmux_max_version,
108-
incompatible=tmux_version_incompatible
105+
self.version_constraints: "TmuxpPluginVersionConstraints" = {
106+
"tmux": {
107+
"version": self.tmux_version,
108+
"vmin": tmux_min_version,
109+
"vmax": tmux_max_version,
110+
"incompatible": tmux_version_incompatible
109111
if tmux_version_incompatible
110112
else [],
111-
),
112-
libtmux=VersionConstraints(
113-
version=self.libtmux_version,
114-
vmin=libtmux_min_version,
115-
vmax=libtmux_max_version,
116-
incompatible=libtmux_version_incompatible
113+
},
114+
"libtmux": {
115+
"version": self.libtmux_version,
116+
"vmin": libtmux_min_version,
117+
"vmax": libtmux_max_version,
118+
"incompatible": libtmux_version_incompatible
117119
if libtmux_version_incompatible
118120
else [],
119-
),
120-
tmuxp=VersionConstraints(
121-
version=self.tmuxp_version,
122-
vmin=tmuxp_min_version,
123-
vmax=tmuxp_max_version,
124-
incompatible=tmuxp_version_incompatible
121+
},
122+
"tmuxp": {
123+
"version": self.tmuxp_version,
124+
"vmin": tmuxp_min_version,
125+
"vmax": tmuxp_max_version,
126+
"incompatible": tmuxp_version_incompatible
125127
if tmuxp_version_incompatible
126128
else [],
127-
),
128-
)
129+
},
130+
}
129131

130132
self._version_check()
131133

0 commit comments

Comments
 (0)