Source code for django_api_orm.utils
"""Utility functions for django-api-orm."""
from typing import Any
[docs]
def build_query_params(**filters: Any) -> dict[str, str]:
"""Build query parameters from filter kwargs.
Args:
**filters: Key-value pairs to convert to query parameters
Returns:
Dictionary of query parameters with string values
"""
params: dict[str, str] = {}
for key, value in filters.items():
if value is not None:
params[key] = str(value)
return params
[docs]
def merge_dicts(*dicts: dict[str, Any] | None) -> dict[str, Any]:
"""Merge multiple dictionaries, with later dicts taking precedence.
Args:
*dicts: Variable number of dictionaries to merge
Returns:
Merged dictionary
"""
result: dict[str, Any] = {}
for d in dicts:
if d is not None:
result.update(d)
return result
[docs]
def chunk_list(items: list[Any], chunk_size: int) -> list[list[Any]]:
"""Split a list into chunks of specified size.
Args:
items: List to split
chunk_size: Size of each chunk
Returns:
List of chunked lists
"""
return [items[i : i + chunk_size] for i in range(0, len(items), chunk_size)]