Variable: BuiltInConditionConfig
const BuiltInConditionConfig: ZodUnion<readonly [ZodDiscriminatedUnion<[ZodObject<{
condition_type: ZodLiteral<"FIELD_COMPARISON">;
field: ZodString;
operator: ZodLiteral<"eq">;
value: ZodUnion<readonly [ZodString, ZodNumber, ZodBoolean]>;
}, $strip>, ZodObject<{
condition_type: ZodLiteral<"FIELD_COMPARISON">;
field: ZodString;
operator: ZodLiteral<"neq">;
value: ZodUnion<readonly [ZodString, ZodNumber, ZodBoolean]>;
}, $strip>, ZodObject<{
condition_type: ZodLiteral<"FIELD_COMPARISON">;
field: ZodString;
operator: ZodLiteral<"gt">;
value: ZodNumber;
}, $strip>], "operator">, ZodObject<{
condition_type: ZodLiteral<"DATE_WINDOW">;
end: ZodString;
field: ZodString;
start: ZodString;
}, $strip>, ZodUnion<readonly [ZodObject<{
condition_type: ZodLiteral<"AGE_CHECK">;
evaluation_date_field: ZodOptional<ZodString>;
field: ZodString;
max_age: ZodOptional<ZodNumber>;
min_age: ZodNumber;
}, $strip>, ZodObject<{
condition_type: ZodLiteral<"AGE_CHECK">;
evaluation_date_field: ZodOptional<ZodString>;
field: ZodString;
max_age: ZodNumber;
min_age: ZodOptional<ZodNumber>;
}, $strip>]>, ZodObject<{
condition_type: ZodLiteral<"DATE_INCLUDES">;
days: ZodArray<ZodNumber>;
end_field: ZodString;
start_field: ZodString;
}, $strip>, ZodObject<{
codes: ZodArray<ZodString>;
condition_type: ZodLiteral<"DISCOUNT_CODE">;
field: ZodOptional<ZodString>;
}, $strip>, ZodObject<{
condition_type: ZodLiteral<"DURATION_CHECK">;
end_field: ZodString;
max: ZodOptional<ZodNumber>;
min: ZodOptional<ZodNumber>;
start_field: ZodString;
unit: ZodOptional<ZodString>;
}, $strip>, ZodObject<{
condition_type: ZodLiteral<"GROUP_SIZE">;
field: ZodString;
max: ZodOptional<ZodNumber>;
min: ZodOptional<ZodNumber>;
}, $strip>, ZodObject<{
condition_type: ZodLiteral<"PRICE_THRESHOLD">;
operator: ZodUnion<readonly [ZodEnum<{
gt: "gt";
gte: "gte";
lt: "lt";
lte: "lte";
}>, ZodEnum<{
eq: "eq";
neq: "neq";
}>]>;
price_field: ZodString;
value: ZodNumber;
}, $strip>, ZodObject<{
condition_type: ZodLiteral<"TIME_OF_DAY">;
end: ZodString;
field: ZodString;
start: ZodString;
zone: ZodOptional<ZodString>;
}, $strip>, ZodUnion<readonly [ZodObject<{
condition_type: ZodLiteral<"RELATIVE_DATE_CHECK">;
evaluation_date_field: ZodOptional<ZodString>;
field: ZodString;
max: ZodOptional<ZodNumber>;
min: ZodNumber;
unit: ZodOptional<ZodEnum<{
days: "days";
hours: "hours";
}>>;
}, $strip>, ZodObject<{
condition_type: ZodLiteral<"RELATIVE_DATE_CHECK">;
evaluation_date_field: ZodOptional<ZodString>;
field: ZodString;
max: ZodNumber;
min: ZodOptional<ZodNumber>;
unit: ZodOptional<ZodEnum<{
days: "days";
hours: "hours";
}>>;
}, $strip>]>, ZodObject<{
adults_min_age: ZodNumber;
condition_type: ZodLiteral<"HOUSEHOLD">;
dob_field: ZodOptional<ZodString>;
id_field: ZodOptional<ZodString>;
members_field: ZodOptional<ZodString>;
num_adults_max: ZodOptional<ZodNumber>;
num_adults_min: ZodOptional<ZodNumber>;
num_youth_max: ZodOptional<ZodNumber>;
num_youth_min: ZodOptional<ZodNumber>;
youth_max_age: ZodNumber;
}, $strip>, ZodObject<{
condition_type: ZodLiteral<"HOLIDAY">;
field: ZodString;
holidays: ZodArray<ZodEnum<{
CHRISTMAS_DAY: "CHRISTMAS_DAY";
COLUMBUS_DAY: "COLUMBUS_DAY";
INDEPENDENCE_DAY: "INDEPENDENCE_DAY";
JUNETEENTH: "JUNETEENTH";
LABOR_DAY: "LABOR_DAY";
MEMORIAL_DAY: "MEMORIAL_DAY";
MLK_DAY: "MLK_DAY";
NEW_YEARS_DAY: "NEW_YEARS_DAY";
PRESIDENTS_DAY: "PRESIDENTS_DAY";
THANKSGIVING: "THANKSGIVING";
VETERANS_DAY: "VETERANS_DAY";
}>>;
include_observed: ZodOptional<ZodBoolean>;
zone: ZodOptional<ZodString>;
}, $strip>, ZodObject<{
condition_type: ZodLiteral<"PRICING_SCHEDULE">;
date_range: ZodOptional<ZodObject<{
end: ZodISODate;
exclude: ZodOptional<ZodBoolean>;
start: ZodISODate;
}, $strip>>;
day_of_week: ZodOptional<ZodObject<{
days: ZodArray<ZodNumber>;
exclude: ZodOptional<ZodBoolean>;
}, $strip>>;
duration: ZodOptional<ZodObject<{
max: ZodOptional<ZodNumber>;
max_exclusive: ZodOptional<ZodBoolean>;
min: ZodOptional<ZodNumber>;
min_exclusive: ZodOptional<ZodBoolean>;
unit: ZodOptional<ZodEnum<{
days: "days";
hours: "hours";
minutes: "minutes";
}>>;
}, $strip>>;
end_field: ZodString;
holidays: ZodOptional<ZodObject<{
exclude: ZodOptional<ZodBoolean>;
include_observed: ZodOptional<ZodBoolean>;
names: ZodArray<ZodEnum<{
CHRISTMAS_DAY: "CHRISTMAS_DAY";
COLUMBUS_DAY: "COLUMBUS_DAY";
INDEPENDENCE_DAY: "INDEPENDENCE_DAY";
JUNETEENTH: "JUNETEENTH";
LABOR_DAY: "LABOR_DAY";
MEMORIAL_DAY: "MEMORIAL_DAY";
MLK_DAY: "MLK_DAY";
NEW_YEARS_DAY: "NEW_YEARS_DAY";
PRESIDENTS_DAY: "PRESIDENTS_DAY";
THANKSGIVING: "THANKSGIVING";
VETERANS_DAY: "VETERANS_DAY";
}>>;
}, $strip>>;
offered_until: ZodOptional<ZodISODate>;
start_field: ZodString;
time_range: ZodOptional<ZodObject<{
end_min: ZodNumber;
exclude: ZodOptional<ZodBoolean>;
start_min: ZodNumber;
}, $strip>>;
zone: ZodOptional<ZodString>;
}, $strip>]>;Defined in: shared/rules/types/conditions.ts:821
Discriminated union of all built-in condition configs. The discriminator
is condition_type; each variant's config schema embeds its own literal.
Uses z.union at the outer layer (not z.discriminatedUnion) because
FieldComparisonConfig is itself a discriminated union on operator,
and nesting discriminated unions in Zod v4 is fragile. The TypeScript
inferred type is still discriminated on condition_type, so ts-pattern
can exhaustively match on it.