alcaeus
Version:
Hydra Core hypermedia-aware client library
37 lines • 2.07 kB
TypeScript
import type { DatasetCore, NamedNode } from '@rdfjs/types';
import type { RdfResourceCore } from '@tpluscode/rdfine/RdfResource';
import type { Resource, ApiDocumentation } from '@rdfine/hydra';
import { AllowedRequestInit, HydraClient, HydraEnvironment, HydraResponse, InvokedOperation, ResourceCacheStrategy, ResourceStore, RootNodeCandidate, ResourceRepresentation } from 'alcaeus-core';
import FetchUtil from './FetchUtil.js';
export * from 'alcaeus-core';
interface AlcaeusInit<D extends DatasetCore> {
rootSelectors: [string, RootNodeCandidate][];
resources: ResourceStore<D>;
environment: HydraEnvironment<D>;
fetch: typeof fetch;
Headers: typeof Headers;
}
export declare class Alcaeus<D extends DatasetCore> implements HydraClient<D> {
baseUri?: string;
rootSelectors: [string, RootNodeCandidate][];
defaultHeaders: HeadersInit | ((params: {
uri: string;
}) => HeadersInit | Promise<HeadersInit>);
defaultRequestInit: {};
log: (msg: string) => void;
cacheStrategy: ResourceCacheStrategy;
readonly resources: ResourceStore<D>;
private readonly __apiDocumentations;
private readonly environment;
private readonly _fetch;
private readonly _headers;
constructor(init: AlcaeusInit<D>, fetchUtil?: ReturnType<typeof FetchUtil>);
get apiDocumentations(): ResourceRepresentation<D, ApiDocumentation<D>>[];
loadResource<T extends RdfResourceCore<any>>(id: string | NamedNode, headers?: HeadersInit, requestInit?: AllowedRequestInit, dereferenceApiDocumentation?: boolean): Promise<HydraResponse<D, T>>;
loadDocumentation(id: string | NamedNode, headers?: HeadersInit, requestInit?: AllowedRequestInit): Promise<ApiDocumentation<D> | null>;
invokeOperation<T extends RdfResourceCore<any> = Resource<D>>(operation: InvokedOperation, headers?: HeadersInit, body?: BodyInit, requestInit?: AllowedRequestInit): Promise<HydraResponse<D, T>>;
private __getApiDocumentation;
private __mergeHeaders;
private __findRootResource;
}
//# sourceMappingURL=alcaeus.d.ts.map