alcaeus-model
Version:
rdfine models for Alcaeus, Hydra client
20 lines • 1.28 kB
TypeScript
import type { DatasetCore, Term, NamedNode } from '@rdfjs/types';
import type { Constructor, RdfResource } from '@tpluscode/rdfine';
import type { AnyFunction, Mixin, ResourceCreationOptions, ResourceIndexer, ResourceFactory } from '@tpluscode/rdfine/lib/ResourceFactory';
import type { GraphPointer } from 'clownface';
import type { HydraEnvironment } from 'alcaeus-core';
export interface CachedResourceFactory<D extends DatasetCore, R extends RdfResource<D>> extends ResourceFactory<D, R> {
clone(): CachedResourceFactory<D, R>;
removeCache(graph: NamedNode): void;
}
export default class CachedResourceFactoryImpl<D extends DatasetCore, R extends RdfResource<D>> implements CachedResourceFactory<D, R> {
private env;
readonly __cache: Map<Term, Map<NamedNode, any>>;
readonly __inner: ResourceFactory<D, R>;
constructor(inner: ResourceFactory<D, R>, env: HydraEnvironment<D>);
removeCache(graph: NamedNode): void;
clone(): CachedResourceFactory<D, R>;
createEntity<S>(pointer: GraphPointer<NamedNode, D>, typeAndMixins?: Mixin<AnyFunction>[] | [Constructor, ...Mixin<AnyFunction>[]], options?: ResourceCreationOptions<D, R & S>): R & S & ResourceIndexer<R>;
addMixin(...mixins: any[]): void;
}
//# sourceMappingURL=ResourceFactory.d.ts.map