-- Compiled with roblox-ts v1.2.7 local TS = _G[script] local ZrLuauFunction = TS.import(script, TS.getModule(script, "@rbxts", "zirconium").out.Data.LuauFunction).default local ZrObject = TS.import(script, TS.getModule(script, "@rbxts", "zirconium").out.Data.Object).default -- * @deprecated local ZirconFunction do local super = ZrLuauFunction ZirconFunction = setmetatable({}, { __tostring = function() return "ZirconFunction" end, __index = super, }) ZirconFunction.__index = ZirconFunction function ZirconFunction.new(...) local self = setmetatable({}, ZirconFunction) return self:constructor(...) or self end function ZirconFunction:constructor(declaration) super.constructor(self, function(ctx, ...) local args = { ... } do local i = 0 local _shouldIncrement = false while true do if _shouldIncrement then i += 1 else _shouldIncrement = true end if not (i < #args) then break end local argCheck = declaration.Arguments[i + 1] if not argCheck(args[i + 1]) then return false end end end declaration.Execute(ctx, unpack(args)) end) self.declaration = declaration end function ZirconFunction:create(declaration) return ZirconFunction.new(declaration) end function ZirconFunction:__tostring() return self:toString() end ZirconFunction.string = function(value) return type(value) == "string" end ZirconFunction.number = function(value) return type(value) == "number" end ZirconFunction.boolean = function(value) return type(value) == "number" end ZirconFunction.array = function(value) return type(value) == "table" end ZirconFunction.object = function(value) return TS.instanceof(value, ZrObject) end end ZirconFunction:create({ Groups = {}, Arguments = { ZirconFunction.string, ZirconFunction.number }, Execute = function(ctx, arg0) end, }) return { default = ZirconFunction, }