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