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
26 lines (20 loc) • 699 B
text/typescript
import {type SanityClient} from '@sanity/client'
import {type Observable} from 'rxjs'
import {type ProjectData, type ProjectStore} from './types'
/** @internal */
export function createProjectStore(context: {client: SanityClient}): ProjectStore {
const {client} = context
const projectId = client.config().projectId
const versionedClient = client.withConfig({apiVersion: '2021-12-15'})
function get(): Observable<ProjectData> {
return versionedClient.observable.request({
url: `/projects/${projectId}`,
})
}
function getDatasets() {
return versionedClient.observable.request({
url: `/projects/${projectId}/datasets`,
})
}
return {get, getDatasets}
}