From a74c7842b173ab3ee18c37d518113c32ed30ad7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=84=B8=EC=A0=A4=EA=B7=80=20=EA=B3=A0=EC=96=91=EC=9D=B4?= =?UTF-8?q?=EB=93=A4?= <46598063+qwreey75@users.noreply.github.com> Date: Fri, 24 Dec 2021 21:38:57 +0900 Subject: [PATCH] None prop making support --- src/class.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/class.lua b/src/class.lua index fea25b9..0f211fa 100644 --- a/src/class.lua +++ b/src/class.lua @@ -154,17 +154,24 @@ function module.init(shared) -- import quad object function new.import(ClassName,defaultProperties) -- make new quad class object + if type(ClassName) == "userdata" and ClassName.ClassName == "ModuleScript" then + ClassName = require(ClassName); + end local this = defaultProperties or {}; setmetatable(this,{ __call = function (self,prop) - if type(prop) == "string" then + local propType = type(prop); + if propType == "string" then local lastName = prop; return function (nprop) + nprop = nprop or {}; nprop.Name = lastName; local item = make(ClassName,nprop); addObject(lastName,item); return item; end; + elseif propType == "nil" then + return make(ClassName); end return make(ClassName,prop,this); end;