UNPKG

@vymalo/medusa-meilisearch

Version:

🔍 Powerful, lightning-fast search integration for MedusaJS using Meilisearch

31 lines 2.09 kB
import type { Logger, ProductDTO, SearchTypes } from '@medusajs/types'; import { AbstractSearchService } from '@medusajs/utils'; import type { EnqueuedTask, Index, IndexOptions, MeiliSearch, SearchParams, SearchResponse } from 'meilisearch' with { 'resolution-mode': 'import' }; import type { Options, SearchOption } from '../types'; import type { IMeilisearchService } from '../types'; type InjectedDependencies = { logger: Logger; meilisearch_client: MeiliSearch; }; export default class MeiliSearchService<P extends ProductDTO = ProductDTO, I extends Required<IndexOptions> = Required<IndexOptions>> extends AbstractSearchService implements IMeilisearchService { static identifier: string; static DISPLAY_NAME: string; isDefault: boolean; readonly defaultIndex: string; protected readonly logger: Logger; protected readonly client: MeiliSearch; protected readonly settings: Options['settings']; constructor(deps: InjectedDependencies, options: Options); createIndex<O extends I = I>(indexName: string, options: O): Promise<EnqueuedTask>; getIndex<T extends P = P>(indexName: string): Promise<Index<T>>; addDocuments<T extends P = P, D extends T = T>(indexName: string, documents: D[], type: string): Promise<EnqueuedTask>; replaceDocuments<T extends P = P, D extends T = T>(indexName: string, documents: D[], type: string): Promise<EnqueuedTask>; deleteDocument(indexName: string, document_id: string | number): Promise<EnqueuedTask>; deleteAllDocuments(indexName: string): Promise<EnqueuedTask>; search<D extends P = P, S extends SearchParams = SearchParams>(indexName: string, query: string | null, options: SearchOption): Promise<SearchResponse<D, S>>; updateSettings(indexName: string, settings: SearchTypes.IndexSettings): Promise<EnqueuedTask>; protected upsertIndex(indexName: string, settings: SearchTypes.IndexSettings): Promise<void>; protected getTransformedDocuments<T extends P = P, R extends T = T>(type: string, documents: R[]): Promise<T[]>; } export {}; //# sourceMappingURL=service.d.ts.map