diff --git a/src/traits/JsonifiedZodSchemaObject.ts b/src/traits/JsonifiedZodSchemaObject.ts index 7302621..342446c 100644 --- a/src/traits/JsonifiedZodSchemaObject.ts +++ b/src/traits/JsonifiedZodSchemaObject.ts @@ -119,6 +119,35 @@ export const JsonifiedZodSchemaObject = < } + static dejsonify( + values: JsonifiedValues, + params?: Partial, + ) { + return this.of + .pipeSchemaIntoInstance(this.dejsonifySchema) + .parse(values, params) + } + + static dejsonifyPromise( + values: JsonifiedValues, + params?: Partial, + ) { + return this.of + .pipeSchemaIntoInstance(this.dejsonifySchema) + .parseAsync(values, params) + } + + static dejsonifyEffect( + values: JsonifiedValues, + params?: Partial, + ) { + return parseZodSchemaEffect( + this.of.pipeSchemaIntoInstance(this.dejsonifySchema), + values, + params, + ) + } + dejsonify(params?: Partial) { return this.constructor.of.pipeSchemaIntoInstance( this.constructor.dejsonifySchema