UNPKG

react-instantsearch

Version:
58 lines (54 loc) 2.13 kB
'use strict'; var _object_spread = require('@swc/helpers/_/_object_spread'); var _object_without_properties = require('@swc/helpers/_/_object_without_properties'); var React = require('react'); var reactInstantsearchCore = require('react-instantsearch-core'); var Stats$1 = require('../ui/Stats.js'); function Stats(_0) { var translations = _0.translations, props = _object_without_properties._(_0, [ "translations" ]); var _useStats = reactInstantsearchCore.useStats(undefined, { $$widgetType: 'ais.stats' }), nbHits = _useStats.nbHits, nbSortedHits = _useStats.nbSortedHits, processingTimeMS = _useStats.processingTimeMS, areHitsSorted = _useStats.areHitsSorted; var uiProps = { nbHits: nbHits, nbSortedHits: nbSortedHits, processingTimeMS: processingTimeMS, areHitsSorted: areHitsSorted, translations: _object_spread._({ rootElementText: function rootElementText(options) { return "".concat(options.areHitsSorted ? getSortedResultsSentence(options) : getResultsSentence(options), " found in ").concat(options.processingTimeMS.toLocaleString(), "ms"); } }, translations) }; return /*#__PURE__*/ React.createElement(Stats$1.Stats, _object_spread._({}, props, uiProps)); } function getSortedResultsSentence(param) { var nbHits = param.nbHits, nbSortedHits = param.nbSortedHits; var suffix = "sorted out of ".concat(nbHits.toLocaleString()); if (nbSortedHits === 0) { return "No relevant results ".concat(suffix); } if (nbSortedHits === 1) { return "1 relevant result ".concat(suffix); } if (nbSortedHits > 1) { return "".concat((nbSortedHits || 0).toLocaleString(), " relevant results ").concat(suffix); } return ''; } function getResultsSentence(param) { var nbHits = param.nbHits; if (nbHits === 0) { return 'No results'; } if (nbHits === 1) { return '1 result'; } if (nbHits > 1) { return "".concat(nbHits.toLocaleString(), " results"); } return ''; } exports.Stats = Stats;