Skip to content

@serenity-is/corelib / CriteriaBuilder

Class: CriteriaBuilder

Defined in: src/base/criteria.ts:15

Fluent builder for Serenity criteria expressions with completion support.

Remarks

Extends Array so an instance itself acts as a field-reference token (e.g. ["Amount"]). Create instances via Criteria("FieldName") rather than new CriteriaBuilder(). Each method returns a Serenity criteria tuple/array that can be combined with Criteria.and, Criteria.or, Criteria.join, or the parseCriteria parser. bw stands for "between" (inclusive).

Examples

Criteria("Age").ge(18); // [["Age"], ">=", 18]
Criteria("Status").in([1, 2, 3]); // [["Status"], "in", [[1, 2, 3]]]

Extends

  • Array

Indexable

[n: number]: any

Constructors

Constructor

new CriteriaBuilder(arrayLength?): CriteriaBuilder

Defined in: C:/Users/volka/AppData/Roaming/npm/node_modules/typedoc/node_modules/typescript/lib/lib.es5.d.ts:1514

Parameters

arrayLength?

number

Returns

CriteriaBuilder

Inherited from

Array.constructor

Methods

bw()

bw(fromInclusive, toInclusive): any[]

Defined in: src/base/criteria.ts:25

Creates a BETWEEN (inclusive) criteria: field >= from AND field <= to.

Parameters

fromInclusive

any

Lower bound (inclusive).

toInclusive

any

Upper bound (inclusive).

Returns

any[]

Composite criteria [[field, ">=", from], "and", [field, "<=", to]].

Example

Criteria("Amount").bw(10, 20);

contains()

contains(value): any[]

Defined in: src/base/criteria.ts:37

Creates a LIKE '%value%' (contains) criteria.

Parameters

value

string

Substring to search for. Wrapped with % on both sides.

Returns

any[]

Criteria [field, "like", "%value%"].

Example

Criteria("Name").contains("ser"); // [["Name"], "like", "%ser%"]

endsWith()

endsWith(value): any[]

Defined in: src/base/criteria.ts:49

Creates a LIKE '%value' (ends-with) criteria.

Parameters

value

string

Suffix to match. Prefixed with %.

Returns

any[]

Criteria [field, "like", "%value"].

Example

Criteria("Email").endsWith("@example.com");

eq()

eq(value): any[]

Defined in: src/base/criteria.ts:61

Creates an equality (=) criteria.

Parameters

value

any

Value to compare for equality.

Returns

any[]

Criteria [field, "=", value].

Example

Criteria("IsActive").eq(true);

ge()

ge(value): any[]

Defined in: src/base/criteria.ts:81

Creates a greater-than-or-equal (>=) criteria.

Parameters

value

any

Lower inclusive bound.

Returns

any[]

Criteria [field, ">=", value].


gt()

gt(value): any[]

Defined in: src/base/criteria.ts:71

Creates a greater-than (>) criteria.

Parameters

value

any

Lower exclusive bound.

Returns

any[]

Criteria [field, ">", value].


in()

in(values): any[]

Defined in: src/base/criteria.ts:93

Creates an IN criteria.

Parameters

values

any[]

Array of allowed values. Wrapped as [values] per Serenity wire format.

Returns

any[]

Criteria [field, "in", [values]].

Example

Criteria("Status").in([1, 2]); // [["Status"], "in", [[1, 2]]]

isNotNull()

isNotNull(): any[]

Defined in: src/base/criteria.ts:111

Creates an IS NOT NULL criteria.

Returns

any[]

Criteria ["is not null", field].


isNull()

isNull(): any[]

Defined in: src/base/criteria.ts:102

Creates an IS NULL criteria.

Returns

any[]

Criteria ["is null", field].


le()

le(value): any[]

Defined in: src/base/criteria.ts:121

Creates a less-than-or-equal (<=) criteria.

Parameters

value

any

Upper inclusive bound.

Returns

any[]

Criteria [field, "<=", value].


like()

like(value): any[]

Defined in: src/base/criteria.ts:153

Creates a LIKE criteria with the exact pattern provided.

Parameters

value

any

SQL LIKE pattern (use % / _ wildcards as needed).

Returns

any[]

Criteria [field, "like", value].

Example

Criteria("Name").like("A%");

lt()

lt(value): any[]

Defined in: src/base/criteria.ts:131

Creates a less-than (<) criteria.

Parameters

value

any

Upper exclusive bound.

Returns

any[]

Criteria [field, "<", value].


ne()

ne(value): any[]

Defined in: src/base/criteria.ts:141

Creates a not-equal (!=) criteria.

Parameters

value

any

Value that the field must not equal.

Returns

any[]

Criteria [field, "!=", value].


notIn()

notIn(values): any[]

Defined in: src/base/criteria.ts:175

Creates a NOT IN criteria.

Parameters

values

any[]

Array of disallowed values. Wrapped as [values].

Returns

any[]

Criteria [field, "not in", [values]].


notLike()

notLike(value): any[]

Defined in: src/base/criteria.ts:185

Creates a NOT LIKE criteria.

Parameters

value

any

SQL LIKE pattern that the field must not match.

Returns

any[]

Criteria [field, "not like", value].


startsWith()

startsWith(value): any[]

Defined in: src/base/criteria.ts:165

Creates a LIKE 'value%' (starts-with) criteria.

Parameters

value

string

Prefix to match. Suffixed with %.

Returns

any[]

Criteria [field, "like", "value%"].

Example

Criteria("Name").startsWith("Jo"); // [["Name"], "like", "Jo%"]