hal-object
Version:
object for the Hal mediatype
31 lines (30 loc) • 1.01 kB
TypeScript
import { HalHyperlink } from "./link-object";
export declare type HalLinks = {
[rel: string]: HalHyperlink[];
};
export declare class Halo<T> {
static readonly EMBEDDED_PROPERTY_NAME = "_embedded";
static readonly LINKS_PROPERTY_NAME = "_links";
static readonly SELF_RELATION = "self";
protected _embedded?: {
[rel: string]: Halo<any>[];
};
protected _links?: HalLinks;
protected data: T;
constructor(json: unknown);
protected registerEmbedded(json: any): {
[rel: string]: Halo<any>[];
};
protected registerProperties(json: any): T;
protected registerLinks(json: any): HalLinks;
getData(): T;
getEmbeddedOfRelation(rel: string): Halo<any>[] | undefined;
getEmbedded(): {
[rel: string]: Halo<any>[];
};
getLinkRelations(): Array<string>;
getEmbeddedRelations(): Array<string>;
getLinks(): HalLinks;
getLinksOfRelation(rel: string): HalHyperlink[] | undefined;
getSelfLink(): HalHyperlink | undefined;
}