0.1.1 #2
@@ -60,3 +60,24 @@ export function makeSchemableClassFrom<
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
export function makeSchemableClass<
|
||||
SchemaT extends z.ZodRawShape,
|
||||
SchemaUnknownKeys extends z.UnknownKeysParam,
|
||||
SchemaCatchall extends z.ZodTypeAny,
|
||||
SchemaValues extends {},
|
||||
DefaultValues extends Partial<SchemaValues>,
|
||||
>(
|
||||
schema: z.ZodObject<
|
||||
SchemaT,
|
||||
SchemaUnknownKeys,
|
||||
SchemaCatchall,
|
||||
SchemaValues,
|
||||
SchemaValues
|
||||
>,
|
||||
|
||||
defaultValues: DefaultValues,
|
||||
) {
|
||||
return makeSchemableClassFrom(Object, schema, defaultValues)
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { z } from "zod"
|
||||
import { extendSchemableClass, makeSchemableClassFrom } from "."
|
||||
import { extendSchemableClass, makeSchemableClass, makeSchemableClassFrom } from "."
|
||||
|
||||
|
||||
// class Test1 {
|
||||
@@ -12,10 +12,7 @@ import { extendSchemableClass, makeSchemableClassFrom } from "."
|
||||
// prout: string = "heugneu"
|
||||
// }
|
||||
|
||||
const Test1 = makeSchemableClassFrom(
|
||||
class {
|
||||
randomProperty: string = ""
|
||||
},
|
||||
const Test1 = makeSchemableClass(
|
||||
z.object({ prout: z.string() }),
|
||||
{},
|
||||
)
|
||||
@@ -30,7 +27,7 @@ const Test2 = extendSchemableClass(
|
||||
)
|
||||
|
||||
Test2.defaultValues
|
||||
new Test2({ prout: "ruquier", ruquier: 69 }).randomProperty
|
||||
new Test2({ prout: "ruquier", ruquier: 69 })
|
||||
|
||||
|
||||
class Test3 extends Test2 {
|
||||
|
||||
Reference in New Issue
Block a user