import { OptimizelyService } from '../services/OptimizelyService'; export function DynamicController(experimentName: string, controllers: { [variationName: string]: Function }) { return function ($controller: angular.IControllerService, optimizelyService: OptimizelyService) { let controller = controllers[optimizelyService.getActiveVariation(experimentName)]; return $controller(controller); } } export function DynamicTemplate(experimentName: string, templates: { [variationName: string]: string }) { return function (optimizelyService: OptimizelyService) { return templates[optimizelyService.getActiveVariation(experimentName)]; } }