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
17 lines (14 loc) • 761 B
text/typescript
import {type ApiSpecification, type GeneratedApiSpecification, type InputObjectType} from '../types'
import {generateTypeFilters} from './generateTypeFilters'
import {generateTypeQueries} from './generateTypeQueries'
import {generateTypeSortings} from './generateTypeSortings'
export default (extracted: ApiSpecification): GeneratedApiSpecification => {
const filters = generateTypeFilters(extracted.types)
const sortings = generateTypeSortings(extracted.types)
const queries = generateTypeQueries(
extracted.types,
sortings.filter((node): node is InputObjectType => node.kind === 'InputObject'),
)
const types = [...extracted.types, ...filters, ...sortings]
return {types, queries, interfaces: extracted.interfaces, generation: 'gen2'}
}