UNPKG

alcaeus

Version:

Hydra Core hypermedia-aware client library

31 lines 1.6 kB
import type { BaseQuad, DatasetCore, NamedNode } from '@rdfjs/types'; import type { RdfResource, ResourceIdentifier } from '@tpluscode/rdfine'; import type { ResourceFactory } from '@tpluscode/rdfine/lib/ResourceFactory'; import type { RdfResourceCore } from '@tpluscode/rdfine/RdfResource'; import type { GraphPointer } from 'clownface'; import type { CachedResourceFactory } from 'alcaeus-model/ResourceFactory.js'; import type { HydraEnvironment, HydraResponse, ResourceStore, ResourceStoreEntry } from './alcaeus.js'; export interface RepresentationInference { (dataset: DatasetCore, env: HydraEnvironment): Iterable<BaseQuad>; } interface ResourceStoreInit<D extends DatasetCore> { dataset: D; environment: HydraEnvironment<D>; inferences: RepresentationInference[]; factory?: ResourceFactory<D, RdfResource<D>>; } export default class ResourceStoreImpl<D extends DatasetCore> implements ResourceStore<D> { private readonly dataset; private readonly inferences; readonly factory: CachedResourceFactory<D, RdfResource<D>>; private readonly rootNodes; private readonly responses; private readonly environment; constructor({ dataset, inferences, factory, environment }: ResourceStoreInit<D>); clone(): ResourceStore<D>; get<T extends RdfResourceCore<D>>(idOrPointer: NamedNode | GraphPointer<ResourceIdentifier, D>): Required<HydraResponse<D, T>> | undefined; set(graph: NamedNode, { response, dataset, rootResource }: ResourceStoreEntry<D>): Promise<void>; private tripleToQuad; } export {}; //# sourceMappingURL=ResourceStore.d.ts.map