mirror of
https://git.disroot.org/wolfree/wolfree-dockerfile
synced 2025-04-17 08:57:23 +02:00
45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
/**
|
|
* @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,
|
|
};
|
|
};
|
|
}
|