FormatQueryOptions
Options object shape for formatQuery.
Extended by
Properties
concatOperator?
optionalconcatOperator:string& {} | "||" |"+"|"CONCAT"
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
'||'
Defined in
packages/react-querybuilder/src/types/importExport.ts:193
context?
optionalcontext:Record<string,any>
Defined in
packages/react-querybuilder/src/types/importExport.ts:199
fallbackExpression?
optionalfallbackExpression:string
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".
Defined in
packages/react-querybuilder/src/types/importExport.ts:129
fieldIdentifierSeparator?
optionalfieldIdentifierSeparator:string
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'"
Defined in
packages/react-querybuilder/src/types/importExport.ts:95
fields?
optionalfields:FlexibleOptionList<FullField<string,string,string,Option<string>,Option<string>>>
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.
Defined in
packages/react-querybuilder/src/types/importExport.ts:113
format?
optionalformat:ExportFormat
The ExportFormat.
Defined in
packages/react-querybuilder/src/types/importExport.ts:43
numberedParams?
optionalnumberedParams:boolean
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
Defined in
packages/react-querybuilder/src/types/importExport.ts:161
paramPrefix?
optionalparamPrefix:string
This string will be placed in front of named parameters (aka bind variables) when using the "parameterized_named" export format.
Default
":"
Defined in
packages/react-querybuilder/src/types/importExport.ts:136
paramsKeepPrefix?
optionalparamsKeepPrefix:boolean
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" }
Defined in
packages/react-querybuilder/src/types/importExport.ts:153
parseNumbers?
optionalparseNumbers:boolean
Renders values as either number-types or unquoted strings, as
appropriate and when possible. Each string-type value is evaluated
against numericRegex to determine if it can be represented as a
plain numeric value. If so, parseFloat is used to convert it to a number.
Defined in
packages/react-querybuilder/src/types/importExport.ts:168
placeholderFieldName?
optionalplaceholderFieldName:string
Any rules where the field is equal to this value will be ignored.
Default
'~'
Defined in
packages/react-querybuilder/src/types/importExport.ts:174
placeholderOperatorName?
optionalplaceholderOperatorName:string
Any rules where the operator is equal to this value will be ignored.
Default
'~'
Defined in
packages/react-querybuilder/src/types/importExport.ts:180
preset?
optionalpreset:SQLPreset
Option presets to maximize compatibility with various SQL dialects.
Defined in
packages/react-querybuilder/src/types/importExport.ts:197
quoteFieldNamesWith?
optionalquoteFieldNamesWith:string| [string,string]
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'"
Defined in
packages/react-querybuilder/src/types/importExport.ts:74
quoteValuesWith?
optionalquoteValuesWith:string
Character to use for quoting string values in the SQL format.
Default
'
Defined in
packages/react-querybuilder/src/types/importExport.ts:100
ruleProcessor?
optionalruleProcessor:RuleProcessor
This function will be used to process each rule for query language
formats. If not defined, the appropriate defaultRuleProcessor*
for the format will be used.
Defined in
packages/react-querybuilder/src/types/importExport.ts:55
validator?
optionalvalidator:QueryValidator
Validator function for the entire query. Can be the same function passed
as validator prop to QueryBuilder.
Defined in
packages/react-querybuilder/src/types/importExport.ts:105
valueProcessor?
optionalvalueProcessor:ValueProcessorLegacy|ValueProcessorByRule
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.
Defined in
packages/react-querybuilder/src/types/importExport.ts:49
Methods
getOperators()?
optionalgetOperators(field:string,misc: {fieldData:FullField<string,string,string,Option<string>,Option<string>>; }):null|FlexibleOptionList<FullOperator<string>>
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: FullField<string, string, string, Option<string>, Option<string>>; } |
misc.fieldData | FullField<string, string, string, Option<string>, Option<string>> |
Returns
null | FlexibleOptionList<FullOperator<string>>
Defined in
packages/react-querybuilder/src/types/importExport.ts:120
API documentation is generated from the latest commit on the main branch. It may be somewhat inconsistent with official releases of React Query Builder.