UNPKG

alcaeus-model

Version:

rdfine models for Alcaeus, Hydra client

119 lines 9 kB
import type { NamedNode, Quad } from '@rdfjs/types'; import type { Resource, Operation } from '@rdfine/hydra'; import type { NamespaceBuilder } from '@rdfjs/namespace'; import type { Constructor, RdfResource } from '@tpluscode/rdfine'; import type { RuntimeOperation } from '../Operation.js'; type Constraint<TExactMatch, TFuncMatch = TExactMatch> = (string | TExactMatch) | ((value: TFuncMatch) => boolean); export interface Criteria { /** * Filters operations by exactly matching the HTTP method (case-insensitive) */ byMethod?: Constraint<string>; /** * Filters operations by exactly matching the hydra:expects annotation or via a custom check function. * The exact match can be ether a `Class` object or identifier */ expecting?: Constraint<RdfResource | NamedNode, RdfResource>; /** * Filters operations by exactly matching the hydra:returns annotation or via a custom check function. * The exact match can be ether a `Class` object or identifier */ returning?: Constraint<RdfResource | NamedNode, RdfResource>; /** * Filters operations by exactly matching supported operation's id or types, or by * executing a custom function against the supported operation */ bySupportedOperation?: Constraint<NamedNode, Operation>; } export interface RecursiveStopConditions { excludedProperties?: (string | NamedNode | RdfResource)[]; namespaces: (string | NamespaceBuilder)[]; } declare module '@tpluscode/rdfine' { /** * Provides methods to find operations in deeply nested resource graphs */ interface RdfResource { /** * Recursively gets operations from this resource and its children in the graph * @param condition allows to control which properties should be followed */ getOperationsDeep(condition?: RecursiveStopConditions): RuntimeOperation[]; /** * Finds operations of this resource which match the given criteria * @param criteria zero or more criteria objects which filter out unwanted operations */ findOperations(...criteria: Criteria[]): RuntimeOperation[]; /** * Finds operations of this resource and its children in graph, which match the given criteria * @param stopCondition (optional) allows to control which properties should be followed * @param moreCriteria zero or more criteria objects which filter out unwanted operations */ findOperationsDeep(stopCondition: RecursiveStopConditions, ...moreCriteria: Criteria[]): RuntimeOperation[]; } } export declare function OperationFinderMixin<TBase extends Constructor<Resource>>(Base: TBase): { new (...input: any[]): { getOperationsDeep(stopConditions?: RecursiveStopConditions, previousResources?: /*elided*/ any[]): RuntimeOperation[]; findOperations(...criteria: Criteria[]): RuntimeOperation[]; findOperationsDeep(stopCondition: RecursiveStopConditions & Criteria, ...moreCriteria: Criteria[]): RuntimeOperation[]; __filterOperations(operations: RuntimeOperation[], criteria?: Criteria[]): RuntimeOperation[]; first: Resource<import("@rdfjs/types").DatasetCore<Quad, Quad>> | undefined; freetextQuery: string | undefined; last: Resource<import("@rdfjs/types").DatasetCore<Quad, Quad>> | undefined; next: Resource<import("@rdfjs/types").DatasetCore<Quad, Quad>> | undefined; operation: Operation<import("@rdfjs/types").DatasetCore<Quad, Quad>>[]; previous: Resource<import("@rdfjs/types").DatasetCore<Quad, Quad>> | undefined; search: import("@rdfine/hydra").IriTemplate<import("@rdfjs/types").DatasetCore<Quad, Quad>> | undefined; view: Resource<import("@rdfjs/types").DatasetCore<Quad, Quad>>[]; title: string | undefined; description: string | undefined; comment: string | undefined; isDefinedBy: import("@rdfine/rdfs").Resource<import("@rdfjs/types").DatasetCore<Quad, Quad>> | undefined; label: string | undefined; seeAlso: import("@rdfine/rdfs").Resource<import("@rdfjs/types").DatasetCore<Quad, Quad>>[]; readonly operations: RuntimeOperation[]; readonly apiDocumentation: import("@rdfine/hydra").ApiDocumentation | undefined; getProperties(options?: import("./HydraResource.js").GetProperties): { supportedProperty: import("@rdfine/hydra").SupportedProperty; objects: any[]; }[]; getLinks(includeMissing?: boolean): { supportedProperty: import("@rdfine/hydra").SupportedProperty; resources: RdfResource<import("@rdfjs/types").DatasetCore<Quad, Quad>>[]; }[]; getCollections(filter?: import("../Mixins/MemberAssertion.js").MemberAssertionPattern): RdfResource<import("@rdfjs/types").DatasetCore<Quad, Quad>>[]; load?<T extends RdfResource<import("@rdfjs/types").DatasetCore<Quad, Quad>>>(headers?: HeadersInit): Promise<import("alcaeus-core").HydraResponse<import("@rdfjs/types").DatasetCore<Quad, Quad>, T>>; readonly env: import("@tpluscode/rdfine/environment").RdfineEnvironment; readonly id: import("@tpluscode/rdfine").ResourceIdentifier; readonly types: import("@tpluscode/rdfine/lib/TypeCollection").TypeCollection<import("@rdfjs/types").DatasetCore<Quad, Quad>>; readonly pointer: import("clownface").GraphPointer<import("@tpluscode/rdfine").ResourceIdentifier, import("@rdfjs/types").DatasetCore<Quad, Quad>>; readonly unionGraphPointer: import("clownface").MultiPointer<import("@tpluscode/rdfine").ResourceIdentifier, import("@rdfjs/types").DatasetCore<Quad, Quad>>; readonly _graphId: import("@rdfjs/types").Quad_Graph; readonly _parent?: RdfResource<import("@rdfjs/types").DatasetCore<Quad, Quad>> | undefined; readonly isAnonymous: boolean; equals(other: RdfResource | import("@tpluscode/rdfine").ResourceIdentifier | import("clownface").GraphPointer | undefined | null): boolean; hasType(type: string | NamedNode): boolean; get<T extends RdfResource<import("@rdfjs/types").DatasetCore<Quad, Quad>> = RdfResource<import("@rdfjs/types").DatasetCore<Quad, Quad>>>(property: string | NamedNode): T; get<T extends RdfResource<import("@rdfjs/types").DatasetCore<Quad, Quad>> = RdfResource<import("@rdfjs/types").DatasetCore<Quad, Quad>>>(property: string | NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions): T | null; getArray<T extends RdfResource<import("@rdfjs/types").DatasetCore<Quad, Quad>> = RdfResource<import("@rdfjs/types").DatasetCore<Quad, 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<import("@rdfjs/types").DatasetCore<Quad, Quad>> & T>; _getObjects(property: string | NamedNode, options?: import("@tpluscode/rdfine/RdfResource").GetOptions): import("clownface").MultiPointer<import("@rdfjs/types").Term, import("@rdfjs/types").DatasetCore<Quad, Quad>>; _create<T extends import("@tpluscode/rdfine/RdfResource").RdfResourceCore<import("@rdfjs/types").DatasetCore<Quad, Quad>>>(term: import("clownface").GraphPointer<import("@rdfjs/types").Term, import("@rdfjs/types").DatasetCore<Quad, Quad>>, mixins?: import("@tpluscode/rdfine/lib/ResourceFactory").Mixin[] | [Constructor, ...import("@tpluscode/rdfine/lib/ResourceFactory").Mixin[]], options?: import("@tpluscode/rdfine/lib/ResourceFactory").ResourceCreationOptions<import("@rdfjs/types").DatasetCore<Quad, Quad>, T> | undefined): T & import("@tpluscode/rdfine").ResourceIndexer<RdfResource<import("@rdfjs/types").DatasetCore<Quad, Quad>>>; collection: import("@rdfine/hydra").Collection<Resource<import("@rdfjs/types").DatasetCore<Quad, Quad>>, import("@rdfjs/types").DatasetCore<Quad, Quad>>[]; }; __mixins: import("@tpluscode/rdfine/lib/ResourceFactory").Mixin[]; __properties: Map<string, import("@tpluscode/rdfine/lib/decorators/property/decoratorFactory").PropertyMeta>; __initializers: Map<string, unknown>; __ns?: NamespaceBuilder; } & TBase; export declare namespace OperationFinderMixin { var shouldApply: boolean; } export {}; //# sourceMappingURL=OperationFinder.d.ts.map