UNPKG

tinacms

Version:

[![GitHub license](https://img.shields.io/github/license/tinacms/tinacms?color=blue)](https://github.com/tinacms/tinacms/blob/main/LICENSE) [![npm version](https://img.shields.io/npm/v/tinacms.svg?style=flat)](https://www.npmjs.com/package/tinacms) [![Bui

44 lines (43 loc) 1.57 kB
import type { Config } from '@tinacms/schema-tools'; import AsyncLock from 'async-lock'; import type { GraphQLError } from 'graphql'; import type { Cache } from '../cache/index'; export declare const TINA_HOST = "content.tinajs.io"; export interface TinaClientArgs<GenQueries = Record<string, unknown>> { url: string; token?: string; queries: (client: TinaClient<GenQueries>) => GenQueries; errorPolicy?: Config['client']['errorPolicy']; cacheDir?: string; } export type TinaClientRequestArgs = { variables?: Record<string, any>; query: string; errorPolicy?: 'throw' | 'include'; } & Partial<Omit<TinaClientArgs, 'queries'>>; export type TinaClientURLParts = { host: string; clientId: string; branch: string; isLocalClient: boolean; }; export declare class TinaClient<GenQueries> { apiUrl: string; readonlyToken?: string; queries: GenQueries; errorPolicy: Config['client']['errorPolicy']; initialized: boolean; cacheLock: AsyncLock | undefined; cacheDir: string; cache: Cache; constructor({ token, url, queries, errorPolicy, cacheDir, }: TinaClientArgs<GenQueries>); init(): Promise<void>; request<DataType extends Record<string, any> = any>({ errorPolicy, ...args }: TinaClientRequestArgs, options: { fetchOptions?: Parameters<typeof fetch>[1]; }): Promise<{ data: DataType; errors: GraphQLError[] | null; query: string; }>; } export declare function createClient<GenQueries>(args: TinaClientArgs<GenQueries>): TinaClient<GenQueries>;