Working newSchemable
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2024-01-09 23:21:33 +01:00
parent 674f96ab52
commit a68376485b
4 changed files with 52 additions and 26 deletions

View File

@@ -18,29 +18,34 @@ export const newSchemable = <
SchemaT,
SchemaUnknownKeys,
SchemaCatchall,
SchemaValues,
DefaultValues
Values,
DefaultValues,
"Class"
>,
SchemaT extends z.ZodRawShape,
SchemaUnknownKeys extends z.UnknownKeysParam,
SchemaCatchall extends z.ZodTypeAny,
SchemaValues extends {},
DefaultValues extends Partial<SchemaValues>,
Values extends {},
DefaultValues extends Partial<Values>,
>(
class_: C | SchemableClass<
SchemaT,
SchemaUnknownKeys,
SchemaCatchall,
SchemaValues,
DefaultValues
Values,
DefaultValues,
"Class"
>,
...[values, params]: NewSchemableArgs<
SchemableClassInput<SchemaValues, DefaultValues>
SchemableClassInput<Values, DefaultValues>
>
) =>
new class_()
new class_(
class_.schema.parse({ ...class_.defaultValues, ...values }, params)
) as InstanceType<C>
// export const newSchemablePromise = async <