From c980148c0acfe90382490f41b0bc4be539b30de6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Tue, 16 Jan 2024 15:30:50 +0100 Subject: [PATCH] Jsonifiable schema refactoring --- src/jsonifiable/schema/bigint.ts | 10 ++++++---- src/jsonifiable/schema/date.ts | 10 ++++++---- src/jsonifiable/schema/decimal.ts | 14 ++++++++++---- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/jsonifiable/schema/bigint.ts b/src/jsonifiable/schema/bigint.ts index b0f0093..099d309 100644 --- a/src/jsonifiable/schema/bigint.ts +++ b/src/jsonifiable/schema/bigint.ts @@ -1,11 +1,12 @@ import { z } from "zod" -export const jsonifyBigIntSchema = (schema: S) => - schema.transform(v => v.toString()) +export function jsonifyBigIntSchema(schema: S) { + return schema.transform(v => v.toString()) +} -export const dejsonifyBigIntSchema = (schema: S) => - z +export function dejsonifyBigIntSchema(schema: S) { + return z .string() .transform(v => { try { @@ -16,3 +17,4 @@ export const dejsonifyBigIntSchema = (schema: S) => } }) .pipe(schema) +} diff --git a/src/jsonifiable/schema/date.ts b/src/jsonifiable/schema/date.ts index b5ac677..ea0ee6f 100644 --- a/src/jsonifiable/schema/date.ts +++ b/src/jsonifiable/schema/date.ts @@ -1,11 +1,12 @@ import { z } from "zod" -export const jsonifyDateSchema = (schema: S) => - schema.transform(v => v.toString()) +export function jsonifyDateSchema(schema: S) { + return schema.transform(v => v.toString()) +} -export const dejsonifyDateSchema = (schema: S) => - z +export function dejsonifyDateSchema(schema: S) { + return z .string() .transform(v => { try { @@ -16,3 +17,4 @@ export const dejsonifyDateSchema = (schema: S) => } }) .pipe(schema) +} diff --git a/src/jsonifiable/schema/decimal.ts b/src/jsonifiable/schema/decimal.ts index 58c492d..ca01261 100644 --- a/src/jsonifiable/schema/decimal.ts +++ b/src/jsonifiable/schema/decimal.ts @@ -2,11 +2,16 @@ import { Decimal } from "decimal.js" import { z } from "zod" -export const jsonifyDecimalSchema = >(schema: S) => - schema.transform(v => v.toJSON()) +export function jsonifyDecimalSchema< + S extends z.ZodType +>(schema: S) { + return schema.transform(v => v.toJSON()) +} -export const dejsonifyDecimalSchema = >(schema: S) => - z +export function dejsonifyDecimalSchema< + S extends z.ZodType +>(schema: S) { + return z .string() .transform(v => { try { @@ -17,3 +22,4 @@ export const dejsonifyDecimalSchema =