UNPKG

@datocms/cma-client

Version:
37 lines 1.38 kB
import { isLocalizedFieldValue, } from '../utilities/normalizedFieldValues'; /** * ============================================================================= * TYPE GUARDS - Runtime validation functions * ============================================================================= */ /** * Type guard for basic File field values (response format with all fields present). * Validates that all required metadata fields are present. */ export function isFileFieldValue(value) { if (value === null) return true; return (isLocalizedFieldValue(value) && 'upload_id' in value && 'alt' in value && 'title' in value && 'custom_data' in value && 'focal_point' in value); } /** * Type guard for File field values in API request format. * Allows metadata fields to be optional or omitted. */ export function isFileFieldValueInRequest(value) { if (value === null) return true; return typeof value === 'object' && value !== null && 'upload_id' in value; } export function isLocalizedFileFieldValue(value) { return (isLocalizedFieldValue(value) && Object.values(value).every(isFileFieldValue)); } export function isLocalizedFileFieldValueInRequest(value) { return (isLocalizedFieldValue(value) && Object.values(value).every(isFileFieldValueInRequest)); } //# sourceMappingURL=file.js.map