@granito/ngx-hal-client
Version:
A HAL client to be used in Angular projects
39 lines • 3.71 kB
JavaScript
import { Injectable } from '@angular/core';
import { Accessor } from './internal';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
/**
* This service is used to obtain API root accessors. It incapsulates
* {@link HttpClient}, which will be passed to all {@link Accessor}
* objects originating from this service, directly or indirectly.
*/
export class HalClientService {
/**
* @param httpClient Angular HTTP client
*/
constructor(httpClient) {
this.httpClient = httpClient;
}
/**
* Obtain an accessor for the API root entry point specified by the
* URI.
*
* @param uri the URI for the API root
* @returns an accessor for the API root
*/
root(uri) {
return new Accessor({
_client: this.httpClient,
_links: {
self: { href: uri }
}
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: HalClientService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: HalClientService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: HalClientService, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}], ctorParameters: () => [{ type: i1.HttpClient }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFsLWNsaWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9oYWwtY2xpZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFFdEM7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxnQkFBZ0I7SUFDekI7O09BRUc7SUFDSCxZQUE2QixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQ25ELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUFJLENBQUMsR0FBVztRQUNaLE9BQU8sSUFBSSxRQUFRLENBQUM7WUFDaEIsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3hCLE1BQU0sRUFBRTtnQkFDSixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFO2FBQ3RCO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FyQlEsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FESCxNQUFNOzsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2Nlc3NvciB9IGZyb20gJy4vaW50ZXJuYWwnO1xuXG4vKipcbiAqIFRoaXMgc2VydmljZSBpcyB1c2VkIHRvIG9idGFpbiBBUEkgcm9vdCBhY2Nlc3NvcnMuIEl0IGluY2Fwc3VsYXRlc1xuICoge0BsaW5rIEh0dHBDbGllbnR9LCB3aGljaCB3aWxsIGJlIHBhc3NlZCB0byBhbGwge0BsaW5rIEFjY2Vzc29yfVxuICogb2JqZWN0cyBvcmlnaW5hdGluZyBmcm9tIHRoaXMgc2VydmljZSwgZGlyZWN0bHkgb3IgaW5kaXJlY3RseS5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBIYWxDbGllbnRTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0gaHR0cENsaWVudCBBbmd1bGFyIEhUVFAgY2xpZW50XG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT2J0YWluIGFuIGFjY2Vzc29yIGZvciB0aGUgQVBJIHJvb3QgZW50cnkgcG9pbnQgc3BlY2lmaWVkIGJ5IHRoZVxuICAgICAqIFVSSS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1cmkgdGhlIFVSSSBmb3IgdGhlIEFQSSByb290XG4gICAgICogQHJldHVybnMgYW4gYWNjZXNzb3IgZm9yIHRoZSBBUEkgcm9vdFxuICAgICAqL1xuICAgIHJvb3QodXJpOiBzdHJpbmcpOiBBY2Nlc3NvciB7XG4gICAgICAgIHJldHVybiBuZXcgQWNjZXNzb3Ioe1xuICAgICAgICAgICAgX2NsaWVudDogdGhpcy5odHRwQ2xpZW50LFxuICAgICAgICAgICAgX2xpbmtzOiB7XG4gICAgICAgICAgICAgICAgc2VsZjogeyBocmVmOiB1cmkgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=