@inixiative/json-rules 2.5.1 → 2.7.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/dist/index.d.cts CHANGED
@@ -37,6 +37,7 @@ declare const DateOperator: {
37
37
  readonly after: "after";
38
38
  readonly onOrBefore: "onOrBefore";
39
39
  readonly onOrAfter: "onOrAfter";
40
+ readonly within: "within";
40
41
  readonly between: "between";
41
42
  readonly notBetween: "notBetween";
42
43
  readonly dayIn: "dayIn";
@@ -54,7 +55,43 @@ type RuleValue = RuleScalar | Date | RegExp | RuleValue[] | {
54
55
  };
55
56
  type OrderedRuleValue = string | number | Date;
56
57
  type DateInputValue = string | number | Date;
57
- type DateRuleValue = DateInputValue | [DateInputValue, DateInputValue] | string[];
58
+ type RelativeUnits = {
59
+ years?: number;
60
+ quarters?: number;
61
+ months?: number;
62
+ weeks?: number;
63
+ days?: number;
64
+ hours?: number;
65
+ minutes?: number;
66
+ seconds?: number;
67
+ };
68
+ type PeriodUnit = 'year' | 'quarter' | 'month' | 'week' | 'isoWeek' | 'day' | 'hour' | 'minute' | 'second';
69
+ type RollingExpr = {
70
+ ago: RelativeUnits;
71
+ } | {
72
+ ahead: RelativeUnits;
73
+ };
74
+ type PeriodExpr = {
75
+ this: PeriodUnit;
76
+ } | {
77
+ last: PeriodUnit;
78
+ } | {
79
+ next: PeriodUnit;
80
+ };
81
+ type EdgeExpr = {
82
+ start: PeriodExpr;
83
+ } | {
84
+ end: PeriodExpr;
85
+ };
86
+ type DateExpr = RollingExpr | PeriodExpr | EdgeExpr;
87
+ type DateInputOrExpr = DateInputValue | DateExpr;
88
+ type DateRuleValue = DateInputValue | DateExpr | [DateInputOrExpr, DateInputOrExpr] | string[];
89
+ type WeekStart = 'monday' | 'sunday';
90
+ type DateConfig = {
91
+ now?: DateInputValue;
92
+ timeZone?: string;
93
+ weekStart?: WeekStart;
94
+ };
58
95
  type ValueSource<TValue> = {
59
96
  value: TValue;
60
97
  path?: never;
@@ -144,7 +181,18 @@ type StrictAggregateRule<TRuleValue = RuleValue, TDateValue = DateRuleValue> = (
144
181
  } & ValueSource<number>) | (AggregateRuleBase<TRuleValue, TDateValue> & {
145
182
  operator: AggregateRangeOperator;
146
183
  } & ValueSource<[number, number]>);
147
- type AggregateRule<TRuleValue = RuleValue, TDateValue = DateRuleValue> = {
184
+ type SortDir = 'asc' | 'desc';
185
+ type OrderBy = {
186
+ field: string;
187
+ dir: SortDir;
188
+ }[];
189
+ type WindowFields = {
190
+ filter?: Condition;
191
+ orderBy?: OrderBy;
192
+ take?: number;
193
+ skip?: number;
194
+ };
195
+ type AggregateRule<TRuleValue = RuleValue, TDateValue = DateRuleValue> = WindowFields & {
148
196
  field: string;
149
197
  aggregate: {
150
198
  mode: AggregateMode;
@@ -163,7 +211,7 @@ type Rule<TValue = RuleValue> = {
163
211
  path?: string;
164
212
  error?: string;
165
213
  };
166
- type ArrayRule<TRuleValue = RuleValue, TDateValue = DateRuleValue> = {
214
+ type ArrayRule<TRuleValue = RuleValue, TDateValue = DateRuleValue> = WindowFields & {
167
215
  field?: string;
168
216
  arrayOperator: ArrayOperator;
169
217
  condition?: Condition<TRuleValue, TDateValue>;
@@ -212,7 +260,7 @@ type Row$1 = Record<string, unknown>;
212
260
  type CheckData = Row$1 | unknown[];
213
261
  type CheckOptions = {
214
262
  context?: CheckData;
215
- };
263
+ } & DateConfig;
216
264
  declare const check: <TData extends CheckData>(conditions: Condition, data: TData, options?: CheckOptions) => boolean | string;
217
265
 
218
266
  type PrismaWhere = Record<string, unknown>;
@@ -270,7 +318,7 @@ type BuildOptions = {
270
318
  mapName?: string;
271
319
  model?: string;
272
320
  context?: Record<string, unknown>;
273
- };
321
+ } & DateConfig;
274
322
 
275
323
  type BridgeEndpoint = {
276
324
  fieldMap: string;
@@ -432,6 +480,7 @@ declare const ValueShape: {
432
480
  readonly range: "range";
433
481
  readonly dateValue: "dateValue";
434
482
  readonly dateRange: "dateRange";
483
+ readonly dateWindow: "dateWindow";
435
484
  readonly dayList: "dayList";
436
485
  readonly count: "count";
437
486
  readonly predicate: "predicate";
@@ -441,6 +490,7 @@ type CatalogEntry = {
441
490
  kinds: readonly FieldKind[];
442
491
  targets: readonly RuleTarget[];
443
492
  valueShape: ValueShape;
493
+ acceptsExpr?: boolean;
444
494
  };
445
495
  declare const FIELD_OPERATOR_CATALOG: Record<Operator, CatalogEntry>;
446
496
  declare const DATE_OPERATOR_CATALOG: Record<DateOperator, CatalogEntry>;
@@ -449,6 +499,30 @@ type ArrayCatalogEntry = {
449
499
  valueShape: ValueShape;
450
500
  };
451
501
  declare const ARRAY_OPERATOR_CATALOG: Record<ArrayOperator, ArrayCatalogEntry>;
502
+ declare const WindowSupport: {
503
+ readonly full: "full";
504
+ readonly extremal: "extremal";
505
+ readonly none: "none";
506
+ };
507
+ type WindowSupport = (typeof WindowSupport)[keyof typeof WindowSupport];
508
+ declare const WINDOW_SELECTOR: {
509
+ readonly fields: readonly ["filter", "orderBy", "take", "skip"];
510
+ readonly sortDirs: readonly ["asc", "desc"];
511
+ readonly support: {
512
+ readonly array: {
513
+ readonly check: "full";
514
+ readonly toPrisma: "extremal";
515
+ readonly toSql: "none";
516
+ };
517
+ readonly aggregate: {
518
+ readonly check: "full";
519
+ readonly toPrisma: "none";
520
+ readonly toSql: "none";
521
+ };
522
+ };
523
+ };
524
+ type WindowRuleType = keyof typeof WINDOW_SELECTOR.support;
525
+ declare const getWindowSupport: (ruleType: WindowRuleType, target: RuleTarget) => WindowSupport;
452
526
  declare const AGGREGATE_OPERATORS: readonly Operator[];
453
527
  declare const isAggregateSingleOperator: (operator: Operator) => boolean;
454
528
  declare const isAggregateRangeOperator: (operator: Operator) => boolean;
@@ -526,7 +600,7 @@ type SqlBuildOptions = {
526
600
  model?: string;
527
601
  alias?: string;
528
602
  context?: Record<string, unknown>;
529
- };
603
+ } & DateConfig;
530
604
  declare const toSql: (condition: Condition, options?: SqlBuildOptions) => SqlResult;
531
605
 
532
606
  type ValidationIssue = {
@@ -545,4 +619,4 @@ declare const assertValidRule: (condition: unknown, options?: {
545
619
  target?: RuleTarget;
546
620
  }) => asserts condition is Condition;
547
621
 
548
- export { AGGREGATE_OPERATORS, ALL_KINDS, ARRAY_OPERATOR_CATALOG, type AggregateMode, type AggregateRule, type All, type Any, type ArrayCatalogEntry, ArrayOperator, type ArrayRule, type Bridge, type BridgeCardinality, type BridgeDictionary, type BridgeEndpoint, type BuildOptions, type CatalogEntry, type CheckOptions, type Condition, type CreateLensInput, DATE_OPERATOR_CATALOG, type DateInputValue, DateOperator, type DateRule, type DateRuleValue, EQUATABLE_KINDS, type EnumNarrowing, FIELD_OPERATOR_CATALOG, FieldKind, type FieldMap, type FieldMapEntry, type FieldMapSet, type GroupByStep, type IfThenElse, type Lens, type LensNarrowing, type ModelDefaultNarrowing, type ModelNarrowing, NUMERIC_KINDS, type NarrowingDefaults, ORDERABLE_KINDS, Operator, type OrderedRuleValue, type PathProjection, type PrismaStep, type PrismaWhere, type ProjectedVisit, type Rule, type RuleLensCheck, type RuleLensViolation, type RuleScalar, RuleTarget, type RuleValue, STRINGY_KINDS, type SqlResult, type StepRef, type StrictAggregateRule, type StrictAll, type StrictAny, type StrictArrayCountRule, type StrictArrayPredicateRule, type StrictArrayPresenceRule, type StrictArrayRule, type StrictCondition, type StrictContainsRule, type StrictDateComparisonRule, type StrictDateDayRule, type StrictDateRangeRule, type StrictDateRule, type StrictEqualityRule, type StrictIfThenElse, type StrictMembershipRule, type StrictOrderedComparisonRule, type StrictPatternRule, type StrictPresenceRule, type StrictRangeRule, type StrictRule, type StrictStringBoundaryRule, type ToPrismaResult, type ValidationIssue, type ValidationResult, ValueShape, type WhereStep, applyLens, assertValidRule, buildBridgeDictionary, check, checkRuleAgainstLens, createLens, executePrismaQueryPlan, getArrayOperators, getOperatorsForKind, getValueShape, isAggregateRangeOperator, isAggregateSingleOperator, isOperatorSupportedForTarget, projectByPath, stitchFieldMaps, toPrisma, toSql, validateFieldMap, validateFieldMapSet, validateNarrowing, validateRule };
622
+ export { AGGREGATE_OPERATORS, ALL_KINDS, ARRAY_OPERATOR_CATALOG, type AggregateMode, type AggregateRule, type All, type Any, type ArrayCatalogEntry, ArrayOperator, type ArrayRule, type Bridge, type BridgeCardinality, type BridgeDictionary, type BridgeEndpoint, type BuildOptions, type CatalogEntry, type CheckOptions, type Condition, type CreateLensInput, DATE_OPERATOR_CATALOG, type DateConfig, type DateExpr, type DateInputOrExpr, type DateInputValue, DateOperator, type DateRule, type DateRuleValue, EQUATABLE_KINDS, type EdgeExpr, type EnumNarrowing, FIELD_OPERATOR_CATALOG, FieldKind, type FieldMap, type FieldMapEntry, type FieldMapSet, type GroupByStep, type IfThenElse, type Lens, type LensNarrowing, type ModelDefaultNarrowing, type ModelNarrowing, NUMERIC_KINDS, type NarrowingDefaults, ORDERABLE_KINDS, Operator, type OrderBy, type OrderedRuleValue, type PathProjection, type PeriodExpr, type PeriodUnit, type PrismaStep, type PrismaWhere, type ProjectedVisit, type RelativeUnits, type RollingExpr, type Rule, type RuleLensCheck, type RuleLensViolation, type RuleScalar, RuleTarget, type RuleValue, STRINGY_KINDS, type SortDir, type SqlResult, type StepRef, type StrictAggregateRule, type StrictAll, type StrictAny, type StrictArrayCountRule, type StrictArrayPredicateRule, type StrictArrayPresenceRule, type StrictArrayRule, type StrictCondition, type StrictContainsRule, type StrictDateComparisonRule, type StrictDateDayRule, type StrictDateRangeRule, type StrictDateRule, type StrictEqualityRule, type StrictIfThenElse, type StrictMembershipRule, type StrictOrderedComparisonRule, type StrictPatternRule, type StrictPresenceRule, type StrictRangeRule, type StrictRule, type StrictStringBoundaryRule, type ToPrismaResult, type ValidationIssue, type ValidationResult, ValueShape, WINDOW_SELECTOR, type WeekStart, type WhereStep, type WindowFields, type WindowRuleType, WindowSupport, applyLens, assertValidRule, buildBridgeDictionary, check, checkRuleAgainstLens, createLens, executePrismaQueryPlan, getArrayOperators, getOperatorsForKind, getValueShape, getWindowSupport, isAggregateRangeOperator, isAggregateSingleOperator, isOperatorSupportedForTarget, projectByPath, stitchFieldMaps, toPrisma, toSql, validateFieldMap, validateFieldMapSet, validateNarrowing, validateRule };
package/dist/index.d.ts CHANGED
@@ -37,6 +37,7 @@ declare const DateOperator: {
37
37
  readonly after: "after";
38
38
  readonly onOrBefore: "onOrBefore";
39
39
  readonly onOrAfter: "onOrAfter";
40
+ readonly within: "within";
40
41
  readonly between: "between";
41
42
  readonly notBetween: "notBetween";
42
43
  readonly dayIn: "dayIn";
@@ -54,7 +55,43 @@ type RuleValue = RuleScalar | Date | RegExp | RuleValue[] | {
54
55
  };
55
56
  type OrderedRuleValue = string | number | Date;
56
57
  type DateInputValue = string | number | Date;
57
- type DateRuleValue = DateInputValue | [DateInputValue, DateInputValue] | string[];
58
+ type RelativeUnits = {
59
+ years?: number;
60
+ quarters?: number;
61
+ months?: number;
62
+ weeks?: number;
63
+ days?: number;
64
+ hours?: number;
65
+ minutes?: number;
66
+ seconds?: number;
67
+ };
68
+ type PeriodUnit = 'year' | 'quarter' | 'month' | 'week' | 'isoWeek' | 'day' | 'hour' | 'minute' | 'second';
69
+ type RollingExpr = {
70
+ ago: RelativeUnits;
71
+ } | {
72
+ ahead: RelativeUnits;
73
+ };
74
+ type PeriodExpr = {
75
+ this: PeriodUnit;
76
+ } | {
77
+ last: PeriodUnit;
78
+ } | {
79
+ next: PeriodUnit;
80
+ };
81
+ type EdgeExpr = {
82
+ start: PeriodExpr;
83
+ } | {
84
+ end: PeriodExpr;
85
+ };
86
+ type DateExpr = RollingExpr | PeriodExpr | EdgeExpr;
87
+ type DateInputOrExpr = DateInputValue | DateExpr;
88
+ type DateRuleValue = DateInputValue | DateExpr | [DateInputOrExpr, DateInputOrExpr] | string[];
89
+ type WeekStart = 'monday' | 'sunday';
90
+ type DateConfig = {
91
+ now?: DateInputValue;
92
+ timeZone?: string;
93
+ weekStart?: WeekStart;
94
+ };
58
95
  type ValueSource<TValue> = {
59
96
  value: TValue;
60
97
  path?: never;
@@ -144,7 +181,18 @@ type StrictAggregateRule<TRuleValue = RuleValue, TDateValue = DateRuleValue> = (
144
181
  } & ValueSource<number>) | (AggregateRuleBase<TRuleValue, TDateValue> & {
145
182
  operator: AggregateRangeOperator;
146
183
  } & ValueSource<[number, number]>);
147
- type AggregateRule<TRuleValue = RuleValue, TDateValue = DateRuleValue> = {
184
+ type SortDir = 'asc' | 'desc';
185
+ type OrderBy = {
186
+ field: string;
187
+ dir: SortDir;
188
+ }[];
189
+ type WindowFields = {
190
+ filter?: Condition;
191
+ orderBy?: OrderBy;
192
+ take?: number;
193
+ skip?: number;
194
+ };
195
+ type AggregateRule<TRuleValue = RuleValue, TDateValue = DateRuleValue> = WindowFields & {
148
196
  field: string;
149
197
  aggregate: {
150
198
  mode: AggregateMode;
@@ -163,7 +211,7 @@ type Rule<TValue = RuleValue> = {
163
211
  path?: string;
164
212
  error?: string;
165
213
  };
166
- type ArrayRule<TRuleValue = RuleValue, TDateValue = DateRuleValue> = {
214
+ type ArrayRule<TRuleValue = RuleValue, TDateValue = DateRuleValue> = WindowFields & {
167
215
  field?: string;
168
216
  arrayOperator: ArrayOperator;
169
217
  condition?: Condition<TRuleValue, TDateValue>;
@@ -212,7 +260,7 @@ type Row$1 = Record<string, unknown>;
212
260
  type CheckData = Row$1 | unknown[];
213
261
  type CheckOptions = {
214
262
  context?: CheckData;
215
- };
263
+ } & DateConfig;
216
264
  declare const check: <TData extends CheckData>(conditions: Condition, data: TData, options?: CheckOptions) => boolean | string;
217
265
 
218
266
  type PrismaWhere = Record<string, unknown>;
@@ -270,7 +318,7 @@ type BuildOptions = {
270
318
  mapName?: string;
271
319
  model?: string;
272
320
  context?: Record<string, unknown>;
273
- };
321
+ } & DateConfig;
274
322
 
275
323
  type BridgeEndpoint = {
276
324
  fieldMap: string;
@@ -432,6 +480,7 @@ declare const ValueShape: {
432
480
  readonly range: "range";
433
481
  readonly dateValue: "dateValue";
434
482
  readonly dateRange: "dateRange";
483
+ readonly dateWindow: "dateWindow";
435
484
  readonly dayList: "dayList";
436
485
  readonly count: "count";
437
486
  readonly predicate: "predicate";
@@ -441,6 +490,7 @@ type CatalogEntry = {
441
490
  kinds: readonly FieldKind[];
442
491
  targets: readonly RuleTarget[];
443
492
  valueShape: ValueShape;
493
+ acceptsExpr?: boolean;
444
494
  };
445
495
  declare const FIELD_OPERATOR_CATALOG: Record<Operator, CatalogEntry>;
446
496
  declare const DATE_OPERATOR_CATALOG: Record<DateOperator, CatalogEntry>;
@@ -449,6 +499,30 @@ type ArrayCatalogEntry = {
449
499
  valueShape: ValueShape;
450
500
  };
451
501
  declare const ARRAY_OPERATOR_CATALOG: Record<ArrayOperator, ArrayCatalogEntry>;
502
+ declare const WindowSupport: {
503
+ readonly full: "full";
504
+ readonly extremal: "extremal";
505
+ readonly none: "none";
506
+ };
507
+ type WindowSupport = (typeof WindowSupport)[keyof typeof WindowSupport];
508
+ declare const WINDOW_SELECTOR: {
509
+ readonly fields: readonly ["filter", "orderBy", "take", "skip"];
510
+ readonly sortDirs: readonly ["asc", "desc"];
511
+ readonly support: {
512
+ readonly array: {
513
+ readonly check: "full";
514
+ readonly toPrisma: "extremal";
515
+ readonly toSql: "none";
516
+ };
517
+ readonly aggregate: {
518
+ readonly check: "full";
519
+ readonly toPrisma: "none";
520
+ readonly toSql: "none";
521
+ };
522
+ };
523
+ };
524
+ type WindowRuleType = keyof typeof WINDOW_SELECTOR.support;
525
+ declare const getWindowSupport: (ruleType: WindowRuleType, target: RuleTarget) => WindowSupport;
452
526
  declare const AGGREGATE_OPERATORS: readonly Operator[];
453
527
  declare const isAggregateSingleOperator: (operator: Operator) => boolean;
454
528
  declare const isAggregateRangeOperator: (operator: Operator) => boolean;
@@ -526,7 +600,7 @@ type SqlBuildOptions = {
526
600
  model?: string;
527
601
  alias?: string;
528
602
  context?: Record<string, unknown>;
529
- };
603
+ } & DateConfig;
530
604
  declare const toSql: (condition: Condition, options?: SqlBuildOptions) => SqlResult;
531
605
 
532
606
  type ValidationIssue = {
@@ -545,4 +619,4 @@ declare const assertValidRule: (condition: unknown, options?: {
545
619
  target?: RuleTarget;
546
620
  }) => asserts condition is Condition;
547
621
 
548
- export { AGGREGATE_OPERATORS, ALL_KINDS, ARRAY_OPERATOR_CATALOG, type AggregateMode, type AggregateRule, type All, type Any, type ArrayCatalogEntry, ArrayOperator, type ArrayRule, type Bridge, type BridgeCardinality, type BridgeDictionary, type BridgeEndpoint, type BuildOptions, type CatalogEntry, type CheckOptions, type Condition, type CreateLensInput, DATE_OPERATOR_CATALOG, type DateInputValue, DateOperator, type DateRule, type DateRuleValue, EQUATABLE_KINDS, type EnumNarrowing, FIELD_OPERATOR_CATALOG, FieldKind, type FieldMap, type FieldMapEntry, type FieldMapSet, type GroupByStep, type IfThenElse, type Lens, type LensNarrowing, type ModelDefaultNarrowing, type ModelNarrowing, NUMERIC_KINDS, type NarrowingDefaults, ORDERABLE_KINDS, Operator, type OrderedRuleValue, type PathProjection, type PrismaStep, type PrismaWhere, type ProjectedVisit, type Rule, type RuleLensCheck, type RuleLensViolation, type RuleScalar, RuleTarget, type RuleValue, STRINGY_KINDS, type SqlResult, type StepRef, type StrictAggregateRule, type StrictAll, type StrictAny, type StrictArrayCountRule, type StrictArrayPredicateRule, type StrictArrayPresenceRule, type StrictArrayRule, type StrictCondition, type StrictContainsRule, type StrictDateComparisonRule, type StrictDateDayRule, type StrictDateRangeRule, type StrictDateRule, type StrictEqualityRule, type StrictIfThenElse, type StrictMembershipRule, type StrictOrderedComparisonRule, type StrictPatternRule, type StrictPresenceRule, type StrictRangeRule, type StrictRule, type StrictStringBoundaryRule, type ToPrismaResult, type ValidationIssue, type ValidationResult, ValueShape, type WhereStep, applyLens, assertValidRule, buildBridgeDictionary, check, checkRuleAgainstLens, createLens, executePrismaQueryPlan, getArrayOperators, getOperatorsForKind, getValueShape, isAggregateRangeOperator, isAggregateSingleOperator, isOperatorSupportedForTarget, projectByPath, stitchFieldMaps, toPrisma, toSql, validateFieldMap, validateFieldMapSet, validateNarrowing, validateRule };
622
+ export { AGGREGATE_OPERATORS, ALL_KINDS, ARRAY_OPERATOR_CATALOG, type AggregateMode, type AggregateRule, type All, type Any, type ArrayCatalogEntry, ArrayOperator, type ArrayRule, type Bridge, type BridgeCardinality, type BridgeDictionary, type BridgeEndpoint, type BuildOptions, type CatalogEntry, type CheckOptions, type Condition, type CreateLensInput, DATE_OPERATOR_CATALOG, type DateConfig, type DateExpr, type DateInputOrExpr, type DateInputValue, DateOperator, type DateRule, type DateRuleValue, EQUATABLE_KINDS, type EdgeExpr, type EnumNarrowing, FIELD_OPERATOR_CATALOG, FieldKind, type FieldMap, type FieldMapEntry, type FieldMapSet, type GroupByStep, type IfThenElse, type Lens, type LensNarrowing, type ModelDefaultNarrowing, type ModelNarrowing, NUMERIC_KINDS, type NarrowingDefaults, ORDERABLE_KINDS, Operator, type OrderBy, type OrderedRuleValue, type PathProjection, type PeriodExpr, type PeriodUnit, type PrismaStep, type PrismaWhere, type ProjectedVisit, type RelativeUnits, type RollingExpr, type Rule, type RuleLensCheck, type RuleLensViolation, type RuleScalar, RuleTarget, type RuleValue, STRINGY_KINDS, type SortDir, type SqlResult, type StepRef, type StrictAggregateRule, type StrictAll, type StrictAny, type StrictArrayCountRule, type StrictArrayPredicateRule, type StrictArrayPresenceRule, type StrictArrayRule, type StrictCondition, type StrictContainsRule, type StrictDateComparisonRule, type StrictDateDayRule, type StrictDateRangeRule, type StrictDateRule, type StrictEqualityRule, type StrictIfThenElse, type StrictMembershipRule, type StrictOrderedComparisonRule, type StrictPatternRule, type StrictPresenceRule, type StrictRangeRule, type StrictRule, type StrictStringBoundaryRule, type ToPrismaResult, type ValidationIssue, type ValidationResult, ValueShape, WINDOW_SELECTOR, type WeekStart, type WhereStep, type WindowFields, type WindowRuleType, WindowSupport, applyLens, assertValidRule, buildBridgeDictionary, check, checkRuleAgainstLens, createLens, executePrismaQueryPlan, getArrayOperators, getOperatorsForKind, getValueShape, getWindowSupport, isAggregateRangeOperator, isAggregateSingleOperator, isOperatorSupportedForTarget, projectByPath, stitchFieldMaps, toPrisma, toSql, validateFieldMap, validateFieldMapSet, validateNarrowing, validateRule };