blob: 436e7eb974b249ca3591f133e95af193a3eade3d [file] [log] [blame]
import buildQueryObject from './buildQueryObject';
import DatasourceKey from './DatasourceKey';
import { QueryFormData } from './types/QueryFormData';
import { QueryContext, QueryObject } from './types/Query';
const WRAP_IN_ARRAY = (baseQueryObject: QueryObject) => [baseQueryObject];
export default function buildQueryContext(
formData: QueryFormData,
buildQuery: (baseQueryObject: QueryObject) => QueryObject[] = WRAP_IN_ARRAY,
): QueryContext {
return {
datasource: new DatasourceKey(formData.datasource).toObject(),
force: formData.force || false,
queries: buildQuery(buildQueryObject(formData)),
result_format: formData.result_format || 'json',
result_type: formData.result_type || 'full',
};
}