@sanity/schema
Version:
23 lines (21 loc) • 653 B
text/typescript
import {isPlainObject, toPath} from 'lodash'
export function normalizeSearchConfigs(configs: any) {
if (!Array.isArray(configs)) {
throw new Error(
'The search config of a document type must be an array of search config objects',
)
}
return configs.map((conf) => {
if (conf === 'defaults') {
return conf
}
if (!isPlainObject(conf)) {
throw new Error('Search config must be an object of {path: string, weight: number}')
}
return {
weight: 'weight' in conf ? conf.weight : 1,
path: toPath(conf.path),
mapWith: typeof conf.mapWith === 'string' ? conf.mapWith : undefined,
}
})
}