/** * @license * SPDX-License-Identifier: AGPL-3.0-or-later * This file is part of Wolfree. * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. */ // @ts-check import AppID from "./AppID.js"; export default class SearchParams { constructor({ getAppID = new AppID().getAppID } = {}) { this.getAppID = getAppID; } getSearchParams = ({ input = String(), i2d = Boolean(), extraPodstates = Array(), } = {}) => { const appid = this.getAppID(); return { ...(appid && { appid }), ...(input && { input }), ...(i2d && { i2d }), podstate: [ "Step-by-step solution", "Step-by-step", "Show all steps", ...extraPodstates, // Note: extraPodstates must be the last item in the array. // Otherwise, the Wolfram Alpha API may ignore the pod states in extraPodstates. ], output: "json", reinterpret: true, podtimeout: 30, scantimeout: 30, parsetimeout: 30, totaltimeout: 30, formattimeout: 30, }; }; }