function resolve(opt) {
	if (isObject(opt) && isInheritedClass(opt, Exporters.Base)) {
		return opt;
	} else if (isString(opt)) {
		let ExporterClass = getByName(opt);
		if (ExporterClass) return new ExporterClass();
		else throw new BrokerOptionsError(`Invalid tracing exporter type '${opt}'.`, { type: opt });
	} else if (isObject(opt)) {
		let ExporterClass = getByName(opt.type);
		if (ExporterClass) return new ExporterClass(opt.options);
		else
			throw new BrokerOptionsError(`Invalid tracing exporter type '${opt.type}'.`, {
				type: opt.type
			});
	}

	throw new BrokerOptionsError(`Invalid tracing exporter type '${opt}'.`, { type: opt });
}
Resolve exporter by name

@param {object|string} opt
@returns {Exporters.Base}
@memberof ServiceBroker