UNPKG

@atlaskit/global-search

Version:

A cross-product search component (batteries included)

49 lines (45 loc) 1.6 kB
import { DEFAULT_AB_TEST } from '../api/CrossProductSearchClient'; import memoizeOne from 'memoize-one'; import deepEqual from 'deep-equal'; const FASTER_SEARCH_EXPERIMENT = 'faster-search'; const SEARCH_EXTENSIONS_COMPLEX_EXPERIMENT = 'search-extensions-complex'; const SPACEBALLS_EXPERIMENT = 'spaceballs'; const isInFasterSearchExperiment = abTest => { return abTest.experimentId === FASTER_SEARCH_EXPERIMENT; }; const isInSearchExtensionsComplexExperiment = abTest => { return abTest.experimentId === SEARCH_EXTENSIONS_COMPLEX_EXPERIMENT; }; const isInSpaceballsExperiment = abTest => { return abTest.experimentId === SPACEBALLS_EXPERIMENT; }; export const DEFAULT_FEATURES = { useUrsForBootstrapping: false, isAutocompleteEnabled: false, isNavAutocompleteEnabled: false, complexSearchExtensionsEnabled: false, disableJiraPreQueryPeopleSearch: false, isInFasterSearchExperiment: false, spaceballsExperimentEnabled: false, abTest: DEFAULT_AB_TEST }; export const createFeatures = memoizeOne(({ abTest, useUrsForBootstrapping, disableJiraPreQueryPeopleSearch, enablePreQueryFromAggregator, isAutocompleteEnabled, isNavAutocompleteEnabled }) => { return { abTest, useUrsForBootstrapping, disableJiraPreQueryPeopleSearch, enablePreQueryFromAggregator, isInFasterSearchExperiment: isInFasterSearchExperiment(abTest), isAutocompleteEnabled, isNavAutocompleteEnabled, complexSearchExtensionsEnabled: isInSearchExtensionsComplexExperiment(abTest), spaceballsExperimentEnabled: isInSpaceballsExperiment(abTest) }; }, deepEqual);