Skip to content
# Class: FilterableItemCollector

Defined in: packages/core/src/transformers/FilterableItemCollector.ts:46

Collects filterable items (columns and parameters) from SQL queries for use in DynamicQueryBuilder filtering functionality.

This class combines:

  • Table columns (from SelectableColumnCollector with FullName duplicate detection)
  • SQL parameters (from ParameterDetector)

Features:

  • FullName mode preserves columns with same names from different tables (u.id vs p.id)
  • Upstream collection (default) provides comprehensive column discovery for maximum filtering
  • Qualified mode option for table.column naming in complex JOINs

This allows DynamicQueryBuilder to filter on both actual table columns and fixed parameters defined in the SQL with full JOIN table support.

Constructors

Constructor

new FilterableItemCollector(tableColumnResolver?, options?): FilterableItemCollector

Defined in: packages/core/src/transformers/FilterableItemCollector.ts:57

Creates a new FilterableItemCollector

Parameters

tableColumnResolver?

TableColumnResolver

Optional resolver for wildcard column expansion

options?

FilterableItemCollectorOptions

Optional configuration options

  • qualified: If true, return table.column names; if false, return column names only
  • upstream: If true (default), collect all available columns from upstream sources for maximum filtering capability

Returns

FilterableItemCollector

Methods

collect()

collect(query): FilterableItem[]

Defined in: packages/core/src/transformers/FilterableItemCollector.ts:67

Collects all filterable items (columns and parameters) from a SQL query

Parameters

query

SelectQuery

The parsed SQL query to analyze

Returns

FilterableItem[]

Array of FilterableItem objects representing columns and parameters

Released under the MIT License.