feat: add provider system

This commit is contained in:
2026-06-26 16:45:04 +02:00
parent 15467ba8f0
commit 79572a45dd
4 changed files with 51 additions and 1 deletions
+26
View File
@@ -0,0 +1,26 @@
local M = {}
local config = require('chai.config')
local provider_instances = {}
-- lazy loads providers of course
function M.get_provider(name)
if provider_instances[name] ~= nil then
return provider_instances[name]
end
if config.options.providers[name] == nil then
error('unknown provider')
end
local provider_config = config.options.providers[name]
local provider = require('chai.providers.' .. provider_config.type)
local provider_instance = provider.init(provider_config)
provider_instances[name] = provider_instance
return provider_instance
end
return M