Files
zod-schema-class/src/tests.ts
Julien Valverdé 443ae01d2d
All checks were successful
continuous-integration/drone/push Build is passing
Tests
2024-02-08 18:35:16 +01:00

44 lines
828 B
TypeScript

import { z } from "zod"
import { ZodSchemaClass } from "./ZodSchemaClass"
class Test extends ZodSchemaClass({
schema: z.object({
id: z.bigint(),
name: z.string(),
}),
defaultValues: { id: -1n },
}) {}
const Test2 = ZodSchemaClass({
schema: z.object({
id: z.bigint(),
name: z.string(),
}),
defaultValues: { id: -1n },
})
Test.defaultValues
const inst = Test.create({ id: 1n, name: "" })
console.log(inst)
class SubTest extends Test.extend({
schema: ({ schema }) => schema.extend({
prout: z.string()
}),
defaultValues: defaultValues => ({
...defaultValues
}),
}) {}
const subInst = await SubTest.createPromise({ name: "", prout: "" })
console.log(subInst)
// class ChildTest extends Test {}
// ChildTest.instantiate({ name: "" })