Schemas: {
CreateJobRequestSchema: ObjectSchemaBuilder<
{
id: StringSchemaBuilder<string, true>;
maxConsequentFails: NumberSchemaBuilder<number, false>;
maxRetries: NumberSchemaBuilder<number, false>;
noConcurrentRuns: BooleanSchemaBuilder<
boolean,
false,
undefined,
boolean,
>;
path: StringSchemaBuilder<string, true>;
props: UnionSchemaBuilder<
[
ObjectSchemaBuilder<{}, true, undefined>,
FunctionSchemaBuilder<true, undefined, (...args: any[]) => any>,
],
false,
undefined,
>;
schedule: UnionSchemaBuilder<
[
ObjectSchemaBuilder<
Omit<
Omit<
{
endsOn: DateSchemaBuilder<(...), (...)>;
hour: NumberSchemaBuilder<(...), (...)>;
interval: NumberSchemaBuilder<(...), (...)>;
maxOccurences: NumberSchemaBuilder<(...), (...)>;
minute: NumberSchemaBuilder<(...), (...)>;
skipFirst: NumberSchemaBuilder<(...), (...)>;
startsOn: DateSchemaBuilder<(...), (...)>;
},
"hour",
>,
"minute",
> & { every: StringSchemaBuilder<"minute", true> },
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & { every: StringSchemaBuilder<"day", true> },
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
dayOfWeek: ArraySchemaBuilder<
NumberSchemaBuilder<number, true>,
true,
undefined,
number[],
>;
every: StringSchemaBuilder<"week", true>;
},
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
day: UnionSchemaBuilder<
[
StringSchemaBuilder<(...), (...)>,
NumberSchemaBuilder<(...), (...)>,
],
true,
undefined,
>;
every: StringSchemaBuilder<"month", true>;
},
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
day: UnionSchemaBuilder<
[
StringSchemaBuilder<(...), (...)>,
NumberSchemaBuilder<(...), (...)>,
],
true,
undefined,
>;
every: StringSchemaBuilder<"year", true>;
month: NumberSchemaBuilder<number, true>;
},
true,
undefined,
>,
],
true,
undefined,
>;
timeout: NumberSchemaBuilder<number, false>;
},
true,
undefined,
>;
ScheduleDaySchema: ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & { every: StringSchemaBuilder<"day", true> },
true,
undefined,
>;
ScheduleMinuteSchema: ObjectSchemaBuilder<
Omit<
Omit<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
},
"hour",
>,
"minute",
> & { every: StringSchemaBuilder<"minute", true> },
true,
undefined,
>;
ScheduleMonthSchema: ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
day: UnionSchemaBuilder<
[
StringSchemaBuilder<"last", true>,
NumberSchemaBuilder<number, true>,
],
true,
undefined,
>;
every: StringSchemaBuilder<"month", true>;
},
true,
undefined,
>;
ScheduleSchema: UnionSchemaBuilder<
[
ObjectSchemaBuilder<
Omit<
Omit<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
},
"hour",
>,
"minute",
> & { every: StringSchemaBuilder<"minute", true> },
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & { every: StringSchemaBuilder<"day", true> },
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
dayOfWeek: ArraySchemaBuilder<
NumberSchemaBuilder<number, true>,
true,
undefined,
number[],
>;
every: StringSchemaBuilder<"week", true>;
},
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
day: UnionSchemaBuilder<
[
StringSchemaBuilder<"last", true>,
NumberSchemaBuilder<number, true>,
],
true,
undefined,
>;
every: StringSchemaBuilder<"month", true>;
},
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
day: UnionSchemaBuilder<
[
StringSchemaBuilder<"last", true>,
NumberSchemaBuilder<number, true>,
],
true,
undefined,
>;
every: StringSchemaBuilder<"year", true>;
month: NumberSchemaBuilder<number, true>;
},
true,
undefined,
>,
],
true,
undefined,
>;
ScheduleSchemaBase: ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
},
true,
undefined,
>;
ScheduleWeekSchema: ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
dayOfWeek: ArraySchemaBuilder<
NumberSchemaBuilder<number, true>,
true,
undefined,
number[],
>;
every: StringSchemaBuilder<"week", true>;
},
true,
undefined,
>;
ScheduleYearSchema: ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
day: UnionSchemaBuilder<
[
StringSchemaBuilder<"last", true>,
NumberSchemaBuilder<number, true>,
],
true,
undefined,
>;
every: StringSchemaBuilder<"year", true>;
month: NumberSchemaBuilder<number, true>;
},
true,
undefined,
>;
} = ...
Type Declaration
CreateJobRequestSchema: ObjectSchemaBuilder<
{
id: StringSchemaBuilder<string, true>;
maxConsequentFails: NumberSchemaBuilder<number, false>;
maxRetries: NumberSchemaBuilder<number, false>;
noConcurrentRuns: BooleanSchemaBuilder<boolean, false, undefined, boolean>;
path: StringSchemaBuilder<string, true>;
props: UnionSchemaBuilder<
[
ObjectSchemaBuilder<{}, true, undefined>,
FunctionSchemaBuilder<true, undefined, (...args: any[]) => any>,
],
false,
undefined,
>;
schedule: UnionSchemaBuilder<
[
ObjectSchemaBuilder<
Omit<
Omit<
{
endsOn: DateSchemaBuilder<(...), (...)>;
hour: NumberSchemaBuilder<(...), (...)>;
interval: NumberSchemaBuilder<(...), (...)>;
maxOccurences: NumberSchemaBuilder<(...), (...)>;
minute: NumberSchemaBuilder<(...), (...)>;
skipFirst: NumberSchemaBuilder<(...), (...)>;
startsOn: DateSchemaBuilder<(...), (...)>;
},
"hour",
>,
"minute",
> & { every: StringSchemaBuilder<"minute", true> },
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & { every: StringSchemaBuilder<"day", true> },
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
dayOfWeek: ArraySchemaBuilder<
NumberSchemaBuilder<number, true>,
true,
undefined,
number[],
>;
every: StringSchemaBuilder<"week", true>;
},
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
day: UnionSchemaBuilder<
[
StringSchemaBuilder<(...), (...)>,
NumberSchemaBuilder<(...), (...)>,
],
true,
undefined,
>;
every: StringSchemaBuilder<"month", true>;
},
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
day: UnionSchemaBuilder<
[
StringSchemaBuilder<(...), (...)>,
NumberSchemaBuilder<(...), (...)>,
],
true,
undefined,
>;
every: StringSchemaBuilder<"year", true>;
month: NumberSchemaBuilder<number, true>;
},
true,
undefined,
>,
],
true,
undefined,
>;
timeout: NumberSchemaBuilder<number, false>;
},
true,
undefined,
>
ScheduleDaySchema: ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & { every: StringSchemaBuilder<"day", true> },
true,
undefined,
>
ScheduleMinuteSchema: ObjectSchemaBuilder<
Omit<
Omit<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
},
"hour",
>,
"minute",
> & { every: StringSchemaBuilder<"minute", true> },
true,
undefined,
>
ScheduleMonthSchema: ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
day: UnionSchemaBuilder<
[StringSchemaBuilder<"last", true>, NumberSchemaBuilder<number, true>],
true,
undefined,
>;
every: StringSchemaBuilder<"month", true>;
},
true,
undefined,
>
ScheduleSchema: UnionSchemaBuilder<
[
ObjectSchemaBuilder<
Omit<
Omit<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
},
"hour",
>,
"minute",
> & { every: StringSchemaBuilder<"minute", true> },
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & { every: StringSchemaBuilder<"day", true> },
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
dayOfWeek: ArraySchemaBuilder<
NumberSchemaBuilder<number, true>,
true,
undefined,
number[],
>;
every: StringSchemaBuilder<"week", true>;
},
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
day: UnionSchemaBuilder<
[
StringSchemaBuilder<"last", true>,
NumberSchemaBuilder<number, true>,
],
true,
undefined,
>;
every: StringSchemaBuilder<"month", true>;
},
true,
undefined,
>,
ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
day: UnionSchemaBuilder<
[
StringSchemaBuilder<"last", true>,
NumberSchemaBuilder<number, true>,
],
true,
undefined,
>;
every: StringSchemaBuilder<"year", true>;
month: NumberSchemaBuilder<number, true>;
},
true,
undefined,
>,
],
true,
undefined,
>
ScheduleSchemaBase: ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
},
true,
undefined,
>
ScheduleWeekSchema: ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
dayOfWeek: ArraySchemaBuilder<
NumberSchemaBuilder<number, true>,
true,
undefined,
number[],
>;
every: StringSchemaBuilder<"week", true>;
},
true,
undefined,
>
ScheduleYearSchema: ObjectSchemaBuilder<
{
endsOn: DateSchemaBuilder<Date, false>;
hour: NumberSchemaBuilder<number, false>;
interval: NumberSchemaBuilder<number, true>;
maxOccurences: NumberSchemaBuilder<number, false>;
minute: NumberSchemaBuilder<number, false>;
skipFirst: NumberSchemaBuilder<number, false>;
startsOn: DateSchemaBuilder<Date, false>;
} & {
day: UnionSchemaBuilder<
[StringSchemaBuilder<"last", true>, NumberSchemaBuilder<number, true>],
true,
undefined,
>;
every: StringSchemaBuilder<"year", true>;
month: NumberSchemaBuilder<number, true>;
},
true,
undefined,
>
Pre-built
@cleverbrush/schemaschemas used internally by the scheduler. Exported for consumers who need to validate schedule/job payloads manually.