UNPKG

sanity

Version:

Sanity is a real-time content infrastructure with a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches

31 lines (26 loc) 909 B
import {isArraySchemaType, isObjectSchemaType, isPrimitiveSchemaType} from '@sanity/types' import { type ArrayOfObjectsFormNode, type ArrayOfPrimitivesFormNode, type FieldMember, type ObjectFormNode, } from '../../../store' export function isMemberObject(member: FieldMember): member is FieldMember<ObjectFormNode> { return isObjectSchemaType(member.field.schemaType) } export function isMemberArrayOfPrimitives( member: FieldMember, ): member is FieldMember<ArrayOfPrimitivesFormNode> { return ( isArraySchemaType(member.field.schemaType) && member.field.schemaType.of.every((ofType) => isPrimitiveSchemaType(ofType)) ) } export function isMemberArrayOfObjects( member: FieldMember, ): member is FieldMember<ArrayOfObjectsFormNode> { return ( isArraySchemaType(member.field.schemaType) && member.field.schemaType.of.every((ofType) => isObjectSchemaType(ofType)) ) }