Vitepress
This commit is contained in:
75
node_modules/@docsearch/react/dist/esm/stored-searches.js
generated
vendored
Normal file
75
node_modules/@docsearch/react/dist/esm/stored-searches.js
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
var _excluded = ["_highlightResult", "_snippetResult"];
|
||||
|
||||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
||||
|
||||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
||||
|
||||
function isLocalStorageSupported() {
|
||||
var key = '__TEST_KEY__';
|
||||
|
||||
try {
|
||||
localStorage.setItem(key, '');
|
||||
localStorage.removeItem(key);
|
||||
return true;
|
||||
} catch (error) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function createStorage(key) {
|
||||
if (isLocalStorageSupported() === false) {
|
||||
return {
|
||||
setItem: function setItem() {},
|
||||
getItem: function getItem() {
|
||||
return [];
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
setItem: function setItem(item) {
|
||||
return window.localStorage.setItem(key, JSON.stringify(item));
|
||||
},
|
||||
getItem: function getItem() {
|
||||
var item = window.localStorage.getItem(key);
|
||||
return item ? JSON.parse(item) : [];
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export function createStoredSearches(_ref) {
|
||||
var key = _ref.key,
|
||||
_ref$limit = _ref.limit,
|
||||
limit = _ref$limit === void 0 ? 5 : _ref$limit;
|
||||
var storage = createStorage(key);
|
||||
var items = storage.getItem().slice(0, limit);
|
||||
return {
|
||||
add: function add(item) {
|
||||
var _ref2 = item,
|
||||
_highlightResult = _ref2._highlightResult,
|
||||
_snippetResult = _ref2._snippetResult,
|
||||
hit = _objectWithoutProperties(_ref2, _excluded);
|
||||
|
||||
var isQueryAlreadySaved = items.findIndex(function (x) {
|
||||
return x.objectID === hit.objectID;
|
||||
});
|
||||
|
||||
if (isQueryAlreadySaved > -1) {
|
||||
items.splice(isQueryAlreadySaved, 1);
|
||||
}
|
||||
|
||||
items.unshift(hit);
|
||||
items = items.slice(0, limit);
|
||||
storage.setItem(items);
|
||||
},
|
||||
remove: function remove(item) {
|
||||
items = items.filter(function (x) {
|
||||
return x.objectID !== item.objectID;
|
||||
});
|
||||
storage.setItem(items);
|
||||
},
|
||||
getAll: function getAll() {
|
||||
return items;
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user