@ngx-config/http-loader
Version:
Loader for ngx-config that provides application settings using http
24 lines • 3.01 kB
JavaScript
import { __decorate, __metadata, __param } from "tslib";
import { HttpClient } from '@angular/common/http';
import { forwardRef, Inject, resolveForwardRef } from '@angular/core';
var ConfigHttpLoader = (function () {
function ConfigHttpLoader(http, endpoint) {
if (endpoint === void 0) { endpoint = '/config.json'; }
this.http = http;
this.endpoint = endpoint;
}
ConfigHttpLoader.prototype.loadSettings = function () {
var _this = this;
return new Promise(function (resolve, reject) {
var http = resolveForwardRef(_this.http);
http.get(_this.endpoint).subscribe(resolve, function () { return reject('Endpoint unreachable!'); });
});
};
ConfigHttpLoader = __decorate([
__param(0, Inject(forwardRef(function () { return HttpClient; }))),
__metadata("design:paramtypes", [HttpClient, String])
], ConfigHttpLoader);
return ConfigHttpLoader;
}());
export { ConfigHttpLoader };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmh0dHAtbG9hZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neC1jb25maWcvaHR0cC1sb2FkZXIvIiwic291cmNlcyI6WyJjb25maWcuaHR0cC1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd0RTtJQUNFLDBCQUN5RCxJQUFnQixFQUN0RCxRQUFpQztRQUFqQyx5QkFBQSxFQUFBLHlCQUFpQztRQURLLFNBQUksR0FBSixJQUFJLENBQVk7UUFDdEQsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7SUFDakQsQ0FBQztJQUVKLHVDQUFZLEdBQVo7UUFBQSxpQkFNQztRQUxDLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFZLEVBQUUsTUFBZ0I7WUFDaEQsSUFBTSxJQUFJLEdBQUcsaUJBQWlCLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxFQUEvQixDQUErQixDQUFDLENBQUM7UUFDcEYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBWlUsZ0JBQWdCO1FBRXhCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxjQUFNLE9BQUEsVUFBVSxFQUFWLENBQVUsQ0FBQyxDQUFDLENBQUE7eUNBQXdCLFVBQVU7T0FGOUQsZ0JBQWdCLENBYTVCO0lBQUQsdUJBQUM7Q0FBQSxBQWJELElBYUM7U0FiWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgSW5qZWN0LCByZXNvbHZlRm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlnTG9hZGVyIH0gZnJvbSAnQG5neC1jb25maWcvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBDb25maWdIdHRwTG9hZGVyIGltcGxlbWVudHMgQ29uZmlnTG9hZGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IEh0dHBDbGllbnQpKSBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmRwb2ludDogc3RyaW5nID0gJy9jb25maWcuanNvbidcbiAgKSB7fVxuXG4gIGxvYWRTZXR0aW5ncygpOiBhbnkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogYW55LCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XG4gICAgICBjb25zdCBodHRwID0gcmVzb2x2ZUZvcndhcmRSZWYodGhpcy5odHRwKTtcblxuICAgICAgaHR0cC5nZXQodGhpcy5lbmRwb2ludCkuc3Vic2NyaWJlKHJlc29sdmUsICgpID0+IHJlamVjdCgnRW5kcG9pbnQgdW5yZWFjaGFibGUhJykpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=