0.1.1 #2

Merged
Thilawyn merged 47 commits from next into master 2024-01-17 20:47:13 +01:00
2 changed files with 24 additions and 6 deletions
Showing only changes of commit e147b61f89 - Show all commits

View File

@@ -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)
}

View File

@@ -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 {