@comunica/actor-query-source-identify-hypermedia
Version:
A hypermedia query-source-identify actor
53 lines • 2.95 kB
JavaScript
;
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