Injizieren Sie eine Factory in AngularJS mit Typescript

So in plain old Angular würden Sie eine Factory wie folgt injizieren:

(function(angular){
    "use strict";

    var app = angular.module('app', []);
    app.factory('MyFactory', ['$http', function($http) {
    ....
    });
}());

Nun mit Typescript versuche ich das @ zu benutz$inject wie 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)]);

Was ist der richtige Weg, um Fabriken in Angular mit Typescript einzuspritzen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage