Skip to content

Commit d61ef48

Browse files
Declare the package supports typing
1 parent 89a3223 commit d61ef48

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

setup.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[options.package_data]
22
mercury_engine_data_structures =
3+
py.typed
34
*.bin
45

56
[options.exclude_package_data]

src/mercury_engine_data_structures/formats/bmsad.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import copy
22
import functools
33
import typing
4+
from collections.abc import Sequence
45

56
import construct
67
from construct.core import (
@@ -597,12 +598,13 @@ def copy_fields_from(self, value: ComponentFields):
597598
if self.target_game == Game.DREAD:
598599
self.raw.extra_fields = value.parent.raw.extra_fields
599600

601+
# FIXME: mypy doesn't support getter/setter with different types: https://github.com/python/mypy/issues/13127
600602
@property
601-
def functions(self) -> tuple[ActorDefFunc, ...]:
603+
def functions(self) -> Sequence[ActorDefFunc]:
602604
return tuple(ActorDefFunc(func) for func in self.raw.functions)
603605

604606
@functions.setter
605-
def functions(self, value: typing.Iterable[ActorDefFunc]):
607+
def functions(self, value: Sequence[ActorDefFunc]):
606608
self.raw.functions = ListContainer(
607609
Container(func.raw) for func in value
608610
)

src/mercury_engine_data_structures/formats/toc.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,18 @@ def system_files_name(cls) -> str:
3737

3838
def get_size_for(self, asset_id: NameOrAssetId) -> Optional[int]:
3939
asset_id = resolve_asset_id(asset_id, self.target_game)
40-
return self.raw.files.get(asset_id)
40+
return self._raw.files.get(asset_id)
4141

4242
def add_file(self, asset_id: NameOrAssetId, file_size: int):
4343
asset_id = resolve_asset_id(asset_id, self.target_game)
44-
self.raw.files[asset_id] = file_size
44+
self._raw.files[asset_id] = file_size
4545

4646
def remove_file(self, asset_id: NameOrAssetId):
4747
resolved_asset_id = resolve_asset_id(asset_id, self.target_game)
48-
if resolved_asset_id not in self.raw.files:
48+
if resolved_asset_id not in self._raw.files:
4949
raise ValueError(f"Unknown asset_id: {asset_id}")
5050

51-
del self.raw.files[resolved_asset_id]
51+
del self._raw.files[resolved_asset_id]
5252

5353
def get_all_asset_id(self) -> Iterator[int]:
54-
yield from self.raw.files.keys()
54+
yield from self._raw.files.keys()

src/mercury_engine_data_structures/py.typed

Whitespace-only changes.

0 commit comments

Comments
 (0)