UNPKG

@comunica/actor-query-source-identify-hypermedia

Version:

A hypermedia query-source-identify actor

53 lines 2.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ActorQuerySourceIdentifyHypermedia = void 0; const bus_query_source_identify_1 = require("@comunica/bus-query-source-identify"); const context_entries_1 = require("@comunica/context-entries"); const core_1 = require("@comunica/core"); const utils_bindings_factory_1 = require("@comunica/utils-bindings-factory"); const QuerySourceHypermedia_1 = require("./QuerySourceHypermedia"); /** * A comunica Hypermedia Query Source Identify Actor. */ class ActorQuerySourceIdentifyHypermedia extends bus_query_source_identify_1.ActorQuerySourceIdentify { mediatorMetadataAccumulate; mediatorQuerySourceDereferenceLink; mediatorRdfResolveHypermediaLinks; mediatorRdfResolveHypermediaLinksQueue; mediatorMergeBindingsContext; cacheSize; maxIterators; constructor(args) { super(args); this.mediatorMetadataAccumulate = args.mediatorMetadataAccumulate; this.mediatorQuerySourceDereferenceLink = args.mediatorQuerySourceDereferenceLink; this.mediatorRdfResolveHypermediaLinks = args.mediatorRdfResolveHypermediaLinks; this.mediatorRdfResolveHypermediaLinksQueue = args.mediatorRdfResolveHypermediaLinksQueue; this.mediatorMergeBindingsContext = args.mediatorMergeBindingsContext; this.cacheSize = args.cacheSize; this.maxIterators = args.maxIterators; } async test(action) { if (typeof action.querySourceUnidentified.value !== 'string') { return (0, core_1.failTest)(`${this.name} requires a single query source with a URL value to be present in the context.`); } return (0, core_1.passTestVoid)(); } async run(action) { const querySourceContext = action.querySourceUnidentified.context ?? new core_1.ActionContext(); const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory); return { querySource: { source: new QuerySourceHypermedia_1.QuerySourceHypermedia(this.cacheSize, { url: action.querySourceUnidentified.value, forceSourceType: action.querySourceUnidentified.type }, this.maxIterators, { mediatorMetadataAccumulate: this.mediatorMetadataAccumulate, mediatorQuerySourceDereferenceLink: this.mediatorQuerySourceDereferenceLink, mediatorRdfResolveHypermediaLinks: this.mediatorRdfResolveHypermediaLinks, mediatorRdfResolveHypermediaLinksQueue: this.mediatorRdfResolveHypermediaLinksQueue, }, dataFactory, await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, action.context, dataFactory)), context: querySourceContext, }, }; } } exports.ActorQuerySourceIdentifyHypermedia = ActorQuerySourceIdentifyHypermedia; //# sourceMappingURL=ActorQuerySourceIdentifyHypermedia.js.map