@launchmenu/applet-dictionary
Version:
An applet to find dictionary definitions
45 lines • 2.44 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2lraS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aWtpL1dpa2kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQW9DO0FBR3BDOztHQUVHO0FBQ0gsTUFBYSxJQUFJO0lBSWI7Ozs7T0FJRztJQUNILFlBQ0ksTUFBYyxFQUNkLGFBQWtDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxtQkFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQU07UUFFekUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFNBQVM7UUFDWixPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sWUFBWSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFhO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUN0QixHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUseUNBQXlDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUNqRixDQUFDO1FBQ0YsTUFBTSxJQUFJLEdBQXNCLE1BQU0sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXBELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDSjtBQS9DRCxvQkErQ0MifQ==