{"version":3,"file":"createSubscribableDataset.mjs","names":[],"sources":["../src/createSubscribableDataset.ts"],"sourcesContent":["import type { Dataset, DatasetFactory, Quad } from \"@rdfjs/types\";\nimport { createDataset } from \"@ldo/dataset\";\nimport { SubscribableDatasetFactory } from \"./SubscribableDatasetFactory\";\nimport type {\n  ISubscribableDataset,\n  ISubscribableDatasetFactory,\n  ITransactionDatasetFactory,\n} from \"./types\";\nimport { TransactionDatasetFactory } from \"./TransactionDatasetFactory\";\n\nconst datasetFactory: DatasetFactory<Quad> = {\n  dataset: (quads?: Dataset<Quad> | Quad[]): Dataset<Quad> => {\n    return createDataset(quads);\n  },\n};\n\n/**\n * Creates a factory that generates TransactionDatasets\n * @returns TransactionDatasetFactory\n */\nexport function createTransactionDatasetFactory(): ITransactionDatasetFactory<Quad> {\n  return new TransactionDatasetFactory(datasetFactory);\n}\n\n/**\n * Creates a dataset factory that generates a SubscribableDataset\n * @returns DatasetFactory for SubscribableDataset\n */\nexport function createSubscribableDatasetFactory(): ISubscribableDatasetFactory<Quad> {\n  return new SubscribableDatasetFactory(\n    datasetFactory,\n    createTransactionDatasetFactory(),\n  );\n}\n\n/**\n * Creates a SubscribableDataset\n * @param quads: A dataset or array of Quads to initialize the dataset.\n * @returns Dataset\n */\nexport function createSubscribableDataset(\n  quads?: Dataset<Quad> | Quad[],\n): ISubscribableDataset<Quad> {\n  const subscribableDatasetFactory = createSubscribableDatasetFactory();\n  return subscribableDatasetFactory.dataset(quads);\n}\n"],"mappings":";;;;AAUA,MAAM,iBAAuC,EAC3C,UAAU,UAAkD;AAC1D,QAAO,cAAc,MAAM;GAE9B;;;;;AAMD,SAAgB,kCAAoE;AAClF,QAAO,IAAI,0BAA0B,eAAe;;;;;;AAOtD,SAAgB,mCAAsE;AACpF,QAAO,IAAI,2BACT,gBACA,iCAAiC,CAClC;;;;;;;AAQH,SAAgB,0BACd,OAC4B;AAE5B,QADmC,kCACF,CAAC,QAAQ,MAAM"}