"""
Result pattern utilities for TouchDesigner MCP Web server
Provides utility functions for handling success and failure results
"""
from typing import Any, Optional
from .types import Result
def success_result(data: Any) -> Result:
"""
Create a success result with data
Args:
data: The success result data
Returns:
Result dictionary with success flag and data
"""
return {"success": True, "data": data, "error": None}
def error_result(message: str, metadata: Optional[dict[str, Any]] = None) -> Result:
"""
Create an error result with message and optional metadata
Args:
message: The error message
metadata: Optional additional error metadata
Returns:
Result dictionary with error information
"""
result = {"success": False, "data": None, "error": message}
if metadata:
result.update(metadata)
return result