strafe-client/luau/typemap.lua

48 lines
1.1 KiB
Lua

--A type map for the luau analyzer
type f64 = number
type struct_Vector2 = {x: f64, y: f64}
type struct_Vector3 = struct_Vector2 & {z: f64}
type struct_Vector4 = struct_Vector3 & {w: f64}
export type warn = (message: string) -> ()
export type Vector2 = {
new: (x: f64, y: f64) -> struct_Vector2,
ONE: struct_Vector2,
ZERO: struct_Vector2,
NEG_ZERO: struct_Vector2,
NEG_ONE: struct_Vector2,
NEG_X: struct_Vector2,
NEG_Y: struct_Vector2,
}
export type Vector3 = {
new: (x: f64, y: f64, z: f64) -> struct_Vector3,
ONE: struct_Vector3,
ZERO: struct_Vector3,
NEG_ZERO: struct_Vector3,
NEG_ONE: struct_Vector3,
NEG_X: struct_Vector3,
NEG_Y: struct_Vector3,
}
export type Vector4 = {
new: (x: f64, y: f64, z: f64, w: f64) -> struct_Vector4,
ONE: struct_Vector4,
ZERO: struct_Vector4,
NEG_ZERO: struct_Vector4,
NEG_ONE: struct_Vector4,
NEG_X: struct_Vector4,
NEG_Y: struct_Vector4,
}
local Vector2: Vector2 = Vector2
local Vector3: Vector3 = Vector3
local Vector4: Vector4 = Vector4
local warn: warn = warn
return {
Vector2 = Vector2,
Vector3 = Vector3,
Vector4 = Vector4,
warn = warn
}