ValueProcessorOptions
Defined in: packages/react-querybuilder/src/types/export.ts:289
Options object for ValueProcessorByRule functions.
Extends
Methods
getOperators()?
optional
getOperators(field
:string
,misc
: {fieldData
: {[key
:string
]:unknown
;className?
:Classname
;comparator?
:string
| (f
: {[key
:string
]:unknown
;className?
:Classname
;comparator?
: string | ((f: { [x: string]: unknown; label: string; disabled?: boolean | undefined; name: string; value: string; id?: string | undefined; operators?: FlexibleOptionList<{ [x: string]: unknown; value?: string | undefined; label: string; disabled?: boolean | undefined; name: string; }> | undefined; ... 9 more ...; cl...;defaultOperator?
:string
;defaultValue?
:any
;disabled?
:boolean
;id?
:string
;inputType?
:null
|InputType
;label
:string
;name
:string
;operators?
:FlexibleOptionList
<{[key
:string
]:unknown
;disabled?
:boolean
;label
:string
;name
:string
;value?
:string
; }>;placeholder?
:string
;validator?
:RuleValidator
;value
:string
;valueEditorType?
:ValueEditorType
| (operator
:string
) =>ValueEditorType
;values?
:FlexibleOptionList
<{[key
:string
]:unknown
;disabled?
:boolean
;label
:string
;name
:string
;value?
:string
; }>;valueSources?
:ValueSources
| (operator
:string
) =>ValueSources
; },operator
:string
) =>boolean
;defaultOperator?
:string
;defaultValue?
:any
;disabled?
:boolean
;id?
:string
;inputType?
:null
|InputType
;label
:string
;name
:string
;operators?
:FlexibleOptionList
<{[key
:string
]:unknown
;disabled?
:boolean
;label
:string
;name
:string
;value?
:string
; }>;placeholder?
:string
;validator?
:RuleValidator
;value
:string
;valueEditorType?
:ValueEditorType
| (operator
:string
) =>ValueEditorType
;values?
:FlexibleOptionList
<{[key
:string
]:unknown
;disabled?
:boolean
;label
:string
;name
:string
;value?
:string
; }>;valueSources?
:ValueSources
| (operator
:string
) =>ValueSources
; }; }):null
|FlexibleOptionList
<FullOperator
<string
>>
Defined in: packages/react-querybuilder/src/types/export.ts:170
This can be the same getOperators
function passed to QueryBuilder.
The full operator object from this array, where the operator's identifying property
matches the rule's operator
, will be passed to the rule processor.
Parameters
Parameter | Type |
---|---|
field | string |
misc | { fieldData : {[key : string ]: unknown ; className? : Classname ; comparator? : string | (f : {[key : string ]: unknown ; className? : Classname ; comparator? : string | ((f: { [x: string]: unknown; label: string; disabled?: boolean | undefined; name: string; value: string; id?: string | undefined; operators?: FlexibleOptionList<{ [x: string]: unknown; value?: string | undefined; label: string; disabled?: boolean | undefined; name: string; }> | undefined; ... 9 more ...; cl...; defaultOperator? : string ; defaultValue? : any ; disabled? : boolean ; id? : string ; inputType? : null | InputType ; label : string ; name : string ; operators? : FlexibleOptionList <{[key : string ]: unknown ; disabled? : boolean ; label : string ; name : string ; value? : string ; }>; placeholder? : string ; validator? : RuleValidator ; value : string ; valueEditorType? : ValueEditorType | (operator : string ) => ValueEditorType ; values? : FlexibleOptionList <{[key : string ]: unknown ; disabled? : boolean ; label : string ; name : string ; value? : string ; }>; valueSources? : ValueSources | (operator : string ) => ValueSources ; }, operator : string ) => boolean ; defaultOperator? : string ; defaultValue? : any ; disabled? : boolean ; id? : string ; inputType? : null | InputType ; label : string ; name : string ; operators? : FlexibleOptionList <{[key : string ]: unknown ; disabled? : boolean ; label : string ; name : string ; value? : string ; }>; placeholder? : string ; validator? : RuleValidator ; value : string ; valueEditorType? : ValueEditorType | (operator : string ) => ValueEditorType ; values? : FlexibleOptionList <{[key : string ]: unknown ; disabled? : boolean ; label : string ; name : string ; value? : string ; }>; valueSources? : ValueSources | (operator : string ) => ValueSources ; }; } |
misc.fieldData | {[key : string ]: unknown ; className? : Classname ; comparator? : string | (f : {[key : string ]: unknown ; className? : Classname ; comparator? : string | ((f: { [x: string]: unknown; label: string; disabled?: boolean | undefined; name: string; value: string; id?: string | undefined; operators?: FlexibleOptionList<{ [x: string]: unknown; value?: string | undefined; label: string; disabled?: boolean | undefined; name: string; }> | undefined; ... 9 more ...; cl...; defaultOperator? : string ; defaultValue? : any ; disabled? : boolean ; id? : string ; inputType? : null | InputType ; label : string ; name : string ; operators? : FlexibleOptionList <{[key : string ]: unknown ; disabled? : boolean ; label : string ; name : string ; value? : string ; }>; placeholder? : string ; validator? : RuleValidator ; value : string ; valueEditorType? : ValueEditorType | (operator : string ) => ValueEditorType ; values? : FlexibleOptionList <{[key : string ]: unknown ; disabled? : boolean ; label : string ; name : string ; value? : string ; }>; valueSources? : ValueSources | (operator : string ) => ValueSources ; }, operator : string ) => boolean ; defaultOperator? : string ; defaultValue? : any ; disabled? : boolean ; id? : string ; inputType? : null | InputType ; label : string ; name : string ; operators? : FlexibleOptionList <{[key : string ]: unknown ; disabled? : boolean ; label : string ; name : string ; value? : string ; }>; placeholder? : string ; validator? : RuleValidator ; value : string ; valueEditorType? : ValueEditorType | (operator : string ) => ValueEditorType ; values? : FlexibleOptionList <{[key : string ]: unknown ; disabled? : boolean ; label : string ; name : string ; value? : string ; }>; valueSources? : ValueSources | (operator : string ) => ValueSources ; } |
misc.fieldData.className? | Classname |
misc.fieldData.comparator? | string | (f : {[key : string ]: unknown ; className? : Classname ; comparator? : string | ((f: { [x: string]: unknown; label: string; disabled?: boolean | undefined; name: string; value: string; id?: string | undefined; operators?: FlexibleOptionList<{ [x: string]: unknown; value?: string | undefined; label: string; disabled?: boolean | undefined; name: string; }> | undefined; ... 9 more ...; cl...; defaultOperator? : string ; defaultValue? : any ; disabled? : boolean ; id? : string ; inputType? : null | InputType ; label : string ; name : string ; operators? : FlexibleOptionList <{[key : string ]: unknown ; disabled? : boolean ; label : string ; name : string ; value? : string ; }>; placeholder? : string ; validator? : RuleValidator ; value : string ; valueEditorType? : ValueEditorType | (operator : string ) => ValueEditorType ; values? : FlexibleOptionList <{[key : string ]: unknown ; disabled? : boolean ; label : string ; name : string ; value? : string ; }>; valueSources? : ValueSources | (operator : string ) => ValueSources ; }, operator : string ) => boolean |
misc.fieldData.defaultOperator? | string |
misc.fieldData.defaultValue? | any |
misc.fieldData.disabled? | boolean |
misc.fieldData.id? | string |
misc.fieldData.inputType? | null | InputType |
misc.fieldData.label | string |
misc.fieldData.name | string |
misc.fieldData.operators? | FlexibleOptionList <{[key : string ]: unknown ; disabled? : boolean ; label : string ; name : string ; value? : string ; }> |
misc.fieldData.placeholder? | string |
misc.fieldData.validator? | RuleValidator |
misc.fieldData.value | string |
misc.fieldData.valueEditorType? | ValueEditorType | (operator : string ) => ValueEditorType |
misc.fieldData.values? | FlexibleOptionList <{[key : string ]: unknown ; disabled? : boolean ; label : string ; name : string ; value? : string ; }> |
misc.fieldData.valueSources? | ValueSources | (operator : string ) => ValueSources |
Returns
null
| FlexibleOptionList
<FullOperator
<string
>>
Inherited from
FormatQueryOptions
.getOperators
Properties
concatOperator?
optional
concatOperator:"+"
|string
& { } | "||" |"CONCAT"
Defined in: packages/react-querybuilder/src/types/export.ts:254
Operator to use when concatenating wildcard characters and field names in "sql" format.
The ANSI standard is ||
, while SQL Server uses +
. MySQL does not implement a concatenation
operator by default, and therefore requires use of the CONCAT
function.
If concatOperator
is set to "CONCAT"
(case-insensitive), the CONCAT
function will be
used. Note that Oracle SQL does not support more than two values in the CONCAT
function,
so this option should not be used in that context. The default setting ("||"
) is already
compatible with Oracle SQL.
Default
'||'
Inherited from
FormatQueryOptions
.concatOperator
context?
optional
context:Record
<string
,any
>
Defined in: packages/react-querybuilder/src/types/export.ts:281
Inherited from
escapeQuotes?
optional
escapeQuotes:boolean
Defined in: packages/react-querybuilder/src/types/export.ts:291
fallbackExpression?
optional
fallbackExpression:string
Defined in: packages/react-querybuilder/src/types/export.ts:179
This string will be inserted in place of invalid groups for non-JSON formats.
Defaults to '(1 = 1)'
for "sql"/"parameterized"/"parameterized_named" and
'$and:[{$expr:true}]'
for "mongodb".
Inherited from
FormatQueryOptions
.fallbackExpression
fieldData?
optional
fieldData: {[key
:string
]:unknown
;className?
:Classname
;comparator?
:string
| (f
: {[key
:string
]:unknown
;className?
:Classname
;comparator?
: string | ((f: { [x: string]: unknown; label: string; disabled?: boolean | undefined; name: string; value: string; id?: string | undefined; operators?: FlexibleOptionList<{ [x: string]: unknown; value?: string | undefined; label: string; disabled?: boolean | undefined; name: string; }> | undefined; ... 9 more ...; cl...;defaultOperator?
:string
;defaultValue?
:any
;disabled?
:boolean
;id?
:string
;inputType?
:null
|InputType
;label
:string
;name
:string
;operators?
:FlexibleOptionList
<{[key
:string
]:unknown
;disabled?
:boolean
;label
:string
;name
:string
;value?
:string
; }>;placeholder?
:string
;validator?
:RuleValidator
;value
:string
;valueEditorType?
:ValueEditorType
| (operator
:string
) =>ValueEditorType
;values?
:FlexibleOptionList
<{[key
:string
]:unknown
;disabled?
:boolean
;label
:string
;name
:string
;value?
:string
; }>;valueSources?
:ValueSources
| (operator
:string
) =>ValueSources
; },operator
:string
) =>boolean
;defaultOperator?
:string
;defaultValue?
:any
;disabled?
:boolean
;id?
:string
;inputType?
:null
|InputType
;label
:string
;name
:string
;operators?
:FlexibleOptionList
<{[key
:string
]:unknown
;disabled?
:boolean
;label
:string
;name
:string
;value?
:string
; }>;placeholder?
:string
;validator?
:RuleValidator
;value
:string
;valueEditorType?
:ValueEditorType
| (operator
:string
) =>ValueEditorType
;values?
:FlexibleOptionList
<{[key
:string
]:unknown
;disabled?
:boolean
;label
:string
;name
:string
;value?
:string
; }>;valueSources?
:ValueSources
| (operator
:string
) =>ValueSources
; }
Defined in: packages/react-querybuilder/src/types/export.ts:296
The full field object, if fields
was provided in the
formatQuery options parameter.
Index Signature
[key
: string
]: unknown
className?
optional
className:Classname
comparator?
optional
comparator:string
| (f
: {[key
:string
]:unknown
;className?
:Classname
;comparator?
: string | ((f: { [x: string]: unknown; label: string; disabled?: boolean | undefined; name: string; value: string; id?: string | undefined; operators?: FlexibleOptionList<{ [x: string]: unknown; value?: string | undefined; label: string; disabled?: boolean | undefined; name: string; }> | undefined; ... 9 more ...; cl...;defaultOperator?
:string
;defaultValue?
:any
;disabled?
:boolean
;id?
:string
;inputType?
:null
|InputType
;label
:string
;name
:string
;operators?
:FlexibleOptionList
<{[key
:string
]:unknown
;disabled?
:boolean
;label
:string
;name
:string
;value?
:string
; }>;placeholder?
:string
;validator?
:RuleValidator
;value
:string
;valueEditorType?
:ValueEditorType
| (operator
:string
) =>ValueEditorType
;values?
:FlexibleOptionList
<{[key
:string
]:unknown
;disabled?
:boolean
;label
:string
;name
:string
;value?
:string
; }>;valueSources?
:ValueSources
| (operator
:string
) =>ValueSources
; },operator
:string
) =>boolean
defaultOperator?
optional
defaultOperator:string
defaultValue?
optional
defaultValue:any
disabled?
optional
disabled:boolean
id?
optional
id:string
inputType?
optional
inputType:null
|InputType
label
label:
string
name
name:
string
operators?
optional
operators:FlexibleOptionList
<{[key
:string
]:unknown
;disabled?
:boolean
;label
:string
;name
:string
;value?
:string
; }>
placeholder?
optional
placeholder:string
validator?
optional
validator:RuleValidator
value
value:
string
valueEditorType?
optional
valueEditorType:ValueEditorType
| (operator
:string
) =>ValueEditorType
values?
optional
values:FlexibleOptionList
<{[key
:string
]:unknown
;disabled?
:boolean
;label
:string
;name
:string
;value?
:string
; }>
valueSources?
optional
valueSources:ValueSources
| (operator
:string
) =>ValueSources
fieldIdentifierSeparator?
optional
fieldIdentifierSeparator:string
Defined in: packages/react-querybuilder/src/types/export.ts:145
When used in conjunction with the quoteFieldNamesWith
option, field names will
be split by this string, each part being individually processed as per the rules
of the quoteFieldNamesWith
configuration. The parts will then be re-joined
by the same string.
A common value for this option is '.'
.
A value of ''
(the empty string) will disable splitting/rejoining.
Default
''
Example
formatQuery(query, {
format: 'sql',
quoteFieldNamesWith: ['[', ']'],
fieldIdentifierSeparator: '.',
})
// "[dbo].[Musicians].[First name] = 'Steve'"
Inherited from
FormatQueryOptions
.fieldIdentifierSeparator
fieldParamNames?
optional
fieldParamNames:Record
<string
,string
[]>
Defined in: packages/react-querybuilder/src/types/export.ts:303
Included for the "parameterized_named" format only. Keys of this object represent field names and values represent the current list of parameter names for that field based on the query rules processed up to that point. Use this list to ensure that parameter names generated by the custom rule processor are unique.
fields?
optional
fields:FlexibleOptionList
<{[key
:string
]:unknown
;className?
: Classname | undefined;comparator?
:string
| (f
: {[key
:string
]:unknown
;className?
: Classname | undefined;comparator?
: string | ((f: { [x: string]: unknown; label: string; disabled?: boolean | undefined; name: string; value: string; id?: string | undefined; operators?: FlexibleOptionList<{ [x: string]: unknown; value?: string | undefined; label: string; disabled?: boolean | undefined; name: string; }> | undefined; ... 9 more ...; cl...;defaultOperator?
:string
;defaultValue?
:any
;disabled?
:boolean
;id?
:string
;inputType?
: InputType | null | undefined;label
:string
;name
:string
;operators?
: FlexibleOptionList<{ [x: string]: unknown; value?: string | undefined; label: string; disabled?: boolean | undefined; name: string; }> | undefined;placeholder?
:string
;validator?
:RuleValidator
;value
:string
;valueEditorType?
: ValueEditorType | ((operator: string) => ValueEditorType) | undefined;values?
: FlexibleOptionList<{ [x: string]: unknown; value?: string | undefined; label: string; disabled?: boolean | undefined; name: string; }> | undefined;valueSources?
: ValueSources | ((operator: string) => ValueSources) | undefined; },operator
:string
) =>boolean
;defaultOperator?
:string
;defaultValue?
:any
;disabled?
:boolean
;id?
:string
;inputType?
: InputType | null | undefined;label
:string
;name
:string
;operators?
: FlexibleOptionList<{ [x: string]: unknown; value?: string | undefined; label: string; disabled?: boolean | undefined; name: string; }> | undefined;placeholder?
:string
;validator?
:RuleValidator
;value
:string
;valueEditorType?
: ValueEditorType | ((operator: string) => ValueEditorType) | undefined;values?
: FlexibleOptionList<{ [x: string]: unknown; value?: string | undefined; label: string; disabled?: boolean | undefined; name: string; }> | undefined;valueSources?
: ValueSources | ((operator: string) => ValueSources) | undefined; }>
Defined in: packages/react-querybuilder/src/types/export.ts:163
This can be the same FullField array passed to QueryBuilder, but
really all you need to provide is the name
and validator
for each field.
The full field object from this array, where the field's identifying property
matches the rule's field
, will be passed to the rule processor.
Inherited from
format?
optional
format:ExportFormat
Defined in: packages/react-querybuilder/src/types/export.ts:80
The ExportFormat.
Inherited from
getNextNamedParam()?
optional
getNextNamedParam: (field
:string
) =>string
Defined in: packages/react-querybuilder/src/types/export.ts:308
Included for the "parameterized_named" format only. Call this function with a field name to get a unique parameter name, as yet unused during query processing.
Parameters
Parameter | Type |
---|---|
field | string |
Returns
string
numberedParams?
optional
numberedParams:boolean
Defined in: packages/react-querybuilder/src/types/export.ts:211
Renders parameter placeholders as a series of sequential numbers
instead of '?' like the default. This option will respect the
paramPrefix
option like the 'parameterized_named' format.
Default
false
Inherited from
FormatQueryOptions
.numberedParams
operatorMap?
optional
operatorMap:Partial
<Record
<DefaultOperatorName
|"endswith"
|"beginswith"
|"doesnotcontain"
|"doesnotbeginwith"
|"doesnotendwith"
|"notnull"
|"notin"
|"notbetween"
,string
| [string
,string
]>>
Defined in: packages/react-querybuilder/src/types/export.ts:265
Map of operators to their translations for the "natural_language" format. If the
result can differ based on the valueSource
, the key should map to an array where the
second element represents the string to be used when valueSource
is "field". The first
element will be used in all other cases.
Inherited from
FormatQueryOptions
.operatorMap
operatorProcessor?
optional
operatorProcessor:RuleProcessor
Defined in: packages/react-querybuilder/src/types/export.ts:86
This function will be used to process the operator
from each rule
for query language formats. If not defined, the appropriate
defaultOperatorProcessor*
for the format will be used.
Inherited from
FormatQueryOptions
.operatorProcessor
paramPrefix?
optional
paramPrefix:string
Defined in: packages/react-querybuilder/src/types/export.ts:186
This string will be placed in front of named parameters (aka bind variables) when using the "parameterized_named" export format.
Default
":"
Inherited from
FormatQueryOptions
.paramPrefix
paramsKeepPrefix?
optional
paramsKeepPrefix:boolean
Defined in: packages/react-querybuilder/src/types/export.ts:203
Maintains the parameter prefix in the params
object keys when using the
"parameterized_named" export format. Recommended when using SQLite.
Default
false
Example
console.log(formatQuery(query, {
format: "parameterized_named",
paramPrefix: "$",
paramsKeepPrefix: true
}).params)
// { $firstName: "Stev" }
// Default (`paramsKeepPrefix` is `false`):
// { firstName: "Stev" }
Inherited from
FormatQueryOptions
.paramsKeepPrefix
parseNumbers?
optional
parseNumbers:boolean
Defined in: packages/react-querybuilder/src/types/export.ts:320
Parse numbers in the rule value.
Default
false
Overrides
FormatQueryOptions
.parseNumbers
placeholderFieldName?
optional
placeholderFieldName:string
Defined in: packages/react-querybuilder/src/types/export.ts:229
Any rules where the field is equal to this value will be ignored.
Default
'~'
Inherited from
FormatQueryOptions
.placeholderFieldName
placeholderOperatorName?
optional
placeholderOperatorName:string
Defined in: packages/react-querybuilder/src/types/export.ts:235
Any rules where the operator is equal to this value will be ignored.
Default
'~'
Inherited from
FormatQueryOptions
.placeholderOperatorName
placeholderValueName?
optional
placeholderValueName:string
Defined in: packages/react-querybuilder/src/types/export.ts:241
Any rules where the value is equal to this value will be ignored.
Default
'~'
Inherited from
FormatQueryOptions
.placeholderValueName
preserveValueOrder?
optional
preserveValueOrder:boolean
Defined in: packages/react-querybuilder/src/types/export.ts:216
Preserves the order of values for "between" and "notBetween" rules, even if a larger value comes before a smaller value (which will always evaluate to false).
Inherited from
FormatQueryOptions
.preserveValueOrder
preset?
optional
preset:SQLPreset
Defined in: packages/react-querybuilder/src/types/export.ts:258
Option presets to maximize compatibility with various SQL dialects.
Inherited from
quoteFieldNamesWith?
optional
quoteFieldNamesWith:string
| [string
,string
]
Defined in: packages/react-querybuilder/src/types/export.ts:124
In the "sql", "parameterized", "parameterized_named", and "jsonata" export formats, field names will be bracketed by this string. If an array of strings is passed, field names will be preceded by the first element and succeeded by the second element.
Tip: Use fieldIdentifierSeparator
to bracket identifiers individually within field names.
Default
'' // the empty string
Examples
formatQuery(query, { format: 'sql', quoteFieldNamesWith: '"' })
// `"First name" = 'Steve'`
formatQuery(query, { format: 'sql', quoteFieldNamesWith: ['[', ']'] })
// "[First name] = 'Steve'"
Inherited from
FormatQueryOptions
.quoteFieldNamesWith
quoteValuesWith?
optional
quoteValuesWith:string
Defined in: packages/react-querybuilder/src/types/export.ts:150
Character to use for quoting string values in the SQL format.
Default
'
Inherited from
FormatQueryOptions
.quoteValuesWith
ruleGroupProcessor?
optional
ruleGroupProcessor:RuleGroupProcessor
<unknown
>
Defined in: packages/react-querybuilder/src/types/export.ts:105
This function will be used to process each rule group. If not defined, the appropriate
defaultRuleGroupProcessor*
for the format will be used.
If this function is defined, it will override the format
option. This also allows
formatQuery
to produce completely custom output formats.
Inherited from
FormatQueryOptions
.ruleGroupProcessor
ruleProcessor?
optional
ruleProcessor:RuleProcessor
Defined in: packages/react-querybuilder/src/types/export.ts:97
This function will be used to process each rule. If not defined, the appropriate
defaultRuleProcessor*
for the given format will be used.
Inherited from
FormatQueryOptions
.ruleProcessor
translations?
optional
translations:Partial
<Record
<NLTranslationKey
,string
>>
Defined in: packages/react-querybuilder/src/types/export.ts:279
Translatable strings used by the "natural_language" format.
Inherited from
FormatQueryOptions
.translations
validator?
optional
validator:QueryValidator
Defined in: packages/react-querybuilder/src/types/export.ts:155
Validator function for the entire query. Can be the same function passed
as validator
prop to QueryBuilder.
Inherited from
valueProcessor?
optional
valueProcessor:ValueProcessorByRule
Defined in: packages/react-querybuilder/src/types/export.ts:290
This function will be used to process the value
from each rule
for query language formats. If not defined, the appropriate
defaultValueProcessor*
for the format will be used.
Overrides
FormatQueryOptions
.valueProcessor
wordOrder?
optional
wordOrder:ConstituentWordOrderString
|"svo"
|"sov"
|"osv"
|"ovs"
|"vso"
|"vos"
| { } &string
Defined in: packages/react-querybuilder/src/types/export.ts:275
Constituent word order for the "natural_language" format. Can be abbreviated like "SVO" or spelled out like "subject-verb-object".
- Subject = field
- Verb = operator
- Object = value
Inherited from
wrapValueWith?
optional
wrapValueWith: [string
,string
]
Defined in: packages/react-querybuilder/src/types/export.ts:314
Additional prefix and suffix characters to wrap the value in. Useful for augmenting the default value processor results with special syntax (e.g., for dates or function calls).
API documentation is generated from the latest commit on the main
branch. It may be somewhat inconsistent with official releases of React Query Builder.