ngx-resource-gearheart
Version:
Angular2 resource module with simple decorators. Customized by Gearheart.
46 lines (45 loc) • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var http_1 = require("@angular/http");
var ResourceProviders = (function () {
function ResourceProviders() {
}
ResourceProviders.add = function (resource, subSet) {
if (subSet === void 0) { subSet = null; }
if (!subSet) {
subSet = this.mainProvidersName;
}
if (!this.providers[subSet]) {
this.providers[subSet] = [];
}
var deps = Reflect.getMetadata('design:paramtypes', resource);
if (!deps || deps.length === 0) {
deps = [http_1.Http, core_1.Injector];
}
this.providers[subSet].push({
provide: resource,
useFactory: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return new (resource.bind.apply(resource, [void 0].concat(args)))();
},
deps: deps
});
};
ResourceProviders.get = function (subSet) {
if (subSet === void 0) { subSet = null; }
if (!subSet) {
subSet = this.mainProvidersName;
}
return this.providers[subSet] || [];
};
return ResourceProviders;
}());
ResourceProviders.mainProvidersName = '__mainProviders';
ResourceProviders.providers = {
__mainProviders: []
};
exports.ResourceProviders = ResourceProviders;