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.