UNPKG

addsearch-js-client

Version:

AddSearch API JavaScript client

110 lines 3.86 kB
export type SortOrder = 'asc' | 'desc'; export type SortByOptions = string | string[]; export type SortOrderOptions = SortOrder | SortOrder[]; export type SearchOperator = 'and' | 'or'; export type FromToRange = { from?: number; to?: number; }; export type MinMaxRange = { min?: number; max?: number; }; export type PagingSettings = { page: number; pageSize: number; sortBy: SortByOptions; sortOrder: SortOrderOptions; }; export type AutocompleteSettings = { size: number; field?: string; prefix?: string; }; export type PersonalizationEvent = { [key: string]: string; }; export type FuzzyMatch = boolean | 'auto' | 'retry'; export type Settings = { keyword: string; callback: (() => void) | null; throttleTimeMs: number; fuzzy: FuzzyMatch; paging: PagingSettings; customFieldFilters: string[]; userToken: string | null; suggestionsSize: number; facetFields: string[]; autocomplete: AutocompleteSettings; searchOperator: SearchOperator | null; enableLogicalOperators: boolean; cacheResponseTime: number | null; statsRequestIntercepted: boolean; suggestionsPrefix?: string; lang?: string; postfixWildcard?: boolean; collectAnalytics?: boolean; analyticsTag?: string; categories?: string; filterObject?: object; priceFromCents?: string; priceToCents?: string; dateFrom?: string; dateTo?: string; jwt?: string; personalizationEvents?: PersonalizationEvent[]; resultType?: 'organic' | null; hierarchicalFacetSetting?: object; rangeFacets?: Array<{ field: string; ranges: FromToRange[]; }>; statsFields?: string[]; numFacets?: number; shuffleAndLimitTo?: number; apiMethod?: ApiMethod; }; export type ApiMethod = 'GET' | 'POST'; declare class SettingsManager { private settings; constructor(); getSettings(): Settings; setKeyword(keyword: string): void; setCallback(cb: (() => void) | null): void; setThrottleTime(delay: number): void; setSuggestionsPrefix(prefix: string): void; setSuggestionsSize(size: number): void; setAutocompleteSize(size: number): void; setAutocompleteParams(field: string, prefix: string): void; setLanguage(language: string): void; setFuzzyMatch(fuzzy: boolean | 'auto' | 'retry'): void; enableLogicalOperators(enable: boolean): void; setCacheResponseTime(cacheResponseTime: number | null): void; setPostfixWildcard(wildcard: boolean): void; setCollectAnalytics(collectAnalytics: boolean): void; setAnalyticsTag(tagName: string): void; setCategoryFilters(categories: string): void; setFilterObject(filter: object): void; setPriceRangeFilter(minCents: string, maxCents: string): void; addCustomFieldFilter(fieldName: string, value: string): void; removeCustomFieldFilter(fieldName: string, value?: string): void; setDateFilter(dateFrom: string, dateTo: string): void; setJWT(jwt: string): void; setUserToken(token: string): void; setPersonalizationEvents(events: PersonalizationEvent[]): void; setResultType(type: 'organic' | null): void; addFacetField(field: string): void; addHierarchicalFacetSetting(setting: object): void; addRangeFacet(field: string, ranges: FromToRange[]): void; addStatsField(field: string): void; setNumberOfFacets(numFacets: number): void; setPaging(page: number, pageSize: number, sortBy: SortByOptions, sortOrder: SortOrderOptions): void; setShuffleAndLimitTo(shuffleAndLimitTo: number): void; nextPage(): void; previousPage(): void; setSearchOperator(operator: SearchOperator): void; setStatsRequestIntercepted(isIntercepted: boolean): void; setApiMethod(method: ApiMethod): void; } export default SettingsManager; //# sourceMappingURL=settings.d.ts.map