Revision 0.34.0 (#1069)

* Add Module Types

* Add Syntax Types
This commit is contained in:
Haydn Paterson
2024-11-13 23:56:23 +09:00
committed by GitHub
parent 4e2158deb2
commit 55ae006127
68 changed files with 2240 additions and 1038 deletions
-56
View File
@@ -1,56 +0,0 @@
import { Expect } from './assert'
import { Type, TRef, TObject, TNumber } from '@sinclair/typebox'
// prettier-ignore
const Vector: TObject<{
x: TNumber;
y: TNumber;
}> = Type.Object({
x: Type.Number(),
y: Type.Number(),
}, { $id: 'Vector' })
// prettier-ignore
const VectorRef: TRef<TObject<{
x: TNumber;
y: TNumber;
}>> = Type.Ref(Vector)
// prettier-ignore
const Vertex: TObject<{
position: TRef<TObject<{
x: TNumber;
y: TNumber;
}>>;
texcoord: TRef<TObject<{
x: TNumber;
y: TNumber;
}>>;
}> = Type.Object({
position: VectorRef,
texcoord: VectorRef,
})
// prettier-ignore
const VertexDeref: TObject<{
position: TObject<{
x: TNumber;
y: TNumber;
}>;
texcoord: TObject<{
x: TNumber;
y: TNumber;
}>;
}> = Type.Deref(Vertex, [Vector])
// prettier-ignore
Expect(VertexDeref).ToStatic<{
position: {
x: number;
y: number;
};
texcoord: {
x: number;
y: number;
};
}>
+2 -2
View File
@@ -3,11 +3,11 @@ import { Type, Static } from '@sinclair/typebox'
{
const T = Type.String({ $id: 'T' })
const R = Type.Ref(T)
const R = Type.Ref('T')
type T = Static<typeof T>
type R = Static<typeof R>
Expect(T).ToStatic<string>()
Expect(R).ToStatic<string>()
Expect(R).ToStatic<unknown>()
}