So in plain old Angular, you would inject a Factory like so:
(function(angular){
    "use strict";
    var app = angular.module('app', []);
    app.factory('MyFactory', ['$http', function($http) {
    ....
    });
}());
Now using Typescript, I am trying to use the $inject like so:
module Services {
    export class MyFactory {
        static $inject = ['$http'];
        constructor(private $http: ng.IHttpService) {
        }
    }
}
var app = angular.module('app', []);
app.factory('MyFactory', Services.MyFactory) //<-- This does not work, never is instantiated.
app.factory('MyFactory', ['$http', Services.MyFactory]); //<-- No deal, it has constructor dependencies
// Seems you have to do this
app.factory('MyFactory', ['$http', ($http) => new Services.MyFactory($http)]);
What is the correct way to inject factories in Angular using Typescript?
