alcaeus-model
Version:
rdfine models for Alcaeus, Hydra client
105 lines • 8.78 kB
TypeScript
import type { DatasetCore, Term, Literal, BlankNode, NamedNode } from '@rdfjs/types';
import type { Constructor, RdfResource, ResourceIdentifier } from '@tpluscode/rdfine';
import type { ApiDocumentation, Resource, SupportedProperty } from '@rdfine/hydra';
import type { GraphPointer } from 'clownface';
import type { HydraEnvironment } from 'alcaeus-core';
import type { MemberAssertionPattern } from '../Mixins/MemberAssertion.js';
import { RuntimeOperation } from '../Operation.js';
export interface GetProperties {
termTypes: (Literal | NamedNode | BlankNode)['termType'][];
}
declare module '@tpluscode/rdfine' {
interface RdfResource<D extends DatasetCore = DatasetCore> {
/**
* Gets the operations which can be performed on this resource
*/
readonly operations: RuntimeOperation[];
/**
* Gets the hydra:ApiDocumentation linked to the original response
*/
readonly apiDocumentation: ApiDocumentation | undefined;
/**
* Gathers all properties from current resource's classes
*/
getProperties(options?: GetProperties): {
supportedProperty: SupportedProperty;
objects: any[];
}[];
/**
* Get all property/value pairs for hydra:Link properties
*
* @param includeMissing if true, will include properties not present in resource representation
*/
getLinks(includeMissing?: boolean): {
supportedProperty: SupportedProperty;
resources: RdfResource<D>[];
}[];
/**
* Gets objects of hydra:collection property
*/
getCollections(filter?: MemberAssertionPattern): RdfResource<D>[];
}
}
export declare function createHydraResourceMixin(env: HydraEnvironment): {
<Base extends Constructor<Resource>>(base: Base): {
new (...input: any[]): {
readonly operations: RuntimeOperation[];
readonly apiDocumentation: ApiDocumentation | undefined;
getLinks(includeMissing?: boolean): {
resources: any[];
supportedProperty: SupportedProperty<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>;
}[];
getProperties(options?: GetProperties): {
supportedProperty: SupportedProperty;
objects: any[];
}[];
getCollections(filter?: MemberAssertionPattern): import("@rdfine/hydra").Collection<Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>, DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>[];
first: Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
freetextQuery: string | undefined;
last: Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
next: Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
operation: import("@rdfine/hydra").Operation<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>[];
previous: Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
search: import("@rdfine/hydra").IriTemplate<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
view: Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>[];
title: string | undefined;
description: string | undefined;
comment: string | undefined;
isDefinedBy: import("@rdfine/rdfs").Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
label: string | undefined;
seeAlso: import("@rdfine/rdfs").Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>[];
getOperationsDeep(condition?: import("./OperationFinder.js").RecursiveStopConditions): RuntimeOperation[];
findOperations(...criteria: import("./OperationFinder.js").Criteria[]): RuntimeOperation[];
findOperationsDeep(stopCondition: import("./OperationFinder.js").RecursiveStopConditions, ...moreCriteria: import("./OperationFinder.js").Criteria[]): RuntimeOperation[];
load?<T extends RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>>(headers?: HeadersInit): Promise<import("alcaeus-core").HydraResponse<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>, T>>;
readonly env: import("@tpluscode/rdfine/environment").RdfineEnvironment;
readonly id: ResourceIdentifier;
readonly types: import("@tpluscode/rdfine/lib/TypeCollection").TypeCollection<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>;
readonly pointer: GraphPointer<ResourceIdentifier, DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>;
readonly unionGraphPointer: import("clownface").MultiPointer<ResourceIdentifier, DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>;
readonly _graphId: import("@rdfjs/types").Quad_Graph;
readonly _parent?: RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> | undefined;
readonly isAnonymous: boolean;
equals(other: RdfResource | ResourceIdentifier | GraphPointer | undefined | null): boolean;
hasType(type: string | NamedNode): boolean;
get<T extends RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> = RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>>(property: string | NamedNode): T;
get<T extends RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> = RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>>(property: string | NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions): T | null;
getArray<T extends RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> = RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>>(property: string | NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions): T[];
getBoolean(property: string | NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions): boolean;
getString(property: string | NamedNode): string;
getString(property: string | NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions): string | null;
getNumber(property: string | NamedNode): number | null;
getNumber(property: string | NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions): number | null;
toJSON<T extends import("@tpluscode/rdfine/RdfResource").RdfResourceCore = /*elided*/ any>(): import("@tpluscode/rdfine/lib/toJSON").Jsonified<RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>> & T>;
_getObjects(property: string | NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions): import("clownface").MultiPointer<Term, DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>;
_create<T extends import("@tpluscode/rdfine/RdfResource").RdfResourceCore<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>>(term: GraphPointer<Term, DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>, mixins?: import("@tpluscode/rdfine/lib/ResourceFactory").Mixin[] | [Constructor, ...import("@tpluscode/rdfine/lib/ResourceFactory").Mixin[]], options?: import("@tpluscode/rdfine/lib/ResourceFactory").ResourceCreationOptions<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>, T> | undefined): T & import("@tpluscode/rdfine").ResourceIndexer<RdfResource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>>;
collection: import("@rdfine/hydra").Collection<Resource<DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>, DatasetCore<import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>>[];
};
__mixins: import("@tpluscode/rdfine/lib/ResourceFactory").Mixin[];
__properties: Map<string, import("@tpluscode/rdfine/lib/decorators/property/decoratorFactory").PropertyMeta>;
__initializers: Map<string, unknown>;
__ns?: import("@rdfjs/namespace").NamespaceBuilder;
} & Base;
shouldApply: boolean;
};
//# sourceMappingURL=HydraResource.d.ts.map