makeJsonifiableSchemableClass

This commit is contained in:
Julien Valverdé
2024-01-02 02:43:16 +01:00
parent de6a97e0a6
commit 3c2dc477fd
2 changed files with 9 additions and 4 deletions

View File

@@ -1,7 +1,7 @@
import { Class } from "type-fest"
import { JsonifiableObject } from "type-fest/source/jsonifiable"
import { z } from "zod"
import { JsonifiableSchemableConfig } from "."
import { JsonifiableSchemableClass, JsonifiableSchemableConfig, JsonifiableSchemableObject } from "."
import { SchemableClass, SchemableConfig } from ".."
import { StaticMembers, parseZodTypeEffect } from "../util"
@@ -84,15 +84,15 @@ export function makeJsonifiableSchemableClass<
jsonifyEffect() {
return parseZodTypeEffect(this.jsonifySchema, this)
}
}
} satisfies JsonifiableSchemableClass<typeof $jsonifiableSchemableConfig>
return jsonifiableClass as (
Class<
InstanceType<C> & InstanceType<typeof jsonifiableClass>,
InstanceType<C> & JsonifiableSchemableObject<typeof $jsonifiableSchemableConfig>,
ConstructorParameters<C>
> &
StaticMembers<C> &
StaticMembers<typeof jsonifiableClass>
StaticMembers<JsonifiableSchemableClass<typeof $jsonifiableSchemableConfig>>
)
}