| 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', |
| }; |
| } |