UNPKG

@comunica/bus-hash-quads

Version:

A comunica bus for hashing quads.

40 lines (39 loc) 1.59 kB
import { Actor } from '@comunica/core'; import type { IAction, IActorArgs, IActorOutput, IActorTest, Mediate } from '@comunica/core'; import type { Quad } from 'rdf-data-factory'; /** * A comunica actor for hash-quads events. * * Actor types: * * Input: IActionHashQuads: Metadata for selecting a hash function. * * Test: <none> * * Output: IActorHashQuadsOutput: The resulting hash function. * * @see IActionHashQuads * @see IActorHashQuadsOutput */ export declare abstract class ActorHashQuads<TS = undefined> extends Actor<IActionHashQuads, IActorTest, IActorHashQuadsOutput, TS> { /** * @param args - * \ @defaultNested {<default_bus> a <cc:components/Bus.jsonld#Bus>} bus * \ @defaultNested {Failed to obtaining hash functions for quads} busFailMessage */ constructor(args: IActorHashQuadsArgs<TS>); } export interface IActionHashQuads extends IAction { } export interface IActorHashQuadsOutput extends IActorOutput { /** * A number-based hash factory of the given object. * It is recommended to always return 32-bit numbers to enable SMI optimization. * * Hash functions could produce collisions for non-equal quads. * * @param {RDF.Quad} quads The quads to hash. * @return {string} The object's hash. */ hashFunction: HashFunction; } export type HashFunction = (quad: Quad) => number; export type IActorHashQuadsArgs<TS = undefined> = IActorArgs<IActionHashQuads, IActorTest, IActorHashQuadsOutput, TS>; export type MediatorHashQuads = Mediate<IActionHashQuads, IActorHashQuadsOutput>;