@nulledexp/translatable-criteria 1.2.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +91 -86
- package/dist/criteria/criteria-factory.d.ts +6 -5
- package/dist/criteria/criteria-factory.d.ts.map +1 -1
- package/dist/criteria/criteria-factory.js +8 -8
- package/dist/criteria/criteria-factory.js.map +1 -1
- package/dist/criteria/criteria-filter-manager.d.ts.map +1 -1
- package/dist/criteria/criteria-join-manager.d.ts +2 -2
- package/dist/criteria/criteria-join-manager.d.ts.map +1 -1
- package/dist/criteria/criteria-join-manager.js.map +1 -1
- package/dist/criteria/criteria.d.ts +45 -35
- package/dist/criteria/criteria.d.ts.map +1 -1
- package/dist/criteria/criteria.js +82 -69
- package/dist/criteria/criteria.js.map +1 -1
- package/dist/criteria/cursor.d.ts +15 -0
- package/dist/criteria/cursor.d.ts.map +1 -1
- package/dist/criteria/cursor.js +22 -0
- package/dist/criteria/cursor.js.map +1 -1
- package/dist/criteria/filter/filter-group.d.ts +7 -1
- package/dist/criteria/filter/filter-group.d.ts.map +1 -1
- package/dist/criteria/filter/filter-group.js +12 -3
- package/dist/criteria/filter/filter-group.js.map +1 -1
- package/dist/criteria/filter/filter.d.ts +3 -3
- package/dist/criteria/filter/filter.d.ts.map +1 -1
- package/dist/criteria/filter/filter.js +37 -14
- package/dist/criteria/filter/filter.js.map +1 -1
- package/dist/criteria/filter/types/filter-primitive.types.d.ts +21 -11
- package/dist/criteria/filter/types/filter-primitive.types.d.ts.map +1 -1
- package/dist/criteria/index.d.ts +2 -2
- package/dist/criteria/index.d.ts.map +1 -1
- package/dist/criteria/index.js.map +1 -1
- package/dist/criteria/join/inner.join-criteria.d.ts +10 -17
- package/dist/criteria/join/inner.join-criteria.d.ts.map +1 -1
- package/dist/criteria/join/inner.join-criteria.js +11 -18
- package/dist/criteria/join/inner.join-criteria.js.map +1 -1
- package/dist/criteria/join/left.join-criteria.d.ts +4 -4
- package/dist/criteria/join/left.join-criteria.d.ts.map +1 -1
- package/dist/criteria/join/left.join-criteria.js +5 -5
- package/dist/criteria/join/left.join-criteria.js.map +1 -1
- package/dist/criteria/join/outer.join-criteria.d.ts +13 -16
- package/dist/criteria/join/outer.join-criteria.d.ts.map +1 -1
- package/dist/criteria/join/outer.join-criteria.js +14 -17
- package/dist/criteria/join/outer.join-criteria.js.map +1 -1
- package/dist/criteria/order/order.d.ts +18 -1
- package/dist/criteria/order/order.d.ts.map +1 -1
- package/dist/criteria/order/order.js +21 -1
- package/dist/criteria/order/order.js.map +1 -1
- package/dist/criteria/root.criteria.d.ts +6 -16
- package/dist/criteria/root.criteria.d.ts.map +1 -1
- package/dist/criteria/root.criteria.js +4 -14
- package/dist/criteria/root.criteria.js.map +1 -1
- package/dist/criteria/translator/criteria-translator.d.ts +23 -32
- package/dist/criteria/translator/criteria-translator.d.ts.map +1 -1
- package/dist/criteria/translator/criteria-translator.js +5 -24
- package/dist/criteria/translator/criteria-translator.js.map +1 -1
- package/dist/criteria/types/criteria.interface.d.ts +35 -22
- package/dist/criteria/types/criteria.interface.d.ts.map +1 -1
- package/dist/criteria/types/criteria.interface.js.map +1 -1
- package/dist/criteria/types/join-parameter.types.d.ts +27 -9
- package/dist/criteria/types/join-parameter.types.d.ts.map +1 -1
- package/dist/criteria/types/join-utility.types.d.ts +26 -32
- package/dist/criteria/types/join-utility.types.d.ts.map +1 -1
- package/dist/criteria/types/manager.interface.d.ts +3 -3
- package/dist/criteria/types/manager.interface.d.ts.map +1 -1
- package/dist/criteria/types/operator.types.d.ts +92 -86
- package/dist/criteria/types/operator.types.d.ts.map +1 -1
- package/dist/criteria/types/operator.types.js +91 -85
- package/dist/criteria/types/operator.types.js.map +1 -1
- package/dist/criteria/types/schema.types.d.ts +109 -41
- package/dist/criteria/types/schema.types.d.ts.map +1 -1
- package/dist/criteria/types/schema.types.js +38 -11
- package/dist/criteria/types/schema.types.js.map +1 -1
- package/dist/criteria/types/visitor-interface.types.d.ts +33 -12
- package/dist/criteria/types/visitor-interface.types.d.ts.map +1 -1
- package/package.json +11 -11
|
@@ -5,25 +5,35 @@ import type { CriteriaSchema, FieldOfSchema } from '../../types/schema.types.js'
|
|
|
5
5
|
* It can be a string, number, boolean, Date, or null.
|
|
6
6
|
*/
|
|
7
7
|
export type PrimitiveFilterValue = string | number | boolean | Date | null;
|
|
8
|
+
/**
|
|
9
|
+
* Represents any valid JSON value that can be stored in a JSON column.
|
|
10
|
+
* This type is recursive to allow for nested objects and arrays.
|
|
11
|
+
*/
|
|
12
|
+
type JsonValue = PrimitiveFilterValue | {
|
|
13
|
+
[key: string]: JsonValue;
|
|
14
|
+
} | Array<JsonValue>;
|
|
8
15
|
/**
|
|
9
16
|
* Represents the value associated with a filter, strongly typed based on the {@link FilterOperator}.
|
|
10
17
|
* @template Operator - The specific filter operator.
|
|
11
18
|
*/
|
|
12
|
-
export type FilterValue<Operator extends FilterOperator> = Operator extends FilterOperator.LIKE | FilterOperator.NOT_LIKE | FilterOperator.CONTAINS | FilterOperator.NOT_CONTAINS | FilterOperator.STARTS_WITH | FilterOperator.ENDS_WITH | FilterOperator.SET_CONTAINS | FilterOperator.SET_NOT_CONTAINS | FilterOperator.MATCHES_REGEX | FilterOperator.ILIKE | FilterOperator.NOT_ILIKE ? string : Operator extends FilterOperator.EQUALS | FilterOperator.NOT_EQUALS | FilterOperator.GREATER_THAN | FilterOperator.GREATER_THAN_OR_EQUALS | FilterOperator.LESS_THAN | FilterOperator.LESS_THAN_OR_EQUALS ? PrimitiveFilterValue : Operator extends FilterOperator.IN | FilterOperator.NOT_IN | FilterOperator.SET_CONTAINS_ANY | FilterOperator.SET_CONTAINS_ALL ? Array<Exclude<PrimitiveFilterValue, null | undefined>> : Operator extends FilterOperator.BETWEEN | FilterOperator.NOT_BETWEEN ? [
|
|
19
|
+
export type FilterValue<Operator extends FilterOperator> = Operator extends FilterOperator.LIKE | FilterOperator.NOT_LIKE | FilterOperator.CONTAINS | FilterOperator.NOT_CONTAINS | FilterOperator.STARTS_WITH | FilterOperator.ENDS_WITH | FilterOperator.SET_CONTAINS | FilterOperator.SET_NOT_CONTAINS | FilterOperator.MATCHES_REGEX | FilterOperator.ILIKE | FilterOperator.NOT_ILIKE ? string : Operator extends FilterOperator.EQUALS | FilterOperator.NOT_EQUALS | FilterOperator.GREATER_THAN | FilterOperator.GREATER_THAN_OR_EQUALS | FilterOperator.LESS_THAN | FilterOperator.LESS_THAN_OR_EQUALS ? PrimitiveFilterValue : Operator extends FilterOperator.IN | FilterOperator.NOT_IN | FilterOperator.SET_CONTAINS_ANY | FilterOperator.SET_CONTAINS_ALL | FilterOperator.SET_NOT_CONTAINS_ANY | FilterOperator.SET_NOT_CONTAINS_ALL ? Array<Exclude<PrimitiveFilterValue, null | undefined>> : Operator extends FilterOperator.BETWEEN | FilterOperator.NOT_BETWEEN ? [
|
|
13
20
|
Exclude<PrimitiveFilterValue, null | undefined>,
|
|
14
21
|
Exclude<PrimitiveFilterValue, null | undefined>
|
|
15
|
-
] : Operator extends FilterOperator.ARRAY_CONTAINS_ELEMENT ? /**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
] : Operator extends FilterOperator.ARRAY_CONTAINS_ELEMENT | FilterOperator.ARRAY_NOT_CONTAINS_ELEMENT ? /**
|
|
23
|
+
* Expected value:
|
|
24
|
+
* 1. A primitive value for direct array column comparison.
|
|
25
|
+
* 2. An object `{ [jsonPath: string]: PrimitiveFilterValue }` for checking an element
|
|
26
|
+
* within an array at a specific path inside a JSON column.
|
|
27
|
+
*/ PrimitiveFilterValue | {
|
|
21
28
|
[key: string]: PrimitiveFilterValue;
|
|
22
|
-
} : Operator extends FilterOperator.ARRAY_CONTAINS_ALL_ELEMENTS | FilterOperator.ARRAY_CONTAINS_ANY_ELEMENT | FilterOperator.ARRAY_EQUALS ? Array<Exclude<PrimitiveFilterValue, null | undefined>> | {
|
|
29
|
+
} : Operator extends FilterOperator.ARRAY_CONTAINS_ALL_ELEMENTS | FilterOperator.ARRAY_CONTAINS_ANY_ELEMENT | FilterOperator.ARRAY_EQUALS | FilterOperator.ARRAY_NOT_EQUALS | FilterOperator.ARRAY_EQUALS_STRICT | FilterOperator.ARRAY_NOT_EQUALS_STRICT | FilterOperator.ARRAY_NOT_CONTAINS_ALL_ELEMENTS | FilterOperator.ARRAY_NOT_CONTAINS_ANY_ELEMENT ? Array<Exclude<PrimitiveFilterValue, null | undefined>> | {
|
|
23
30
|
[key: string]: Array<Exclude<PrimitiveFilterValue, null | undefined>>;
|
|
24
|
-
} : Operator extends FilterOperator.IS_NULL | FilterOperator.IS_NOT_NULL ? /** Expected value: `null` or `undefined`. The actual value is often ignored by the translator. */ null | undefined : Operator extends FilterOperator.
|
|
25
|
-
[key: string]:
|
|
26
|
-
|
|
31
|
+
} : Operator extends FilterOperator.IS_NULL | FilterOperator.IS_NOT_NULL ? /** Expected value: `null` or `undefined`. The actual value is often ignored by the translator. */ null | undefined : Operator extends FilterOperator.JSON_PATH_VALUE_EQUALS | FilterOperator.JSON_PATH_VALUE_NOT_EQUALS ? {
|
|
32
|
+
[key: string]: JsonValue;
|
|
33
|
+
} : Operator extends FilterOperator.JSON_CONTAINS | FilterOperator.JSON_NOT_CONTAINS ? {
|
|
34
|
+
[key: string]: JsonValue;
|
|
35
|
+
} : Operator extends FilterOperator.JSON_CONTAINS_ANY | FilterOperator.JSON_CONTAINS_ALL | FilterOperator.JSON_NOT_CONTAINS_ANY | FilterOperator.JSON_NOT_CONTAINS_ALL ? {
|
|
36
|
+
[key: string]: Array<JsonValue>;
|
|
27
37
|
} : never;
|
|
28
38
|
/**
|
|
29
39
|
* Defines the structure for a single filter condition.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-primitive.types.d.ts","sourceRoot":"","sources":["../../../../src/criteria/filter/types/filter-primitive.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACd,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,QAAQ,SAAS,cAAc,IAErD,QAAQ,SACJ,cAAc,CAAC,IAAI,GACnB,cAAc,CAAC,QAAQ,GACvB,cAAc,CAAC,QAAQ,GACvB,cAAc,CAAC,YAAY,GAC3B,cAAc,CAAC,WAAW,GAC1B,cAAc,CAAC,SAAS,GACxB,cAAc,CAAC,YAAY,GAC3B,cAAc,CAAC,gBAAgB,GAC/B,cAAc,CAAC,aAAa,GAC5B,cAAc,CAAC,KAAK,GACpB,cAAc,CAAC,SAAS,GAExB,MAAM,GAEN,QAAQ,SACF,cAAc,CAAC,MAAM,GACrB,cAAc,CAAC,UAAU,GACzB,cAAc,CAAC,YAAY,GAC3B,cAAc,CAAC,sBAAsB,GACrC,cAAc,CAAC,SAAS,GACxB,cAAc,CAAC,mBAAmB,GAEtC,oBAAoB,GAEpB,QAAQ,SACF,cAAc,CAAC,EAAE,GACjB,cAAc,CAAC,MAAM,GACrB,cAAc,CAAC,gBAAgB,GAC/B,cAAc,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"filter-primitive.types.d.ts","sourceRoot":"","sources":["../../../../src/criteria/filter/types/filter-primitive.types.ts"],"names":[],"mappings":"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"}
|
package/dist/criteria/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export type { ICriteriaVisitor } from './types/visitor-interface.types.js';
|
|
|
9
9
|
export { OrderDirection } from './order/order.js';
|
|
10
10
|
export { FilterOperator, LogicalOperator } from './types/operator.types.js';
|
|
11
11
|
export { GetTypedCriteriaSchema } from './types/schema.types.js';
|
|
12
|
-
export type { CriteriaSchema, FieldOfSchema,
|
|
12
|
+
export type { CriteriaSchema, FieldOfSchema, JoinRelationType, SchemaJoins, } from './types/schema.types.js';
|
|
13
13
|
export type { Cursor } from './cursor.js';
|
|
14
14
|
export type { FilterPrimitive, FilterGroupPrimitive, FilterValue, PrimitiveFilterValue, } from './filter/types/filter-primitive.types.js';
|
|
15
15
|
export type { IFilterExpression } from './types/filter-expression.interface.js';
|
|
@@ -19,5 +19,5 @@ export type { OrderByPrimitive } from './order/order.js';
|
|
|
19
19
|
export type { Order } from './order/order.js';
|
|
20
20
|
export type { PivotJoinInput, SimpleJoinInput, } from './types/join-input.types.js';
|
|
21
21
|
export type { PivotJoin, SimpleJoin } from './types/join-parameter.types.js';
|
|
22
|
-
export type { StoredJoinDetails, AnyJoinCriteria,
|
|
22
|
+
export type { StoredJoinDetails, AnyJoinCriteria, JoinCriteriaType, SpecificMatchingJoinConfig, } from './types/join-utility.types.js';
|
|
23
23
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/criteria/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAGnE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,YAAY,EACV,cAAc,EACd,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/criteria/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAGnE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,YAAY,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,oBAAoB,GACrB,MAAM,0CAA0C,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG9C,YAAY,EACV,cAAc,EACd,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7E,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/criteria/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAMzE,4BAA4B;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5E,4CAA4C;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/criteria/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAMzE,4BAA4B;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5E,4CAA4C;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAgBjE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,32 +1,25 @@
|
|
|
1
|
-
import type { CriteriaSchema
|
|
1
|
+
import type { CriteriaSchema } from '../types/schema.types.js';
|
|
2
2
|
import type { PivotJoin, SimpleJoin } from '../types/join-parameter.types.js';
|
|
3
3
|
import { Criteria } from '../criteria.js';
|
|
4
4
|
import type { ICriteriaVisitor } from '../types/visitor-interface.types.js';
|
|
5
5
|
/**
|
|
6
6
|
* Represents an INNER JOIN criteria.
|
|
7
|
-
* It extends the base {@link Criteria} and defines how it's visited by a {@link ICriteriaVisitor}.
|
|
8
7
|
* @template CSchema - The {@link CriteriaSchema} of the entity being joined.
|
|
9
8
|
* @template Alias - The selected alias for the joined entity from its schema.
|
|
10
9
|
*/
|
|
11
|
-
export declare class InnerJoinCriteria<CSchema extends CriteriaSchema
|
|
10
|
+
export declare class InnerJoinCriteria<CSchema extends CriteriaSchema> extends Criteria<CSchema> {
|
|
12
11
|
/**
|
|
13
12
|
* Accepts a criteria visitor to process this inner join criteria.
|
|
14
|
-
*
|
|
15
|
-
* @
|
|
16
|
-
* @
|
|
17
|
-
* @param {ICriteriaVisitor<TranslationContext, TranslationOutput>} visitor - The visitor instance.
|
|
18
|
-
* @param {PivotJoin<CriteriaSchema, CSchema, JoinRelationType> | SimpleJoin<CriteriaSchema, CSchema,
|
|
19
|
-
* JoinRelationType>} parameters - The fully resolved parameters for this join, including parent and join field
|
|
20
|
-
* details.
|
|
21
|
-
* @param {TranslationContext} context - The context object to be passed to the visitor.
|
|
22
|
-
* @returns {TranslationOutput} The result of the visitor processing this join.
|
|
13
|
+
* @param visitor The visitor instance.
|
|
14
|
+
* @param parameters The fully resolved parameters for this join.
|
|
15
|
+
* @param context The context object to be passed to the visitor.
|
|
23
16
|
*/
|
|
24
|
-
accept<TranslationContext
|
|
17
|
+
accept<TranslationContext>(visitor: ICriteriaVisitor<TranslationContext>, parameters: PivotJoin<CriteriaSchema, CSchema> | SimpleJoin<CriteriaSchema, CSchema>, context: TranslationContext): void;
|
|
25
18
|
/**
|
|
26
|
-
* Returns a new instance of `
|
|
27
|
-
* but with all other states
|
|
28
|
-
* @returns {InnerJoinCriteria<CSchema, Alias>} A new, reset `
|
|
19
|
+
* Returns a new instance of `InnerJoinCriteria` with the same schema and alias configuration,
|
|
20
|
+
* but with all other states reset to their defaults.
|
|
21
|
+
* @returns {InnerJoinCriteria<CSchema, Alias>} A new, reset `InnerJoinCriteria` instance.
|
|
29
22
|
*/
|
|
30
|
-
resetCriteria(): InnerJoinCriteria<CSchema
|
|
23
|
+
resetCriteria(): InnerJoinCriteria<CSchema>;
|
|
31
24
|
}
|
|
32
25
|
//# sourceMappingURL=inner.join-criteria.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inner.join-criteria.d.ts","sourceRoot":"","sources":["../../../src/criteria/join/inner.join-criteria.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"inner.join-criteria.d.ts","sourceRoot":"","sources":["../../../src/criteria/join/inner.join-criteria.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAoB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E;;;;GAIG;AACH,qBAAa,iBAAiB,CAC5B,OAAO,SAAS,cAAc,CAC9B,SAAQ,QAAQ,CAAC,OAAO,CAAC;IACzB;;;;;OAKG;IACI,MAAM,CAAC,kBAAkB,EAC9B,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAC7C,UAAU,EACN,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,GAClC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,EACvC,OAAO,EAAE,kBAAkB,GAC1B,IAAI;IAQP;;;;OAIG;IACI,aAAa,IAAI,iBAAiB,CAAC,OAAO,CAAC;CAGnD"}
|
|
@@ -1,36 +1,29 @@
|
|
|
1
1
|
import { Criteria } from '../criteria.js';
|
|
2
2
|
/**
|
|
3
3
|
* Represents an INNER JOIN criteria.
|
|
4
|
-
* It extends the base {@link Criteria} and defines how it's visited by a {@link ICriteriaVisitor}.
|
|
5
4
|
* @template CSchema - The {@link CriteriaSchema} of the entity being joined.
|
|
6
5
|
* @template Alias - The selected alias for the joined entity from its schema.
|
|
7
6
|
*/
|
|
8
7
|
export class InnerJoinCriteria extends Criteria {
|
|
9
8
|
/**
|
|
10
9
|
* Accepts a criteria visitor to process this inner join criteria.
|
|
11
|
-
*
|
|
12
|
-
* @
|
|
13
|
-
* @
|
|
14
|
-
* @param {ICriteriaVisitor<TranslationContext, TranslationOutput>} visitor - The visitor instance.
|
|
15
|
-
* @param {PivotJoin<CriteriaSchema, CSchema, JoinRelationType> | SimpleJoin<CriteriaSchema, CSchema,
|
|
16
|
-
* JoinRelationType>} parameters - The fully resolved parameters for this join, including parent and join field
|
|
17
|
-
* details.
|
|
18
|
-
* @param {TranslationContext} context - The context object to be passed to the visitor.
|
|
19
|
-
* @returns {TranslationOutput} The result of the visitor processing this join.
|
|
10
|
+
* @param visitor The visitor instance.
|
|
11
|
+
* @param parameters The fully resolved parameters for this join.
|
|
12
|
+
* @param context The context object to be passed to the visitor.
|
|
20
13
|
*/
|
|
21
14
|
accept(visitor, parameters, context) {
|
|
22
|
-
typeof parameters.
|
|
23
|
-
? this.assetFieldOnSchema(parameters.
|
|
24
|
-
: this.assetFieldOnSchema(parameters.
|
|
25
|
-
|
|
15
|
+
typeof parameters.relation_field === 'object'
|
|
16
|
+
? this.assetFieldOnSchema(parameters.relation_field.reference)
|
|
17
|
+
: this.assetFieldOnSchema(parameters.relation_field);
|
|
18
|
+
visitor.visitInnerJoin(this, parameters, context);
|
|
26
19
|
}
|
|
27
20
|
/**
|
|
28
|
-
* Returns a new instance of `
|
|
29
|
-
* but with all other states
|
|
30
|
-
* @returns {InnerJoinCriteria<CSchema, Alias>} A new, reset `
|
|
21
|
+
* Returns a new instance of `InnerJoinCriteria` with the same schema and alias configuration,
|
|
22
|
+
* but with all other states reset to their defaults.
|
|
23
|
+
* @returns {InnerJoinCriteria<CSchema, Alias>} A new, reset `InnerJoinCriteria` instance.
|
|
31
24
|
*/
|
|
32
25
|
resetCriteria() {
|
|
33
|
-
return new InnerJoinCriteria(this.schema
|
|
26
|
+
return new InnerJoinCriteria(this.schema);
|
|
34
27
|
}
|
|
35
28
|
}
|
|
36
29
|
//# sourceMappingURL=inner.join-criteria.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inner.join-criteria.js","sourceRoot":"","sources":["../../../src/criteria/join/inner.join-criteria.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inner.join-criteria.js","sourceRoot":"","sources":["../../../src/criteria/join/inner.join-criteria.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAoB,MAAM,gBAAgB,CAAC;AAG5D;;;;GAIG;AACH,MAAM,OAAO,iBAEX,SAAQ,QAAiB;IACzB;;;;;OAKG;IACI,MAAM,CACX,OAA6C,EAC7C,UAEuC,EACvC,OAA2B;QAE3B,OAAO,UAAU,CAAC,cAAc,KAAK,QAAQ;YAC3C,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAEvD,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACI,aAAa;QAClB,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAA8B,CAAC,CAAC;IACpE,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CriteriaSchema
|
|
1
|
+
import type { CriteriaSchema } from '../types/schema.types.js';
|
|
2
2
|
import type { PivotJoin, SimpleJoin } from '../types/join-parameter.types.js';
|
|
3
3
|
import { Criteria } from '../criteria.js';
|
|
4
4
|
import type { ICriteriaVisitor } from '../types/visitor-interface.types.js';
|
|
@@ -8,7 +8,7 @@ import type { ICriteriaVisitor } from '../types/visitor-interface.types.js';
|
|
|
8
8
|
* @template CSchema - The {@link CriteriaSchema} of the entity being joined.
|
|
9
9
|
* @template Alias - The selected alias for the joined entity from its schema.
|
|
10
10
|
*/
|
|
11
|
-
export declare class LeftJoinCriteria<CSchema extends CriteriaSchema
|
|
11
|
+
export declare class LeftJoinCriteria<CSchema extends CriteriaSchema> extends Criteria<CSchema> {
|
|
12
12
|
/**
|
|
13
13
|
* Accepts a criteria visitor to process this left join criteria.
|
|
14
14
|
* It first validates the join field against the schema before dispatching to the visitor.
|
|
@@ -20,12 +20,12 @@ export declare class LeftJoinCriteria<CSchema extends CriteriaSchema, Alias exte
|
|
|
20
20
|
* @param {TranslationContext} context - The context object to be passed to the visitor.
|
|
21
21
|
* @returns {TranslationOutput} The result of the visitor processing this join.
|
|
22
22
|
*/
|
|
23
|
-
accept<TranslationContext
|
|
23
|
+
accept<TranslationContext>(visitor: ICriteriaVisitor<TranslationContext>, parameters: PivotJoin<CriteriaSchema, CSchema> | SimpleJoin<CriteriaSchema, CSchema>, context: TranslationContext): void;
|
|
24
24
|
/**
|
|
25
25
|
* Returns a new instance of `RootCriteria` with the same schema and alias configuration,
|
|
26
26
|
* but with all other states (filters, joins, ordering, pagination, selection) reset to their defaults.
|
|
27
27
|
* @returns {LeftJoinCriteria<CSchema, Alias>} A new, reset `RootCriteria` instance.
|
|
28
28
|
*/
|
|
29
|
-
resetCriteria(): LeftJoinCriteria<CSchema
|
|
29
|
+
resetCriteria(): LeftJoinCriteria<CSchema>;
|
|
30
30
|
}
|
|
31
31
|
//# sourceMappingURL=left.join-criteria.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"left.join-criteria.d.ts","sourceRoot":"","sources":["../../../src/criteria/join/left.join-criteria.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"left.join-criteria.d.ts","sourceRoot":"","sources":["../../../src/criteria/join/left.join-criteria.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAoB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E;;;;;GAKG;AACH,qBAAa,gBAAgB,CAC3B,OAAO,SAAS,cAAc,CAC9B,SAAQ,QAAQ,CAAC,OAAO,CAAC;IACzB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,kBAAkB,EACvB,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAC7C,UAAU,EACN,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,GAClC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,EACvC,OAAO,EAAE,kBAAkB,GAC1B,IAAI;IAOP;;;;OAIG;IACH,aAAa,IAAI,gBAAgB,CAAC,OAAO,CAAC;CAG3C"}
|
|
@@ -18,10 +18,10 @@ export class LeftJoinCriteria extends Criteria {
|
|
|
18
18
|
* @returns {TranslationOutput} The result of the visitor processing this join.
|
|
19
19
|
*/
|
|
20
20
|
accept(visitor, parameters, context) {
|
|
21
|
-
typeof parameters.
|
|
22
|
-
? this.assetFieldOnSchema(parameters.
|
|
23
|
-
: this.assetFieldOnSchema(parameters.
|
|
24
|
-
|
|
21
|
+
typeof parameters.relation_field === 'object'
|
|
22
|
+
? this.assetFieldOnSchema(parameters.relation_field.reference)
|
|
23
|
+
: this.assetFieldOnSchema(parameters.relation_field);
|
|
24
|
+
visitor.visitLeftJoin(this, parameters, context);
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Returns a new instance of `RootCriteria` with the same schema and alias configuration,
|
|
@@ -29,7 +29,7 @@ export class LeftJoinCriteria extends Criteria {
|
|
|
29
29
|
* @returns {LeftJoinCriteria<CSchema, Alias>} A new, reset `RootCriteria` instance.
|
|
30
30
|
*/
|
|
31
31
|
resetCriteria() {
|
|
32
|
-
return new LeftJoinCriteria(this.schema
|
|
32
|
+
return new LeftJoinCriteria(this.schema);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
//# sourceMappingURL=left.join-criteria.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"left.join-criteria.js","sourceRoot":"","sources":["../../../src/criteria/join/left.join-criteria.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"left.join-criteria.js","sourceRoot":"","sources":["../../../src/criteria/join/left.join-criteria.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAoB,MAAM,gBAAgB,CAAC;AAG5D;;;;;GAKG;AACH,MAAM,OAAO,gBAEX,SAAQ,QAAiB;IACzB;;;;;;;;;;OAUG;IACH,MAAM,CACJ,OAA6C,EAC7C,UAEuC,EACvC,OAA2B;QAE3B,OAAO,UAAU,CAAC,cAAc,KAAK,QAAQ;YAC3C,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAEvD,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD;;;;OAIG;IACH,aAAa;QACX,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAA8B,CAAC,CAAC;IACnE,CAAC;CACF"}
|
|
@@ -1,32 +1,29 @@
|
|
|
1
|
-
import type { CriteriaSchema
|
|
1
|
+
import type { CriteriaSchema } from '../types/schema.types.js';
|
|
2
2
|
import type { PivotJoin, SimpleJoin } from '../types/join-parameter.types.js';
|
|
3
3
|
import { Criteria } from '../criteria.js';
|
|
4
4
|
import type { ICriteriaVisitor } from '../types/visitor-interface.types.js';
|
|
5
5
|
/**
|
|
6
6
|
* Represents an OUTER JOIN (typically FULL OUTER JOIN) criteria.
|
|
7
7
|
* It extends the base {@link Criteria} and defines how it's visited by a {@link ICriteriaVisitor}.
|
|
8
|
-
* Note: Full OUTER JOIN support can vary between database systems.
|
|
9
8
|
* @template CSchema - The {@link CriteriaSchema} of the entity being joined.
|
|
10
9
|
* @template Alias - The selected alias for the joined entity from its schema.
|
|
11
10
|
*/
|
|
12
|
-
export declare class OuterJoinCriteria<CSchema extends CriteriaSchema
|
|
11
|
+
export declare class OuterJoinCriteria<CSchema extends CriteriaSchema> extends Criteria<CSchema> {
|
|
13
12
|
/**
|
|
14
13
|
* Accepts a criteria visitor to process this outer join criteria.
|
|
15
|
-
*
|
|
16
|
-
* @template
|
|
17
|
-
* @
|
|
18
|
-
* @param
|
|
19
|
-
* @param
|
|
20
|
-
*
|
|
21
|
-
* @param {TranslationContext} context - The context object to be passed to the visitor.
|
|
22
|
-
* @returns {TranslationOutput} The result of the visitor processing this join.
|
|
14
|
+
* @template TranslationContext The type of the context object passed during traversal.
|
|
15
|
+
* @template TOuterJoinVisitorOutput The specific return type expected from the visitor's `visitOuterJoin` method.
|
|
16
|
+
* @param visitor The visitor instance.
|
|
17
|
+
* @param parameters The fully resolved parameters for this join.
|
|
18
|
+
* @param context The context object to be passed to the visitor.
|
|
19
|
+
* @returns The result of the visitor processing this join.
|
|
23
20
|
*/
|
|
24
|
-
accept<TranslationContext
|
|
21
|
+
accept<TranslationContext>(visitor: ICriteriaVisitor<TranslationContext>, parameters: PivotJoin<CriteriaSchema, CSchema> | SimpleJoin<CriteriaSchema, CSchema>, context: TranslationContext): void;
|
|
25
22
|
/**
|
|
26
|
-
* Returns a new instance of `
|
|
27
|
-
* but with all other states
|
|
28
|
-
* @returns {OuterJoinCriteria<CSchema, Alias>} A new, reset `
|
|
23
|
+
* Returns a new instance of `OuterJoinCriteria` with the same schema and alias configuration,
|
|
24
|
+
* but with all other states reset to their defaults.
|
|
25
|
+
* @returns {OuterJoinCriteria<CSchema, Alias>} A new, reset `OuterJoinCriteria` instance.
|
|
29
26
|
*/
|
|
30
|
-
resetCriteria(): OuterJoinCriteria<CSchema
|
|
27
|
+
resetCriteria(): OuterJoinCriteria<CSchema>;
|
|
31
28
|
}
|
|
32
29
|
//# sourceMappingURL=outer.join-criteria.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outer.join-criteria.d.ts","sourceRoot":"","sources":["../../../src/criteria/join/outer.join-criteria.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"outer.join-criteria.d.ts","sourceRoot":"","sources":["../../../src/criteria/join/outer.join-criteria.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAoB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E;;;;;GAKG;AACH,qBAAa,iBAAiB,CAC5B,OAAO,SAAS,cAAc,CAC9B,SAAQ,QAAQ,CAAC,OAAO,CAAC;IACzB;;;;;;;;OAQG;IACI,MAAM,CAAC,kBAAkB,EAC9B,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAC7C,UAAU,EACN,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,GAClC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,EACvC,OAAO,EAAE,kBAAkB,GAC1B,IAAI;IAMP;;;;OAIG;IACI,aAAa,IAAI,iBAAiB,CAAC,OAAO,CAAC;CAGnD"}
|
|
@@ -2,35 +2,32 @@ import { Criteria } from '../criteria.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Represents an OUTER JOIN (typically FULL OUTER JOIN) criteria.
|
|
4
4
|
* It extends the base {@link Criteria} and defines how it's visited by a {@link ICriteriaVisitor}.
|
|
5
|
-
* Note: Full OUTER JOIN support can vary between database systems.
|
|
6
5
|
* @template CSchema - The {@link CriteriaSchema} of the entity being joined.
|
|
7
6
|
* @template Alias - The selected alias for the joined entity from its schema.
|
|
8
7
|
*/
|
|
9
8
|
export class OuterJoinCriteria extends Criteria {
|
|
10
9
|
/**
|
|
11
10
|
* Accepts a criteria visitor to process this outer join criteria.
|
|
12
|
-
*
|
|
13
|
-
* @template
|
|
14
|
-
* @
|
|
15
|
-
* @param
|
|
16
|
-
* @param
|
|
17
|
-
*
|
|
18
|
-
* @param {TranslationContext} context - The context object to be passed to the visitor.
|
|
19
|
-
* @returns {TranslationOutput} The result of the visitor processing this join.
|
|
11
|
+
* @template TranslationContext The type of the context object passed during traversal.
|
|
12
|
+
* @template TOuterJoinVisitorOutput The specific return type expected from the visitor's `visitOuterJoin` method.
|
|
13
|
+
* @param visitor The visitor instance.
|
|
14
|
+
* @param parameters The fully resolved parameters for this join.
|
|
15
|
+
* @param context The context object to be passed to the visitor.
|
|
16
|
+
* @returns The result of the visitor processing this join.
|
|
20
17
|
*/
|
|
21
18
|
accept(visitor, parameters, context) {
|
|
22
|
-
typeof parameters.
|
|
23
|
-
? this.assetFieldOnSchema(parameters.
|
|
24
|
-
: this.assetFieldOnSchema(parameters.
|
|
25
|
-
|
|
19
|
+
typeof parameters.relation_field === 'object'
|
|
20
|
+
? this.assetFieldOnSchema(parameters.relation_field.reference)
|
|
21
|
+
: this.assetFieldOnSchema(parameters.relation_field);
|
|
22
|
+
visitor.visitOuterJoin(this, parameters, context);
|
|
26
23
|
}
|
|
27
24
|
/**
|
|
28
|
-
* Returns a new instance of `
|
|
29
|
-
* but with all other states
|
|
30
|
-
* @returns {OuterJoinCriteria<CSchema, Alias>} A new, reset `
|
|
25
|
+
* Returns a new instance of `OuterJoinCriteria` with the same schema and alias configuration,
|
|
26
|
+
* but with all other states reset to their defaults.
|
|
27
|
+
* @returns {OuterJoinCriteria<CSchema, Alias>} A new, reset `OuterJoinCriteria` instance.
|
|
31
28
|
*/
|
|
32
29
|
resetCriteria() {
|
|
33
|
-
return new OuterJoinCriteria(this.schema
|
|
30
|
+
return new OuterJoinCriteria(this.schema);
|
|
34
31
|
}
|
|
35
32
|
}
|
|
36
33
|
//# sourceMappingURL=outer.join-criteria.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outer.join-criteria.js","sourceRoot":"","sources":["../../../src/criteria/join/outer.join-criteria.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"outer.join-criteria.js","sourceRoot":"","sources":["../../../src/criteria/join/outer.join-criteria.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAoB,MAAM,gBAAgB,CAAC;AAG5D;;;;;GAKG;AACH,MAAM,OAAO,iBAEX,SAAQ,QAAiB;IACzB;;;;;;;;OAQG;IACI,MAAM,CACX,OAA6C,EAC7C,UAEuC,EACvC,OAA2B;QAE3B,OAAO,UAAU,CAAC,cAAc,KAAK,QAAQ;YAC3C,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACvD,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IACD;;;;OAIG;IACI,aAAa;QAClB,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAA8B,CAAC,CAAC;IACpE,CAAC;CACF"}
|
|
@@ -11,6 +11,12 @@ export declare const OrderDirection: {
|
|
|
11
11
|
* Represents the direction of an order clause, either 'ASC' or 'DESC'.
|
|
12
12
|
*/
|
|
13
13
|
export type OrderDirection = keyof typeof OrderDirection;
|
|
14
|
+
/**
|
|
15
|
+
* Resets the global order sequence counter.
|
|
16
|
+
* This function is intended for testing purposes to ensure predictable sequence IDs.
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
export declare function _resetOrderSequenceForTesting(): void;
|
|
14
20
|
/**
|
|
15
21
|
* Represents the primitive structure of an order by clause,
|
|
16
22
|
* specifying the field and direction.
|
|
@@ -21,6 +27,10 @@ export type OrderByPrimitive<T extends string = string> = {
|
|
|
21
27
|
direction: OrderDirection;
|
|
22
28
|
/** The name of the field to order by. */
|
|
23
29
|
field: T;
|
|
30
|
+
/** A unique ID to ensure stable sorting order. */
|
|
31
|
+
sequence_id: number;
|
|
32
|
+
/** If true, null values will be ordered first. Otherwise, they will be ordered last. */
|
|
33
|
+
nulls_first: boolean;
|
|
24
34
|
};
|
|
25
35
|
/**
|
|
26
36
|
* Represents a single ordering rule for a query.
|
|
@@ -32,6 +42,7 @@ export type OrderByPrimitive<T extends string = string> = {
|
|
|
32
42
|
export declare class Order<T extends string = string> {
|
|
33
43
|
protected readonly _direction: OrderDirection;
|
|
34
44
|
protected readonly _field: T;
|
|
45
|
+
protected readonly _nullsFirst: boolean;
|
|
35
46
|
/**
|
|
36
47
|
* A unique, globally incrementing ID to ensure stable sorting order
|
|
37
48
|
* when multiple Order instances are created.
|
|
@@ -42,8 +53,14 @@ export declare class Order<T extends string = string> {
|
|
|
42
53
|
* Creates an instance of Order.
|
|
43
54
|
* @param {OrderDirection} _direction - The direction of the sort (ASC or DESC).
|
|
44
55
|
* @param {T} _field - The name of the field to order by.
|
|
56
|
+
* @param {boolean} [_nullsFirst=false] - If true, null values will be ordered first.
|
|
57
|
+
*/
|
|
58
|
+
constructor(_direction: OrderDirection, _field: T, _nullsFirst?: boolean);
|
|
59
|
+
/**
|
|
60
|
+
* Gets whether null values should be ordered first.
|
|
61
|
+
* @returns {boolean} True if nulls are first, otherwise false.
|
|
45
62
|
*/
|
|
46
|
-
|
|
63
|
+
get nullsFirst(): boolean;
|
|
47
64
|
/**
|
|
48
65
|
* Gets the unique sequence ID of this order rule.
|
|
49
66
|
* Used to maintain a stable sort order when multiple orders are applied.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../src/criteria/order/order.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB,wCAAwC;;IAExC,yCAAyC;;CAEjC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,cAAc,CAAC;AAIzD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACxD,+CAA+C;IAC/C,SAAS,EAAE,cAAc,CAAC;IAC1B,yCAAyC;IACzC,KAAK,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../src/criteria/order/order.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB,wCAAwC;;IAExC,yCAAyC;;CAEjC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,cAAc,CAAC;AAIzD;;;;GAIG;AACH,wBAAgB,6BAA6B,SAE5C;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACxD,+CAA+C;IAC/C,SAAS,EAAE,cAAc,CAAC;IAC1B,yCAAyC;IACzC,KAAK,EAAE,CAAC,CAAC;IACT,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAexC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO;IAhBzC;;;;OAIG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAE9B;;;;;OAKG;gBAEkB,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,CAAC,EACT,WAAW,GAAE,OAAe;IAMjD;;;OAGG;IACH,IAAI,UAAU,YAEb;IAED;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;OAGG;IACH,IAAI,KAAK,IAAI,CAAC,CAEb;IAED;;;OAGG;IACH,IAAI,SAAS,IAAI,cAAc,CAE9B;IAED;;;OAGG;IACH,WAAW,IAAI,gBAAgB,CAAC,CAAC,CAAC;CAQnC"}
|
|
@@ -8,6 +8,14 @@ export const OrderDirection = {
|
|
|
8
8
|
DESC: 'DESC',
|
|
9
9
|
};
|
|
10
10
|
let globalOrderSequence = 0;
|
|
11
|
+
/**
|
|
12
|
+
* Resets the global order sequence counter.
|
|
13
|
+
* This function is intended for testing purposes to ensure predictable sequence IDs.
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export function _resetOrderSequenceForTesting() {
|
|
17
|
+
globalOrderSequence = 0;
|
|
18
|
+
}
|
|
11
19
|
/**
|
|
12
20
|
* Represents a single ordering rule for a query.
|
|
13
21
|
* It includes the field to order by, the direction (ASC/DESC),
|
|
@@ -18,6 +26,7 @@ let globalOrderSequence = 0;
|
|
|
18
26
|
export class Order {
|
|
19
27
|
_direction;
|
|
20
28
|
_field;
|
|
29
|
+
_nullsFirst;
|
|
21
30
|
/**
|
|
22
31
|
* A unique, globally incrementing ID to ensure stable sorting order
|
|
23
32
|
* when multiple Order instances are created.
|
|
@@ -28,13 +37,22 @@ export class Order {
|
|
|
28
37
|
* Creates an instance of Order.
|
|
29
38
|
* @param {OrderDirection} _direction - The direction of the sort (ASC or DESC).
|
|
30
39
|
* @param {T} _field - The name of the field to order by.
|
|
40
|
+
* @param {boolean} [_nullsFirst=false] - If true, null values will be ordered first.
|
|
31
41
|
*/
|
|
32
|
-
constructor(_direction, _field) {
|
|
42
|
+
constructor(_direction, _field, _nullsFirst = false) {
|
|
33
43
|
this._direction = _direction;
|
|
34
44
|
this._field = _field;
|
|
45
|
+
this._nullsFirst = _nullsFirst;
|
|
35
46
|
globalOrderSequence++;
|
|
36
47
|
this._sequenceId = globalOrderSequence;
|
|
37
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Gets whether null values should be ordered first.
|
|
51
|
+
* @returns {boolean} True if nulls are first, otherwise false.
|
|
52
|
+
*/
|
|
53
|
+
get nullsFirst() {
|
|
54
|
+
return this._nullsFirst;
|
|
55
|
+
}
|
|
38
56
|
/**
|
|
39
57
|
* Gets the unique sequence ID of this order rule.
|
|
40
58
|
* Used to maintain a stable sort order when multiple orders are applied.
|
|
@@ -65,6 +83,8 @@ export class Order {
|
|
|
65
83
|
return {
|
|
66
84
|
direction: this._direction,
|
|
67
85
|
field: this._field,
|
|
86
|
+
nulls_first: this._nullsFirst,
|
|
87
|
+
sequence_id: this.sequenceId,
|
|
68
88
|
};
|
|
69
89
|
}
|
|
70
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/criteria/order/order.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,wCAAwC;IACxC,GAAG,EAAE,KAAK;IACV,yCAAyC;IACzC,IAAI,EAAE,MAAM;CACJ,CAAC;AAOX,IAAI,mBAAmB,GAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/criteria/order/order.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,wCAAwC;IACxC,GAAG,EAAE,KAAK;IACV,yCAAyC;IACzC,IAAI,EAAE,MAAM;CACJ,CAAC;AAOX,IAAI,mBAAmB,GAAW,CAAC,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,6BAA6B;IAC3C,mBAAmB,GAAG,CAAC,CAAC;AAC1B,CAAC;AAkBD;;;;;;GAMG;AACH,MAAM,OAAO,KAAK;IAeK;IACA;IACA;IAhBrB;;;;OAIG;IACO,WAAW,CAAS;IAE9B;;;;;OAKG;IACH,YACqB,UAA0B,EAC1B,MAAS,EACT,cAAuB,KAAK;QAF5B,eAAU,GAAV,UAAU,CAAgB;QAC1B,WAAM,GAAN,MAAM,CAAG;QACT,gBAAW,GAAX,WAAW,CAAiB;QAE/C,mBAAmB,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,33 +1,23 @@
|
|
|
1
1
|
import { Criteria } from './criteria.js';
|
|
2
|
-
import type { CriteriaSchema
|
|
2
|
+
import type { CriteriaSchema } from './types/schema.types.js';
|
|
3
3
|
import type { ICriteriaVisitor } from './types/visitor-interface.types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Represents the root criteria for a query.
|
|
6
|
-
* This is the main entry point for building a query and defines the primary entity being queried.
|
|
7
|
-
* It extends the base {@link Criteria} and defines how it's visited by a {@link ICriteriaVisitor}.
|
|
8
6
|
* @template CSchema - The {@link CriteriaSchema} of the root entity.
|
|
9
7
|
* @template Alias - The selected alias for the root entity from its schema.
|
|
10
8
|
*/
|
|
11
|
-
export declare class RootCriteria<CSchema extends CriteriaSchema
|
|
9
|
+
export declare class RootCriteria<CSchema extends CriteriaSchema> extends Criteria<CSchema> {
|
|
12
10
|
/**
|
|
13
11
|
* Accepts a criteria visitor to process this root criteria.
|
|
14
|
-
*
|
|
15
|
-
* @
|
|
16
|
-
* instance).
|
|
17
|
-
* @template TranslationOutput - The type of the result returned by visitor methods (e.g., the modified query builder
|
|
18
|
-
* or a query string).
|
|
19
|
-
* @param {ICriteriaVisitor<TranslationContext, TranslationOutput>} visitor - The visitor instance responsible for
|
|
20
|
-
* translating criteria parts.
|
|
21
|
-
* @param {TranslationContext} context - The context object to be passed to the visitor (e.g., an initial query
|
|
22
|
-
* builder or an empty string for SQL).
|
|
23
|
-
* @returns {TranslationOutput} The result of the visitor processing this root criteria and its components.
|
|
12
|
+
* @param visitor The visitor instance responsible for translating criteria parts.
|
|
13
|
+
* @param context The context object to be passed to the visitor.
|
|
24
14
|
*/
|
|
25
|
-
accept<TranslationContext
|
|
15
|
+
accept<TranslationContext>(visitor: ICriteriaVisitor<TranslationContext>, context: TranslationContext): void;
|
|
26
16
|
/**
|
|
27
17
|
* Returns a new instance of `RootCriteria` with the same schema and alias configuration,
|
|
28
18
|
* but with all other states (filters, joins, ordering, pagination, selection) reset to their defaults.
|
|
29
19
|
* @returns {RootCriteria<CSchema, Alias>} A new, reset `RootCriteria` instance.
|
|
30
20
|
*/
|
|
31
|
-
resetCriteria(): RootCriteria<CSchema
|
|
21
|
+
resetCriteria(): RootCriteria<CSchema>;
|
|
32
22
|
}
|
|
33
23
|
//# sourceMappingURL=root.criteria.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.criteria.d.ts","sourceRoot":"","sources":["../../src/criteria/root.criteria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"root.criteria.d.ts","sourceRoot":"","sources":["../../src/criteria/root.criteria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAoB,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E;;;;GAIG;AACH,qBAAa,YAAY,CACvB,OAAO,SAAS,cAAc,CAC9B,SAAQ,QAAQ,CAAC,OAAO,CAAC;IACzB;;;;OAIG;IACI,MAAM,CAAC,kBAAkB,EAC9B,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAC7C,OAAO,EAAE,kBAAkB,GAC1B,IAAI;IAIP;;;;OAIG;IACI,aAAa,IAAI,YAAY,CAAC,OAAO,CAAC;CAG9C"}
|