diff --git a/src/schema/jsonify/index.ts b/src/schema/jsonify/index.ts index 753d3a3..6bff7ae 100644 --- a/src/schema/jsonify/index.ts +++ b/src/schema/jsonify/index.ts @@ -7,10 +7,10 @@ export const jsonify = { bigint: jsonifyBigIntSchema, date: jsonifyDateSchema, decimal: jsonifyDecimalSchema, -} +} as const export const dejsonify = { bigint: dejsonifyBigIntSchema, date: dejsonifyDateSchema, decimal: dejsonifyDecimalSchema, -} +} as const diff --git a/src/tests.ts b/src/tests.ts index 0f80ec8..52cc5cc 100644 --- a/src/tests.ts +++ b/src/tests.ts @@ -5,11 +5,13 @@ import { dejsonify, jsonify } from "./schema/jsonify" import { ObservableZodSchemaObject } from "./traits/ObservableZodSchemaObject" -const newTestExp = new ZodSchemaClassBuilder(TraitExpression.NullSuperclass, []) +const exp = new ZodSchemaClassBuilder(TraitExpression.NullSuperclass, []) .schema({ schema: z.object({ - /** Object ID */ + /** User ID */ id: z.bigint(), + + /** Username */ name: z.string(), }), @@ -27,40 +29,21 @@ const newTestExp = new ZodSchemaClassBuilder(TraitExpression.NullSuperclass, []) .expresses(ObservableZodSchemaObject) .build() -@newTestExp.staticImplements -class Test extends newTestExp.extends implements Implements {} +@exp.staticImplements +class User extends exp.extends implements Implements {} -Test.defaultValues -const inst = Test.create({ id: 1n, name: "" }) +User.defaultValues +const inst = User.create({ id: 1n, name: "" }) console.log(inst) -Test.dejsonify({ id: 1n }) -class SubTest extends Test.extend({ +class SubTest extends User.extend({ schema: ({ schema }) => schema.extend({ prout: z.string() }), - defaultValues: defaultValues => ({ - ...defaultValues - }), + defaultValues: v => v, }) {} const subInst = await SubTest.createPromise({ name: "", prout: "" }) console.log(subInst) - -// class ChildTest extends Test {} - -// ChildTest.instantiate({ name: "" }) - -const testSchema = { schema: Test.schema } - -declare const testGenericSchema: { - schema: z.ZodObject -} - -type U = T - -interface ExtendTest extends U { - schema: z.ZodObject -}