UNPKG

@goatlab/typesense

Version:

Modern TypeScript wrapper for Typesense search engine API

18 lines (17 loc) 840 B
import type { TypesenseHttpClient } from './components/http-client'; import type { ResiliencePolicy } from './components/resilience-policy'; import type { CollectionSchemaManager } from './components/schema-manager'; export interface TypesenseContext<TDoc = unknown> { httpClient: TypesenseHttpClient; resilience: ResiliencePolicy; schemaManager: CollectionSchemaManager; tenantId?: string; collectionName: string; typesenseVersion?: string; autoCreateCollection?: boolean; suppressLogs?: boolean; fqcn: (baseCollectionName?: string) => string; docType?: TDoc; } export type Rest<Ctx, A> = Omit<A, keyof Ctx>; export type Callable<F extends (a: any) => any, Ctx> = Rest<Ctx, Parameters<F>[0]> extends Record<string, never> ? () => ReturnType<F> : (arg: Rest<Ctx, Parameters<F>[0]>) => ReturnType<F>;