TypeCheck love2d 0.10.1

Run Settings
LanguageLua
Language Version
Run Command
local heart = {} heart.validType = { ["number"] = true, ["string"] = true, ["nil"] = true, ["userdata"] = true, ["function"] = true, ["table"] = true, ["single"] = function(singleCharString) if heart.typeCheck(singleCharString, "string") and utf8.len(singleCharString) == 1 then return true end return false end, --Audio Source = true, --Filesystem File = true, FileData = true, --Font GlyphData = true, Rasterizer = true, --Graphics Drawable = function(isDrawable) -- superclass return heart.typeCheck( isDrawable, "Canvas", "Image", "Mesh", "ParticleSystem", "SpriteBatch", "Text", "Texture", "Video") end, Canvas = true, Font = true, Image = true, Mesh = true, ParticleSystem = true, Quad = true, Shader = true, SpriteBatch = true, Text = true, Texture = true, Video = true, --Image CompressedImageData = true, ImageData = true, --Joystick Joystick = true, --Math BezierCurve = true, CompressedData = true, RandomGenerator = true, --Mouse Cursor = true, --Sound Decoder = true, SoundData = true, --Thread Channel = true, Thread = true, --Video VideoStream = true, } function heart.type(variable) return ( type(variable) == "userdata" and variable.__index and variable.__index.type and variable:type() ) or type(variable) end function heart.typeCheck(variable, ...) local isType = false for i = 1, select("#", ...) do local check = select(i, ...) assert(heart.validType[check], "Invalid type passed to heart.typeCheck.") if heart.validType[check] == true then if check == heart.type(variable) then isType = true break end else if heart.validType[check](variable) then isType = true break end end end return isType end function heart.typeAssert(variable, ...) if not heart.typeCheck(variable, ...) then assert(false, "Variable is not of type: "..table.concat({...}, ", ")) end end print(heart.typeCheck("SomeString", "string", "number")) heart.typeAssert({}, "table") heart.typeAssert(3, "string", "function")
Editor Settings
Theme
Key bindings
Full width
Lines