UNPKG

@launchmenu/applet-dictionary

Version:
45 lines 2.45 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2lraS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zY3JhcGVyL3dpa2kvV2lraS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBb0M7QUFHcEM7O0dBRUc7QUFDSCxNQUFhLElBQUk7SUFJYjs7OztPQUlHO0lBQ0gsWUFDSSxNQUFjLEVBQ2QsYUFBa0MsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLG1CQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBTTtRQUV6RSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUztRQUNaLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxZQUFZLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQWE7UUFDdEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQ3RCLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSx5Q0FBeUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ2pGLENBQUM7UUFDRixNQUFNLElBQUksR0FBc0IsTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFcEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNKO0FBL0NELG9CQStDQyJ9