(config: {
query:
| ((q: InitialQueryBuilder) => QueryBuilder<TContext>)
| QueryBuilder<TContext>
requireObjectResult?: boolean
})
| 250 | * function or a QueryBuilder instance. |
| 251 | */ |
| 252 | export function buildQueryFromConfig<TContext extends Context>(config: { |
| 253 | query: |
| 254 | | ((q: InitialQueryBuilder) => QueryBuilder<TContext>) |
| 255 | | QueryBuilder<TContext> |
| 256 | requireObjectResult?: boolean |
| 257 | }): QueryIR { |
| 258 | // Build the query using the provided query builder function or instance |
| 259 | const query = |
| 260 | typeof config.query === `function` |
| 261 | ? buildQuery<TContext>(config.query) |
| 262 | : getQueryIR(config.query) |
| 263 | |
| 264 | if ( |
| 265 | config.requireObjectResult && |
| 266 | query.select && |
| 267 | !isNestedSelectObject(query.select) |
| 268 | ) { |
| 269 | throw new UnsupportedRootScalarSelectError() |
| 270 | } |
| 271 | |
| 272 | return query |
| 273 | } |
| 274 | |
| 275 | /** |
| 276 | * Helper function to send changes to a D2 input stream. |
no test coverage detected