From e82e515a234b1fc913320b9c289ff370b2d49bc2 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Sat, 3 Dec 2022 19:15:15 +0900 Subject: [PATCH] Fix zod utils import --- front/apps/web/src/utils/zod.ts | 33 ------------------- .../packages/models/src/resources/episode.ts | 2 +- front/packages/models/src/resources/movie.ts | 2 +- front/packages/models/src/resources/season.ts | 2 +- front/packages/models/src/resources/show.ts | 2 +- .../models/src/resources/watch-item.ts | 2 +- front/packages/models/src/utils.ts | 13 ++++++++ 7 files changed, 18 insertions(+), 38 deletions(-) delete mode 100644 front/apps/web/src/utils/zod.ts diff --git a/front/apps/web/src/utils/zod.ts b/front/apps/web/src/utils/zod.ts deleted file mode 100644 index ebcca5df..00000000 --- a/front/apps/web/src/utils/zod.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Kyoo - A portable and vast media library solution. - * Copyright (c) Kyoo. - * - * See AUTHORS.md and LICENSE file in the project root for full license information. - * - * Kyoo is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * any later version. - * - * Kyoo is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Kyoo. If not, see . - */ - -import { z } from "zod"; - -export const zdate = () => { - return z.preprocess((arg) => { - if (arg instanceof Date) return arg; - - if (typeof arg === "string" && /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z?/.test(arg)) { - return new Date(arg); - } - - return undefined; - }, z.date()); -}; diff --git a/front/packages/models/src/resources/episode.ts b/front/packages/models/src/resources/episode.ts index 27c91985..8df707ba 100644 --- a/front/packages/models/src/resources/episode.ts +++ b/front/packages/models/src/resources/episode.ts @@ -19,7 +19,7 @@ */ import { z } from "zod"; -import { zdate } from "~/utils/zod"; +import { zdate } from "../utils"; import { ImagesP } from "../traits"; import { ResourceP } from "../traits/resource"; diff --git a/front/packages/models/src/resources/movie.ts b/front/packages/models/src/resources/movie.ts index 44fa0305..ef2f7802 100644 --- a/front/packages/models/src/resources/movie.ts +++ b/front/packages/models/src/resources/movie.ts @@ -19,7 +19,7 @@ */ import { z } from "zod"; -import { zdate } from "~/utils/zod"; +import { zdate } from "../utils"; import { ImagesP, ResourceP } from "../traits"; import { GenreP } from "./genre"; import { StudioP } from "./studio"; diff --git a/front/packages/models/src/resources/season.ts b/front/packages/models/src/resources/season.ts index 75e357f5..e858f7eb 100644 --- a/front/packages/models/src/resources/season.ts +++ b/front/packages/models/src/resources/season.ts @@ -19,7 +19,7 @@ */ import { z } from "zod"; -import { zdate } from "~/utils/zod"; +import { zdate } from "../utils"; import { ImagesP } from "../traits"; import { ResourceP } from "../traits/resource"; diff --git a/front/packages/models/src/resources/show.ts b/front/packages/models/src/resources/show.ts index 4a6cf6c3..9e61370a 100644 --- a/front/packages/models/src/resources/show.ts +++ b/front/packages/models/src/resources/show.ts @@ -19,7 +19,7 @@ */ import { z } from "zod"; -import { zdate } from "~/utils/zod"; +import { zdate } from "../utils"; import { ImagesP, ResourceP } from "../traits"; import { GenreP } from "./genre"; import { SeasonP } from "./season"; diff --git a/front/packages/models/src/resources/watch-item.ts b/front/packages/models/src/resources/watch-item.ts index 47f4ed8c..620530d4 100644 --- a/front/packages/models/src/resources/watch-item.ts +++ b/front/packages/models/src/resources/watch-item.ts @@ -19,7 +19,7 @@ */ import { z } from "zod"; -import { zdate } from "~/utils/zod"; +import { zdate } from "../utils"; import { ResourceP, ImagesP, imageFn } from "../traits"; import { EpisodeP } from "./episode"; diff --git a/front/packages/models/src/utils.ts b/front/packages/models/src/utils.ts index 8336c64f..0954563a 100644 --- a/front/packages/models/src/utils.ts +++ b/front/packages/models/src/utils.ts @@ -19,6 +19,19 @@ */ import { Movie, Show } from "./resources"; +import { z } from "zod"; + +export const zdate = () => { + return z.preprocess((arg) => { + if (arg instanceof Date) return arg; + + if (typeof arg === "string" && /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z?/.test(arg)) { + return new Date(arg); + } + + return undefined; + }, z.date()); +}; export const getDisplayDate = (data: Show | Movie) => { const {