def METHOD_NAME(
    name: str, asset_key: AssetKey, fn: Callable
) -> Mapping[AssetKey, Tuple[str, In]]:
    asset_params = get_function_params_without_context_or_config_or_resources(fn)
    if len(asset_params) == 0:
        input_name = stringify_asset_key_to_input_name(asset_key)
        in_def = In(cast(type, Nothing))
    elif len(asset_params) == 1:
        input_name = asset_params[0].name
        in_def = In(metadata={}, input_manager_key=None, dagster_type=NoValueSentinel)
    else:
        raise DagsterInvalidDefinitionError(
            f"When defining check '{name}', multiple target assets provided as parameters:"
            f" {[param.name for param in asset_params]}. Only one"
            " is allowed."
        )
    return {
        asset_key: (
            input_name,
            in_def,
        )
    }