import type { DatasetFactory, BaseQuad, Dataset } from "@rdfjs/types"; import WrapperSubscribableDataset from "./WrapperSubscribableDataset"; /** * A DatasetFactory that returns a WrapperSubscribableDataset given a generic DatasetFactory. */ export default class WrapperSubscribableDatasetFactory< InAndOutQuad extends BaseQuad = BaseQuad, > implements DatasetFactory { private datasetFactory: DatasetFactory; constructor(datasetFactory: DatasetFactory) { this.datasetFactory = datasetFactory; } dataset( quads?: Dataset | InAndOutQuad[], ): WrapperSubscribableDataset { // Typings are wrong // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore return new WrapperSubscribableDataset( this.datasetFactory, quads ? this.datasetFactory.dataset(quads) : undefined, ); } }