This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { ImplStatic, trait } from "@thilawyn/traitify-ts"
|
||||
import { implStaticInstantiableThis, trait } from "@thilawyn/traitify-ts"
|
||||
import { Class, HasRequiredKeys } from "type-fest"
|
||||
import { z } from "zod"
|
||||
import { parseZodSchemaEffect, stripZodObjectDefaults } from "../util"
|
||||
@@ -59,42 +59,36 @@ export const ZodSchemaObject = <
|
||||
static create<
|
||||
Instance extends Values
|
||||
>(
|
||||
this: (
|
||||
Class<Instance, [values: Values]> &
|
||||
ImplStatic<typeof ZodSchemaObjectImpl>
|
||||
),
|
||||
this: Class<Instance, [values: Values]>,
|
||||
...[values, params]: CreateArgs<PartialValues>
|
||||
) {
|
||||
return this
|
||||
.pipeSchemaIntoInstance(this.schemaWithDefaults)
|
||||
const t = implStaticInstantiableThis(ZodSchemaObjectImpl, this)
|
||||
return t
|
||||
.pipeSchemaIntoInstance(t.schemaWithDefaults)
|
||||
.parse(values, params)
|
||||
}
|
||||
|
||||
static createPromise<
|
||||
Instance extends Values
|
||||
>(
|
||||
this: (
|
||||
Class<Instance, [values: Values]> &
|
||||
ImplStatic<typeof ZodSchemaObjectImpl>
|
||||
),
|
||||
this: Class<Instance, [values: Values]>,
|
||||
...[values, params]: CreateArgs<PartialValues>
|
||||
) {
|
||||
return this
|
||||
.pipeSchemaIntoInstance(this.schemaWithDefaults)
|
||||
const t = implStaticInstantiableThis(ZodSchemaObjectImpl, this)
|
||||
return t
|
||||
.pipeSchemaIntoInstance(t.schemaWithDefaults)
|
||||
.parseAsync(values, params)
|
||||
}
|
||||
|
||||
static createEffect<
|
||||
Instance extends Values
|
||||
>(
|
||||
this: (
|
||||
Class<Instance, [values: Values]> &
|
||||
ImplStatic<typeof ZodSchemaObjectImpl>
|
||||
),
|
||||
this: Class<Instance, [values: Values]>,
|
||||
...[values, params]: CreateArgs<PartialValues>
|
||||
) {
|
||||
const t = implStaticInstantiableThis(ZodSchemaObjectImpl, this)
|
||||
return parseZodSchemaEffect(
|
||||
this.pipeSchemaIntoInstance(this.schemaWithDefaults),
|
||||
t.pipeSchemaIntoInstance(t.schemaWithDefaults),
|
||||
values,
|
||||
params,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user