UNPKG

@comunica/bus-rdf-metadata-accumulate

Version:

A comunica bus for rdf-metadata-accumulate events.

57 lines (56 loc) 2.59 kB
import type { IAction, IActorArgs, IActorOutput, IActorTest, Mediate } from '@comunica/core'; import { Actor } from '@comunica/core'; import type { MetadataBindings } from '@comunica/types'; /** * A comunica actor for rdf-metadata-accumulate events. * * Actor types: * * Input: IActionRdfMetadataAccumulate: The metadata objects to accumulate, * or a trigger for initializing a new value. * * Test: <none> * * Output: IActorRdfMetadataAccumulateOutput: The accumulated metadata object. * * @see IActionRdfMetadataAccumulate * @see IActorRdfMetadataAccumulateOutput */ export declare abstract class ActorRdfMetadataAccumulate<TS = undefined> extends Actor<IActionRdfMetadataAccumulate, IActorTest, IActorRdfMetadataAccumulateOutput, TS> { /** * @param args - * \ @defaultNested {<default_bus> a <cc:components/Bus.jsonld#Bus>} bus * \ @defaultNested {Metadata accumulation failed: none of the configured actors were able to accumulate metadata in mode ${action.mode}} busFailMessage */ constructor(args: IActorRdfMetadataAccumulateArgs<TS>); } export type IActionRdfMetadataAccumulate = IActionRdfMetadataAccumulateInitialize | IActionRdfMetadataAccumulateAppend; export interface IActionRdfMetadataAccumulateInitialize extends IAction { /** * Indicates that metadata fields should be initialized to default values. */ mode: 'initialize'; } export interface IActionRdfMetadataAccumulateAppend extends IAction { /** * Indicates that metadata fields should be accumulated. * The initialize step is guaranteed to have been called before this on the `accumulatedMetadata` object. */ mode: 'append'; /** * The metadata object that already has some accumulated fields. * This object should not be mutated. */ accumulatedMetadata: MetadataBindings; /** * The metadata object with fields to append. * This object should not be mutated. */ appendingMetadata: MetadataBindings; } export interface IActorRdfMetadataAccumulateOutput extends IActorOutput { /** * The initialized or accumulated metadata object. * This should only contain those fields that are applicable to this actor. */ metadata: Partial<MetadataBindings>; } export type IActorRdfMetadataAccumulateArgs<TS = undefined> = IActorArgs<IActionRdfMetadataAccumulate, IActorTest, IActorRdfMetadataAccumulateOutput, TS>; export type MediatorRdfMetadataAccumulate = Mediate<IActionRdfMetadataAccumulate, IActorRdfMetadataAccumulateOutput>;