aptai
Version:
Node.js client for aptAI APIs
76 lines (70 loc) • 1.84 kB
JavaScript
const {
translateLatestAPI,
supportedLanguageAPI,
} = require("../../api/translate/latest.js");
const { defaultTimeout } = require("../../../config.js");
// Main function to interact with the API
async function translateLatest(options) {
try {
// Default values for the parameters
const defaults = {
text: "",
target_language: "en",
timeout: defaultTimeout,
};
// Merge the passed options with the defaults
const params = { ...defaults, ...options };
let result = await translateLatestAPI(params);
if (result && result.hasOwnProperty("data")) {
result = result.data;
if (result.status === 1) {
return result;
} else {
throw new Error(result.message);
}
} else {
throw new Error("Error fetching response from the API");
}
} catch (error) {
if (
error &&
error.hasOwnProperty("response") &&
error.response != null &&
error.response.hasOwnProperty("data")
) {
throw new Error(error.response.data.message);
} else {
throw new Error(error.message);
}
}
}
async function supportedLanguage(options) {
try {
let result = await supportedLanguageAPI();
if (result && result.hasOwnProperty("data")) {
result = result.data;
if (result.status === 1) {
return result;
} else {
throw new Error(result.message);
}
} else {
throw new Error("Error fetching response from the API");
}
} catch (error) {
if (
error &&
error.hasOwnProperty("response") &&
error.response != null &&
error.response.hasOwnProperty("data")
) {
throw new Error(error.response.data.message);
} else {
throw new Error(error.message);
}
}
}
module.exports = {
translateLatest,
supportedLanguage,
};