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