school-schedule-sync
Version:
Synchronization between JSON schedule and Google Calendar
207 lines • 5.35 kB
TypeScript
import { z } from 'zod';
declare const lessonCalendarSchema: z.ZodObject<{
name: z.ZodString;
type: z.ZodLiteral<"lessons">;
days: z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">;
lessonTimes: z.ZodOptional<z.ZodArray<z.ZodObject<{
startTime: z.ZodString;
length: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
length: number;
startTime: string;
}, {
length: number;
startTime: string;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
name: string;
type: "lessons";
days: string[][];
lessonTimes?: {
length: number;
startTime: string;
}[] | undefined;
}, {
name: string;
type: "lessons";
days: string[][];
lessonTimes?: {
length: number;
startTime: string;
}[] | undefined;
}>;
export type LessonCalendar = z.infer<typeof lessonCalendarSchema>;
declare const sectionCalendarSchema: z.ZodObject<{
name: z.ZodString;
type: z.ZodLiteral<"sections">;
days: z.ZodArray<z.ZodArray<z.ZodObject<{
startTime: z.ZodString;
length: z.ZodNumber;
} & {
name: z.ZodString;
}, "strip", z.ZodTypeAny, {
length: number;
name: string;
startTime: string;
}, {
length: number;
name: string;
startTime: string;
}>, "many">, "many">;
}, "strip", z.ZodTypeAny, {
name: string;
type: "sections";
days: {
length: number;
name: string;
startTime: string;
}[][];
}, {
name: string;
type: "sections";
days: {
length: number;
name: string;
startTime: string;
}[][];
}>;
export type SectionCalendar = z.infer<typeof sectionCalendarSchema>;
export declare const scheduleSchema: z.ZodObject<{
defaults: z.ZodObject<{
lessonTimes: z.ZodOptional<z.ZodArray<z.ZodObject<{
startTime: z.ZodString;
length: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
length: number;
startTime: string;
}, {
length: number;
startTime: string;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
lessonTimes?: {
length: number;
startTime: string;
}[] | undefined;
}, {
lessonTimes?: {
length: number;
startTime: string;
}[] | undefined;
}>;
calendars: z.ZodArray<z.ZodUnion<[z.ZodObject<{
name: z.ZodString;
type: z.ZodLiteral<"lessons">;
days: z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">;
lessonTimes: z.ZodOptional<z.ZodArray<z.ZodObject<{
startTime: z.ZodString;
length: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
length: number;
startTime: string;
}, {
length: number;
startTime: string;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
name: string;
type: "lessons";
days: string[][];
lessonTimes?: {
length: number;
startTime: string;
}[] | undefined;
}, {
name: string;
type: "lessons";
days: string[][];
lessonTimes?: {
length: number;
startTime: string;
}[] | undefined;
}>, z.ZodObject<{
name: z.ZodString;
type: z.ZodLiteral<"sections">;
days: z.ZodArray<z.ZodArray<z.ZodObject<{
startTime: z.ZodString;
length: z.ZodNumber;
} & {
name: z.ZodString;
}, "strip", z.ZodTypeAny, {
length: number;
name: string;
startTime: string;
}, {
length: number;
name: string;
startTime: string;
}>, "many">, "many">;
}, "strip", z.ZodTypeAny, {
name: string;
type: "sections";
days: {
length: number;
name: string;
startTime: string;
}[][];
}, {
name: string;
type: "sections";
days: {
length: number;
name: string;
startTime: string;
}[][];
}>]>, "many">;
}, "strip", z.ZodTypeAny, {
defaults: {
lessonTimes?: {
length: number;
startTime: string;
}[] | undefined;
};
calendars: ({
name: string;
type: "lessons";
days: string[][];
lessonTimes?: {
length: number;
startTime: string;
}[] | undefined;
} | {
name: string;
type: "sections";
days: {
length: number;
name: string;
startTime: string;
}[][];
})[];
}, {
defaults: {
lessonTimes?: {
length: number;
startTime: string;
}[] | undefined;
};
calendars: ({
name: string;
type: "lessons";
days: string[][];
lessonTimes?: {
length: number;
startTime: string;
}[] | undefined;
} | {
name: string;
type: "sections";
days: {
length: number;
name: string;
startTime: string;
}[][];
})[];
}>;
export type Schedule = z.infer<typeof scheduleSchema>;
export {};
//# sourceMappingURL=types.d.ts.map