TelegramAktienBot/documentation/frontend/js/search/search-engine.js
2022-05-12 10:14:10 +02:00

44 lines
1.0 KiB
JavaScript

(function(compodoc) {
var engine = null;
var initialized = false;
function setEngine(Engine) {
initialized = false;
engine = new Engine();
init();
}
function init() {
if (!engine) throw new Error('No engine set for research. Set an engine using compodoc.search.setEngine(Engine).');
return engine.init()
.then(function() {
initialized = true;
compodoc.dispatchEvent({
type: compodoc.EVENTS.SEARCH_READY
});
});
}
function query(q, offset, length) {
if (!initialized) throw new Error('Search has not been initialized');
return engine.search(q, offset, length);
}
function getEngine() {
return engine? engine.name : null;
}
function isInitialized() {
return initialized;
}
compodoc.search = {
setEngine: setEngine,
getEngine: getEngine,
query: query,
isInitialized: isInitialized
};
})(compodoc);