diff --git a/pyrightconfig.stricter.json b/pyrightconfig.stricter.json index 9682568f3f9c..9935869d4c73 100644 --- a/pyrightconfig.stricter.json +++ b/pyrightconfig.stricter.json @@ -34,7 +34,7 @@ "stubs/boltons", "stubs/braintree", "stubs/cffi", - "stubs/click-web", + "stubs/click-web/resources/input_fields.pyi", "stubs/dateparser", "stubs/defusedxml", "stubs/docker", diff --git a/stubs/click-web/click_web/resources/cmd_form.pyi b/stubs/click-web/click_web/resources/cmd_form.pyi index fff80bd290ee..d3f3ed573489 100644 --- a/stubs/click-web/click_web/resources/cmd_form.pyi +++ b/stubs/click-web/click_web/resources/cmd_form.pyi @@ -1,6 +1,13 @@ +from typing import Any, TypedDict, type_check_only + import click +@type_check_only +class _FormData(TypedDict): + command: click.Command + fields: list[dict[str, Any]] # each item is result of resources.input_fields.get_input_field() function + def get_form_for(command_path: str) -> str: ... def _get_commands_by_path(command_path: str) -> list[tuple[click.Context, click.Command]]: ... -def _generate_form_data(ctx_and_commands: list[tuple[click.Context, click.Command]]): ... +def _generate_form_data(ctx_and_commands: list[tuple[click.Context, click.Command]]) -> list[_FormData]: ... def _process_help(help_text: bool) -> str: ... diff --git a/stubs/click-web/click_web/resources/input_fields.pyi b/stubs/click-web/click_web/resources/input_fields.pyi index bffb313868b2..ec2ede4d14b2 100644 --- a/stubs/click-web/click_web/resources/input_fields.pyi +++ b/stubs/click-web/click_web/resources/input_fields.pyi @@ -25,7 +25,7 @@ class FieldId: form_type: str, name: str, key: str | None = None, - ): ... + ) -> None: ... @classmethod def from_string(cls, field_info_as_string: str) -> FieldId: ... @@ -44,7 +44,7 @@ class BaseInput: @property def type_attrs(self) -> dict[str, Any]: ... def _to_cmd_line_name(self, name: str) -> str: ... - def _build_name(self, name: str): ... + def _build_name(self, name: str) -> str: ... class ChoiceInput(BaseInput): if sys.version_info >= (3, 10): @@ -82,4 +82,4 @@ class DefaultInput(BaseInput): INPUT_TYPES: Final[list[type[BaseInput]]] _DEFAULT_INPUT: Final[list[type[DefaultInput]]] -def get_input_field(ctx: click.Context, param: click.Parameter, command_index, param_index) -> dict[str, Any]: ... +def get_input_field(ctx: click.Context, param: click.Parameter, command_index: int, param_index: int) -> dict[str, Any]: ...