Files
florian.berthold 1cbeca4b50 chore(libs): sync Ace3 to coa-ace3 (WoWUIDev master @ 52e5f2c)
Bring every embedded Ace3 / CallbackHandler / LibStub copy in line with the
canonical Exiles/coa-ace3 bundle so LibStub resolution is predictable across
all Exiles forks regardless of which addons are enabled.

Per-library MINOR moves:
  AceAddon-3.0          5 → 13
  AceEvent-3.0          3 → 4
  AceTimer-3.0          5 → 17  (C_Timer-based; available on the CoA client)
  AceHook-3.0           5 → 9
  AceDB-3.0            21 → 33
  AceDBOptions-3.0     12 → 15
  AceConfig-3.0         2 → 3
  AceConfigRegistry-3.0 12 → 22
  AceConfigCmd-3.0     12 → 14
  AceConfigDialog-3.0  49 → 92
  AceGUI-3.0           33 → 41
  AceLocale-3.0         2 → 6
  AceBucket-3.0         3 → 4
  CallbackHandler-1.0   5 → 8
  AceConsole-3.0, LibStub: unchanged (already at target)
2026-05-23 06:31:15 +02:00

31 lines
1.3 KiB
Lua

-- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/wiki/LibStub for more info
-- LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke
local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 2 -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS!
local LibStub = _G[LIBSTUB_MAJOR]
if not LibStub or LibStub.minor < LIBSTUB_MINOR then
LibStub = LibStub or {libs = {}, minors = {} }
_G[LIBSTUB_MAJOR] = LibStub
LibStub.minor = LIBSTUB_MINOR
function LibStub:NewLibrary(major, minor)
assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)")
minor = assert(tonumber(string.match(minor, "%d+")), "Minor version must either be a number or contain a number.")
local oldminor = self.minors[major]
if oldminor and oldminor >= minor then return nil end
self.minors[major], self.libs[major] = minor, self.libs[major] or {}
return self.libs[major], oldminor
end
function LibStub:GetLibrary(major, silent)
if not self.libs[major] and not silent then
error(("Cannot find a library instance of %q."):format(tostring(major)), 2)
end
return self.libs[major], self.minors[major]
end
function LibStub:IterateLibraries() return pairs(self.libs) end
setmetatable(LibStub, { __call = LibStub.GetLibrary })
end