{"version":3,"file":"util.mjs","names":[],"sources":["../src/util.ts"],"sourcesContent":["import type { DatasetChanges } from \"@ldo/rdf-utils\";\nimport type { BaseQuad, Dataset } from \"@rdfjs/types\";\nimport type { IBulkEditableDataset } from \"./types\";\n\n/**\n * Performs a bulk update for a dataset even if it doesn't have a bulk method.\n * @param dataset - the input dataset\n * @param datasetChanges - changes to be applied\n */\nexport function updateDatasetInBulk<InAndOutQuad extends BaseQuad = BaseQuad>(\n  dataset: Dataset<InAndOutQuad>,\n  datasetChanges: DatasetChanges<InAndOutQuad>,\n) {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  if ((dataset as any).bulk) {\n    (dataset as IBulkEditableDataset<InAndOutQuad>).bulk(datasetChanges);\n  } else {\n    if (datasetChanges.added) {\n      dataset.addAll(datasetChanges.added);\n    }\n    if (datasetChanges.removed) {\n      datasetChanges.removed.forEach((curQuad) => {\n        dataset.delete(curQuad);\n      });\n    }\n  }\n}\n"],"mappings":";;;;;;AASA,SAAgB,oBACd,SACA,gBACA;AAEA,KAAK,QAAgB,KAClB,SAA+C,KAAK,eAAe;MAC/D;AACL,MAAI,eAAe,MACjB,SAAQ,OAAO,eAAe,MAAM;AAEtC,MAAI,eAAe,QACjB,gBAAe,QAAQ,SAAS,YAAY;AAC1C,WAAQ,OAAO,QAAQ;IACvB"}