parent
11bf103980
commit
8dd341bb87
@ -0,0 +1,8 @@ |
||||
import type { ConnectedLdoDataset } from "./ConnectedLdoDataset"; |
||||
import type { ConnectedPlugin } from "./ConnectedPlugin"; |
||||
|
||||
export type ConnectedContext<Plugins extends ConnectedPlugin[]> = { |
||||
dataset: ConnectedLdoDataset<Plugins>; |
||||
} & { |
||||
[P in Plugins[number] as P["name"]]: P["types"]["context"]; |
||||
}; |
@ -0,0 +1,5 @@ |
||||
import type { GraphNode, DatasetChanges } from "@ldo/rdf-utils"; |
||||
import type { Quad } from "@rdfjs/types"; |
||||
export declare function graphNodeToString(graphNode: GraphNode): string; |
||||
export declare function stringToGraphNode(input: string): GraphNode; |
||||
export declare function splitChangesByGraph(changes: DatasetChanges<Quad>): Map<GraphNode, DatasetChanges<Quad>>; |
@ -0,0 +1,45 @@ |
||||
"use strict"; |
||||
Object.defineProperty(exports, "__esModule", { value: true }); |
||||
exports.splitChangesByGraph = exports.stringToGraphNode = exports.graphNodeToString = void 0; |
||||
const dataset_1 = require("@ldo/dataset"); |
||||
const data_model_1 = require("@rdfjs/data-model"); |
||||
function graphNodeToString(graphNode) { |
||||
return graphNode.termType === "DefaultGraph" |
||||
? "defaultGraph()" |
||||
: graphNode.value; |
||||
} |
||||
exports.graphNodeToString = graphNodeToString; |
||||
function stringToGraphNode(input) { |
||||
return input === "defaultGraph()" ? (0, data_model_1.defaultGraph)() : (0, data_model_1.namedNode)(input); |
||||
} |
||||
exports.stringToGraphNode = stringToGraphNode; |
||||
function splitChangesByGraph(changes) { |
||||
const changesMap = {}; |
||||
changes.added?.forEach((quad) => { |
||||
const graphHash = graphNodeToString(quad.graph); |
||||
if (!changesMap[graphHash]) { |
||||
changesMap[graphHash] = {}; |
||||
} |
||||
if (!changesMap[graphHash].added) { |
||||
changesMap[graphHash].added = (0, dataset_1.createDataset)(); |
||||
} |
||||
changesMap[graphHash].added?.add((0, data_model_1.quad)(quad.subject, quad.predicate, quad.object, quad.graph)); |
||||
}); |
||||
changes.removed?.forEach((quad) => { |
||||
const graphHash = graphNodeToString(quad.graph); |
||||
if (!changesMap[graphHash]) { |
||||
changesMap[graphHash] = {}; |
||||
} |
||||
if (!changesMap[graphHash].removed) { |
||||
changesMap[graphHash].removed = (0, dataset_1.createDataset)(); |
||||
} |
||||
changesMap[graphHash].removed?.add((0, data_model_1.quad)(quad.subject, quad.predicate, quad.object, quad.graph)); |
||||
}); |
||||
const finalMap = new Map(); |
||||
Object.entries(changesMap).forEach(([key, value]) => { |
||||
finalMap.set(stringToGraphNode(key), value); |
||||
}); |
||||
return finalMap; |
||||
} |
||||
exports.splitChangesByGraph = splitChangesByGraph; |
||||
//# sourceMappingURL=splitChangesByGraph.js.map
|
@ -0,0 +1 @@ |
||||
{"version":3,"file":"splitChangesByGraph.js","sourceRoot":"","sources":["splitChangesByGraph.ts"],"names":[],"mappings":";;;AAAA,0CAA6C;AAG7C,kDAAgF;AAQhF,SAAgB,iBAAiB,CAAC,SAAoB;IACpD,OAAO,SAAS,CAAC,QAAQ,KAAK,cAAc;QAC1C,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;AACtB,CAAC;AAJD,8CAIC;AAQD,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,OAAO,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAA,yBAAY,GAAE,CAAC,CAAC,CAAC,IAAA,sBAAS,EAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAFD,8CAEC;AASD,SAAgB,mBAAmB,CACjC,OAA6B;IAE7B,MAAM,UAAU,GAAyC,EAAE,CAAC;IAC5D,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAkB,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC1B,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;SAC5B;QACD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE;YAChC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,IAAA,uBAAa,GAAE,CAAC;SAC/C;QACD,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,GAAG,CAC9B,IAAA,iBAAU,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAClE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAkB,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC1B,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;SAC5B;QACD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;YAClC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,IAAA,uBAAa,GAAE,CAAC;SACjD;QACD,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,CAChC,IAAA,iBAAU,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAClE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC5D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClD,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAnCD,kDAmCC"} |
@ -1,7 +1,8 @@ |
||||
{ |
||||
"extends": "../../tsconfig.base.json", |
||||
"compilerOptions": { |
||||
"outDir": "./dist", |
||||
"outDir": "./dist" |
||||
}, |
||||
"include": ["./src"] |
||||
"include": ["./src"], |
||||
"exclude": ["./dist", "./coverage"] |
||||
} |
Loading…
Reference in new issue