@sanity/sdk
Version:
20 lines (16 loc) • 610 B
text/typescript
import {type ValidProjection} from './types'
export const PROJECTION_TAG = 'projection'
export const PROJECTION_PERSPECTIVE = 'raw'
export const PROJECTION_STATE_CLEAR_DELAY = 1000
export const STABLE_EMPTY_PROJECTION = {
data: null,
isPending: false,
}
export function validateProjection(projection: string): ValidProjection {
if (!projection.startsWith('{') || !projection.endsWith('}')) {
throw new Error(
`Invalid projection format: "${projection}". Projections must be enclosed in curly braces, e.g. "{title, 'author': author.name}"`,
)
}
return projection as ValidProjection
}