@launchmenu/applet-dictionary
Version:
An applet to find dictionary definitions
45 lines • 2.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Wiki = void 0;
const WikiPage_1 = require("./WikiPage");
/**
* The main entry to the wiktionary
*/
class Wiki {
/**
* Creates a new local model of a wiki
* @param domain The domain of the wiki
* @param createPage The function to create a new page given the page's name
*/
constructor(domain, createPage = title => new WikiPage_1.WikiPage(this, title)) {
this.domain = domain;
this.createPage = createPage;
}
/**
* Retrieves the domain that this wiki is for
* @returns The domain
*/
getDomain() {
return this.domain;
}
/**
* Retrieves the api url of the wiki
* @returns The api url
*/
getApiUrl() {
return `${this.domain}/w/api.php`;
}
/**
* Retrieves the found pages for a given search term
* @param query The term to search for
* @returns The found pages
*/
async search(query) {
const result = await fetch(`${this.getApiUrl()}?action=opensearch&format=json&search=${encodeURI(query)}`);
const data = await result.json();
const pageNames = data[1];
return pageNames.map(this.createPage);
}
}
exports.Wiki = Wiki;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2lraS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zY3JhcGVyL3dpa2kvV2lraS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBb0M7QUFHcEM7O0dBRUc7QUFDSCxNQUFhLElBQUk7SUFJYjs7OztPQUlHO0lBQ0gsWUFDSSxNQUFjLEVBQ2QsYUFBa0MsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLG1CQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBTTtRQUV6RSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUztRQUNaLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxZQUFZLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQWE7UUFDdEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQ3RCLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSx5Q0FBeUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ2pGLENBQUM7UUFDRixNQUFNLElBQUksR0FBc0IsTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFcEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNKO0FBL0NELG9CQStDQyJ9