@looker/filter-expressions
This TypeScript package provides the necessary functions for transforming Looker filter expressions into data structures and localized text summaries – and vice versa.
getExpressionType
Returns a valid filter expression type when given the type and field properties of an IDashboardFilter
object as defined in @looker/sdk
.
getExpressionType({ field: { is_numeric: true }, type: 'field_filter' });
parseFilterExpression
Returns an Abstract Syntax Tree (AST) that logically represents the filter expression string passed in, as well as the filter expression type (and optional user attributes).
parseFilterExpression('number', '[0,20],>30');
summary
The summary
function returns a localized, human-readable summary of a filter expression, given the expression's type, the expression itself, and the user attributes and field, if applicable.
summary('number', '[0,20],>30');
typeToGrammar
Returns an object with utility functions and values pertaining to a given expression type:
toString
: a function that converts an AST into an expression of the given type
subTypes
: an array containing the sub-types of the expression type, for example ">", "<", "=", "between", etc, for a number expression type
getFilterTokenItem
Converts an AST to a single item for use in a token (i.e. not advanced) filter.