function resolve(opt) {
	if (Object.prototype.isPrototypeOf.call(Strategies.Base, opt)) {
		return opt;
	} else if (isString(opt)) {
		let StrategyClass = getByName(opt);
		if (StrategyClass) return StrategyClass;
		else throw new BrokerOptionsError(`Invalid strategy type '${opt}'.`, { type: opt });
	} else if (isObject(opt)) {
		let StrategyClass = getByName(opt.type || "RoundRobin");
		if (StrategyClass) return StrategyClass;
		else
			throw new BrokerOptionsError(`Invalid strategy type '${opt.type}'.`, {
				type: opt.type
			});
	}

	return Strategies.RoundRobin;
}
Resolve strategy by name

@param {object|string} opt
@returns {Strategy}
@memberof ServiceBroker