ashish-sdk
Version:
ThoughtSpot Embed SDK
50 lines • 1.57 kB
JavaScript
import { OperationType } from '../types';
export function getAnswerServiceInstance(session, query, operation, thoughtSpotHost) {
let variable;
const fetchQuery = async (variables) => {
try {
const response = await fetch(`${thoughtSpotHost}/prism/?op=${operation}`, {
method: 'POST',
headers: {
'content-type': 'application/json;charset=UTF-8',
'x-requested-by': 'ThoughtSpot',
accept: '*/*',
'accept-language': 'en-us',
},
body: JSON.stringify({
operationName: operation,
query,
variables,
}),
credentials: 'include',
});
const result = await response.json();
return result.data;
}
catch (error) {
return error;
}
};
const fetchData = (offset, batchSize) => {
if (operation === OperationType.GetChartWithData) {
variable = { batchSize, offset: offset * batchSize };
}
else {
variable = {
dataPaginationParams: {
isClientPaginated: true,
offset: offset * batchSize,
size: batchSize,
},
};
}
return fetchQuery({
session,
...variable,
});
};
return {
fetchData,
};
}
//# sourceMappingURL=answerService.js.map