{"version":3,"file":"SubscribableDatasetFactory.mjs","names":[],"sources":["../src/SubscribableDatasetFactory.ts"],"sourcesContent":["import type { DatasetFactory, BaseQuad, Dataset } from \"@rdfjs/types\";\nimport type { ITransactionDatasetFactory } from \"./types\";\nimport { SubscribableDataset } from \"./SubscribableDataset\";\n\n/**\n * A DatasetFactory that returns a SubscribableDataset given a generic DatasetFactory.\n */\nexport class SubscribableDatasetFactory<\n  InAndOutQuad extends BaseQuad = BaseQuad,\n> implements DatasetFactory<InAndOutQuad, InAndOutQuad>\n{\n  protected datasetFactory: DatasetFactory<InAndOutQuad, InAndOutQuad>;\n  protected transactionDatasetFactory: ITransactionDatasetFactory<InAndOutQuad>;\n  constructor(\n    datasetFactory: DatasetFactory<InAndOutQuad, InAndOutQuad>,\n    transactionDatasetFactory: ITransactionDatasetFactory<InAndOutQuad>,\n  ) {\n    this.datasetFactory = datasetFactory;\n    this.transactionDatasetFactory = transactionDatasetFactory;\n  }\n\n  dataset(\n    quads?: Dataset<InAndOutQuad, InAndOutQuad> | InAndOutQuad[],\n  ): SubscribableDataset<InAndOutQuad> {\n    return new SubscribableDataset(\n      this.datasetFactory,\n      this.transactionDatasetFactory,\n      quads ? this.datasetFactory.dataset(quads) : undefined,\n    );\n  }\n}\n"],"mappings":";;;;;AAOA,IAAa,6BAAb,MAGA;CAGE,YACE,gBACA,2BACA;AACA,OAAK,iBAAiB;AACtB,OAAK,4BAA4B;;CAGnC,QACE,OACmC;AACnC,SAAO,IAAI,oBACT,KAAK,gBACL,KAAK,2BACL,QAAQ,KAAK,eAAe,QAAQ,MAAM,GAAG,KAAA,EAC9C"}