UNPKG

alcaeus-model

Version:

rdfine models for Alcaeus, Hydra client

105 lines 8.78 kB
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