This commit is contained in:
36
src/tests.ts
36
src/tests.ts
@@ -1,17 +1,27 @@
|
||||
import { z } from "zod"
|
||||
import { extendSchemableClass } from "."
|
||||
import { extendSchemableClass, makeSchemableClassFrom } from "."
|
||||
|
||||
|
||||
const Test1Schema = z.object({ prout: z.string() })
|
||||
class Test1 {
|
||||
static readonly schema = Test1Schema
|
||||
readonly schema = Test1Schema
|
||||
// class Test1 {
|
||||
// static readonly schema = Test1Schema
|
||||
// readonly schema = Test1Schema
|
||||
|
||||
static readonly defaultValues = { prout: "heugneu" }
|
||||
readonly defaultValues = { prout: "heugneu" }
|
||||
// static readonly defaultValues = { prout: "heugneu" }
|
||||
// readonly defaultValues = { prout: "heugneu" }
|
||||
|
||||
// prout: string = "heugneu"
|
||||
// }
|
||||
|
||||
const Test1 = makeSchemableClassFrom(
|
||||
class {
|
||||
randomProperty: string = ""
|
||||
},
|
||||
z.object({ prout: z.string() }),
|
||||
{},
|
||||
)
|
||||
|
||||
new Test1({ prout: "adfd" }).prout
|
||||
|
||||
prout: string = "heugneu"
|
||||
}
|
||||
|
||||
const Test2 = extendSchemableClass(
|
||||
Test1,
|
||||
@@ -20,4 +30,10 @@ const Test2 = extendSchemableClass(
|
||||
)
|
||||
|
||||
Test2.defaultValues
|
||||
new Test2().prout
|
||||
new Test2({ prout: "ruquier", ruquier: 69 }).randomProperty
|
||||
|
||||
|
||||
class Test3 extends Test2 {
|
||||
}
|
||||
|
||||
console.log(new Test3({ prout: "ruquier", ruquier: 69 }))
|
||||
|
||||
Reference in New Issue
Block a user