UNPKG

@launchmenu/applet-dictionary

Version:
45 lines 2.44 kB
"use strict"; 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==