0.1.2 #3

Merged
Thilawyn merged 136 commits from next into master 2024-03-11 19:44:21 +01:00
2 changed files with 15 additions and 10 deletions
Showing only changes of commit a58b441094 - Show all commits

View File

@@ -48,8 +48,8 @@ extends TraitExpressionBuilder<Superclass, Traits> {
} }
} }
return this return new ZodSchemaClassBuilder(
.extends(Schemas as unknown as ( Schemas as unknown as (
AbstractClass< AbstractClass<
InstanceType<Superclass> & InstanceType<Superclass> &
Simplify< Simplify<
@@ -64,11 +64,14 @@ extends TraitExpressionBuilder<Superclass, Traits> {
StaticMembers<typeof Schemas>, StaticMembers<typeof Schemas>,
]> ]>
> >
)) ),
.expresses(
[
...this.expressionTraits,
InstantiableZodSchemaObject, InstantiableZodSchemaObject,
ExtendableZodSchemaObject, ExtendableZodSchemaObject,
) ],
)
} }
jsonifiable() { jsonifiable() {

View File

@@ -7,13 +7,15 @@ import { ObservableZodSchemaObject } from "./traits/ObservableZodSchemaObject"
const newTestExp = new ZodSchemaClassBuilder(TraitExpression.NullSuperclass, []) const newTestExp = new ZodSchemaClassBuilder(TraitExpression.NullSuperclass, [])
.schema( .schema(
z.object({ z.object({
id: z.bigint() /** Object ID */
id: z.bigint(),
name: z.string(),
}), }),
{ id: -1n }, { id: -1n },
) )
.expressionSuperclass .expresses(ObservableZodSchemaObject)
.build()
const TestExp = ZodSchemaClass({ const TestExp = ZodSchemaClass({
schema: z.object({ schema: z.object({
@@ -27,8 +29,8 @@ const TestExp = ZodSchemaClass({
.expresses(ObservableZodSchemaObject) .expresses(ObservableZodSchemaObject)
.build() .build()
@TestExp.staticImplements @newTestExp.staticImplements
class Test extends TestExp.extends implements Implements<typeof TestExp> {} class Test extends newTestExp.extends implements Implements<typeof newTestExp> {}
Test.schema Test.schema
const inst = Test.create({ id: 1n, name: "" }) const inst = Test.create({ id: 1n, name: "" })