diff Libs/LibDataBroker-1.1/LibDataBroker-1.1.lua @ 20:9ad7f3c634f1 v8.0.1.020

- Updated Libraries.
author Tercio
date Fri, 20 Jul 2018 19:13:08 -0300
parents fc346da3afd9
children
line wrap: on
line diff
--- a/Libs/LibDataBroker-1.1/LibDataBroker-1.1.lua	Fri Jul 20 19:12:19 2018 -0300
+++ b/Libs/LibDataBroker-1.1/LibDataBroker-1.1.lua	Fri Jul 20 19:13:08 2018 -0300
@@ -2,7 +2,7 @@
 assert(LibStub, "LibDataBroker-1.1 requires LibStub")
 assert(LibStub:GetLibrary("CallbackHandler-1.0", true), "LibDataBroker-1.1 requires CallbackHandler-1.0")
 
-local lib, oldminor = LibStub:NewLibrary("LibDataBroker-1.1", 3)
+local lib, oldminor = LibStub:NewLibrary("LibDataBroker-1.1", 4)
 if not lib then return end
 oldminor = oldminor or 0
 
@@ -64,3 +64,27 @@
 		return self.namestorage[dataobject]
 	end
 end
+
+if oldminor < 4 then
+	local next = pairs(attributestorage)
+	function lib:pairs(dataobject_or_name)
+		local t = type(dataobject_or_name)
+		assert(t == "string" or t == "table", "Usage: ldb:pairs('dataobjectname') or ldb:pairs(dataobject)")
+
+		local dataobj = self.proxystorage[dataobject_or_name] or dataobject_or_name
+		assert(attributestorage[dataobj], "Data object not found")
+
+		return next, attributestorage[dataobj], nil
+	end
+
+	local ipairs_iter = ipairs(attributestorage)
+	function lib:ipairs(dataobject_or_name)
+		local t = type(dataobject_or_name)
+		assert(t == "string" or t == "table", "Usage: ldb:ipairs('dataobjectname') or ldb:ipairs(dataobject)")
+
+		local dataobj = self.proxystorage[dataobject_or_name] or dataobject_or_name
+		assert(attributestorage[dataobj], "Data object not found")
+
+		return ipairs_iter, attributestorage[dataobj], 0
+	end
+end