ng2-resource-rest
Version:
Angular2 resource module with simple decorators
44 lines (43 loc) • 1.41 kB
JavaScript
import { Injector } from '@angular/core';
import { Http } from '@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, 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;
}());
export { ResourceProviders };
ResourceProviders.mainProvidersName = '__mainProviders';
ResourceProviders.providers = {
__mainProviders: []
};