@traqula/generator-sparql-1-2 0.0.10 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.cjs +136 -47
- package/lib/index.d.ts +17 -17
- package/package.json +8 -8
package/lib/index.cjs
CHANGED
|
@@ -9674,58 +9674,115 @@ function createToken2(config) {
|
|
|
9674
9674
|
return createToken(config);
|
|
9675
9675
|
}
|
|
9676
9676
|
|
|
9677
|
-
// ../../packages/core/lib/
|
|
9678
|
-
var
|
|
9679
|
-
|
|
9680
|
-
|
|
9681
|
-
|
|
9682
|
-
|
|
9683
|
-
|
|
9684
|
-
|
|
9685
|
-
return patch(copy3);
|
|
9677
|
+
// ../../packages/core/lib/Transformers.ts
|
|
9678
|
+
var TransformerType = class {
|
|
9679
|
+
safeObjectVisit(value, mapper) {
|
|
9680
|
+
if (value && typeof value === "object") {
|
|
9681
|
+
if (Array.isArray(value)) {
|
|
9682
|
+
return value.map((x) => this.safeObjectVisit(x, mapper));
|
|
9683
|
+
}
|
|
9684
|
+
return mapper(value);
|
|
9686
9685
|
}
|
|
9687
|
-
return
|
|
9686
|
+
return value;
|
|
9688
9687
|
}
|
|
9689
|
-
|
|
9688
|
+
transformNode(curObject, nodeCallBacks) {
|
|
9689
|
+
let continueCheck;
|
|
9690
|
+
let transformation;
|
|
9691
|
+
const casted = curObject;
|
|
9692
|
+
if (casted.type) {
|
|
9693
|
+
continueCheck = nodeCallBacks[casted.type]?.continue;
|
|
9694
|
+
transformation = nodeCallBacks[casted.type]?.transform;
|
|
9695
|
+
}
|
|
9696
|
+
let shouldContinue = true;
|
|
9697
|
+
if (continueCheck) {
|
|
9698
|
+
shouldContinue = continueCheck(curObject);
|
|
9699
|
+
}
|
|
9700
|
+
if (!shouldContinue) {
|
|
9701
|
+
return curObject;
|
|
9702
|
+
}
|
|
9690
9703
|
const copy3 = { ...curObject };
|
|
9691
9704
|
for (const [key, value] of Object.entries(copy3)) {
|
|
9692
|
-
copy3[key] = this.safeObjectVisit(value, (obj) => this.
|
|
9705
|
+
copy3[key] = this.safeObjectVisit(value, (obj) => this.transformNode(obj, nodeCallBacks));
|
|
9693
9706
|
}
|
|
9694
|
-
if (
|
|
9695
|
-
return
|
|
9707
|
+
if (transformation) {
|
|
9708
|
+
return transformation(copy3);
|
|
9696
9709
|
}
|
|
9697
9710
|
return copy3;
|
|
9698
9711
|
}
|
|
9699
|
-
|
|
9700
|
-
|
|
9701
|
-
|
|
9712
|
+
visitNode(curObject, nodeCallBacks) {
|
|
9713
|
+
let callback;
|
|
9714
|
+
const casted = curObject;
|
|
9715
|
+
if (casted.type) {
|
|
9716
|
+
callback = nodeCallBacks[casted.type];
|
|
9702
9717
|
}
|
|
9703
|
-
|
|
9704
|
-
|
|
9705
|
-
|
|
9706
|
-
this.safeObjectVisit(value, (obj) => this.visitNode(obj, searchType, visitor));
|
|
9718
|
+
let shouldIterate = true;
|
|
9719
|
+
if (callback) {
|
|
9720
|
+
shouldIterate = callback(curObject);
|
|
9707
9721
|
}
|
|
9708
|
-
if (
|
|
9709
|
-
|
|
9722
|
+
if (shouldIterate) {
|
|
9723
|
+
for (const value of Object.values(curObject)) {
|
|
9724
|
+
this.safeObjectVisit(value, (obj) => this.visitNode(obj, nodeCallBacks));
|
|
9725
|
+
}
|
|
9710
9726
|
}
|
|
9711
9727
|
}
|
|
9712
|
-
|
|
9713
|
-
|
|
9714
|
-
|
|
9728
|
+
};
|
|
9729
|
+
var TransformerSubType = class extends TransformerType {
|
|
9730
|
+
// Public visitObjects(curObject: object, visitor: (current: object) => void): void {
|
|
9731
|
+
// for (const value of Object.values(curObject)) {
|
|
9732
|
+
// this.safeObjectVisit(value, obj => this.visitObjects(obj, visitor));
|
|
9733
|
+
// }
|
|
9734
|
+
// }
|
|
9735
|
+
transformNodeSpecific(curObject, nodeCallBacks, nodeSpecificCallBacks = {}) {
|
|
9736
|
+
let continueCheck;
|
|
9737
|
+
let transformation;
|
|
9738
|
+
const casted = curObject;
|
|
9739
|
+
if (casted.type && casted.subType) {
|
|
9740
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9741
|
+
if (specific) {
|
|
9742
|
+
continueCheck = specific[casted.subType]?.continue;
|
|
9743
|
+
transformation = specific[casted.subType]?.transform;
|
|
9744
|
+
}
|
|
9745
|
+
}
|
|
9746
|
+
let shouldContinue = true;
|
|
9747
|
+
if (continueCheck) {
|
|
9748
|
+
shouldContinue = continueCheck(curObject);
|
|
9749
|
+
}
|
|
9750
|
+
if (!shouldContinue) {
|
|
9751
|
+
return curObject;
|
|
9752
|
+
}
|
|
9753
|
+
const copy3 = { ...curObject };
|
|
9754
|
+
for (const [key, value] of Object.entries(copy3)) {
|
|
9755
|
+
copy3[key] = this.safeObjectVisit(value, (obj) => this.transformNodeSpecific(obj, nodeCallBacks, nodeSpecificCallBacks));
|
|
9715
9756
|
}
|
|
9716
|
-
|
|
9717
|
-
|
|
9718
|
-
visitor(curObject);
|
|
9757
|
+
if (transformation) {
|
|
9758
|
+
return transformation(copy3);
|
|
9719
9759
|
}
|
|
9760
|
+
return copy3;
|
|
9720
9761
|
}
|
|
9721
|
-
|
|
9722
|
-
|
|
9723
|
-
|
|
9724
|
-
|
|
9762
|
+
/**
|
|
9763
|
+
* When both nodeCallBack and NodeSpecific callBack are matched, will only look at nodeSpecifCallback
|
|
9764
|
+
*/
|
|
9765
|
+
visitNodeSpecific(curObject, nodeCallBacks, nodeSpecificCallBacks = {}) {
|
|
9766
|
+
let callback;
|
|
9767
|
+
const casted = curObject;
|
|
9768
|
+
if (casted.type && casted.subType) {
|
|
9769
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9770
|
+
if (specific) {
|
|
9771
|
+
callback = specific[casted.subType];
|
|
9772
|
+
}
|
|
9773
|
+
}
|
|
9774
|
+
if (!callback && casted.type) {
|
|
9775
|
+
callback = nodeCallBacks[curObject.type];
|
|
9776
|
+
}
|
|
9777
|
+
let shouldIterate = true;
|
|
9778
|
+
if (callback) {
|
|
9779
|
+
shouldIterate = callback(curObject) ?? true;
|
|
9780
|
+
}
|
|
9781
|
+
if (shouldIterate) {
|
|
9782
|
+
for (const value of Object.values(curObject)) {
|
|
9783
|
+
this.safeObjectVisit(value, (obj) => this.visitNodeSpecific(obj, nodeCallBacks, nodeSpecificCallBacks));
|
|
9725
9784
|
}
|
|
9726
|
-
return mapper(value);
|
|
9727
9785
|
}
|
|
9728
|
-
return value;
|
|
9729
9786
|
}
|
|
9730
9787
|
};
|
|
9731
9788
|
|
|
@@ -11375,9 +11432,13 @@ var Factory = class extends asArg(CoreFactory).call(ContextFactoryMixin).call(Ex
|
|
|
11375
11432
|
}
|
|
11376
11433
|
};
|
|
11377
11434
|
|
|
11435
|
+
// ../../packages/rules-sparql-1-1/lib/utils.ts
|
|
11436
|
+
var TransformerSparql11 = class extends TransformerSubType {
|
|
11437
|
+
};
|
|
11438
|
+
|
|
11378
11439
|
// ../../packages/rules-sparql-1-1/lib/validation/validators.ts
|
|
11379
11440
|
var F = new Factory();
|
|
11380
|
-
var transformer = new
|
|
11441
|
+
var transformer = new TransformerSparql11();
|
|
11381
11442
|
function getAggregatesOfExpression(expression2) {
|
|
11382
11443
|
if (F.isExpressionAggregate(expression2)) {
|
|
11383
11444
|
return [expression2];
|
|
@@ -11526,7 +11587,9 @@ function checkNote13(patterns) {
|
|
|
11526
11587
|
if (F.isPatternBind(pattern) && index > 0 && F.isPatternBgp(patterns[index - 1])) {
|
|
11527
11588
|
const bgp = patterns[index - 1];
|
|
11528
11589
|
const variables = [];
|
|
11529
|
-
transformer.visitNodeSpecific(bgp,
|
|
11590
|
+
transformer.visitNodeSpecific(bgp, {}, { term: { variable: (var_2) => {
|
|
11591
|
+
variables.push(var_2);
|
|
11592
|
+
} } });
|
|
11530
11593
|
if (variables.some((var_2) => var_2.value === pattern.variable.value)) {
|
|
11531
11594
|
throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);
|
|
11532
11595
|
}
|
|
@@ -11552,12 +11615,12 @@ function updateNoReuseBlankNodeLabels(updateQuery) {
|
|
|
11552
11615
|
const operation = update2.operation;
|
|
11553
11616
|
if (operation.subType === "insertdata") {
|
|
11554
11617
|
const blankNodesHere = /* @__PURE__ */ new Set();
|
|
11555
|
-
transformer.visitNodeSpecific(operation,
|
|
11618
|
+
transformer.visitNodeSpecific(operation, {}, { term: { blankNode: (blankNode2) => {
|
|
11556
11619
|
blankNodesHere.add(blankNode2.label);
|
|
11557
11620
|
if (blankLabelsUsedInInsertData.has(blankNode2.label)) {
|
|
11558
11621
|
throw new Error("Detected reuse blank node across different INSERT DATA clauses");
|
|
11559
11622
|
}
|
|
11560
|
-
});
|
|
11623
|
+
} } });
|
|
11561
11624
|
for (const blankNode2 of blankNodesHere) {
|
|
11562
11625
|
blankLabelsUsedInInsertData.add(blankNode2);
|
|
11563
11626
|
}
|
|
@@ -13547,13 +13610,11 @@ var unaryExpression = {
|
|
|
13547
13610
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13548
13611
|
]);
|
|
13549
13612
|
const expr = SUBRULE2(primaryExpression);
|
|
13550
|
-
return ACTION(() => (
|
|
13551
|
-
|
|
13552
|
-
|
|
13553
|
-
|
|
13554
|
-
|
|
13555
|
-
loc: C.factory.sourceLocation(operator, expr)
|
|
13556
|
-
}));
|
|
13613
|
+
return ACTION(() => C.factory.expressionOperation(
|
|
13614
|
+
operator.image === "!" ? "!" : operator.image === "+" ? "UPLUS" : "UMINUS",
|
|
13615
|
+
[expr],
|
|
13616
|
+
C.factory.sourceLocation(operator, expr)
|
|
13617
|
+
));
|
|
13557
13618
|
} }
|
|
13558
13619
|
])
|
|
13559
13620
|
};
|
|
@@ -14796,6 +14857,7 @@ __export(grammar_exports2, {
|
|
|
14796
14857
|
tripleTermSubject: () => tripleTermSubject,
|
|
14797
14858
|
triplesSameSubject: () => triplesSameSubject2,
|
|
14798
14859
|
triplesSameSubjectPath: () => triplesSameSubjectPath2,
|
|
14860
|
+
unaryExpression: () => unaryExpression2,
|
|
14799
14861
|
varOrReifierId: () => varOrReifierId,
|
|
14800
14862
|
varOrTerm: () => varOrTerm2,
|
|
14801
14863
|
versionDecl: () => versionDecl,
|
|
@@ -14856,7 +14918,7 @@ var sparql12LexerBuilder = LexerBuilder.create(lexer_exports.sparql11LexerBuilde
|
|
|
14856
14918
|
buildInOBJECT
|
|
14857
14919
|
).addBefore(lexer_exports.terminals.langTag, LANG_DIR).delete(lexer_exports.terminals.langTag);
|
|
14858
14920
|
|
|
14859
|
-
// ../../packages/rules-sparql-1-2/lib/
|
|
14921
|
+
// ../../packages/rules-sparql-1-2/lib/validators.ts
|
|
14860
14922
|
var F2 = new Factory();
|
|
14861
14923
|
function isLangDir(dir) {
|
|
14862
14924
|
return dir === "ltr" || dir === "rtl";
|
|
@@ -15331,6 +15393,33 @@ var rdfLiteral2 = {
|
|
|
15331
15393
|
])) ?? value;
|
|
15332
15394
|
}
|
|
15333
15395
|
};
|
|
15396
|
+
var unaryExpression2 = {
|
|
15397
|
+
name: "unaryExpression",
|
|
15398
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
|
|
15399
|
+
{ ALT: () => SUBRULE1(primaryExpression2) },
|
|
15400
|
+
{ ALT: () => {
|
|
15401
|
+
const operator = CONSUME(lexer_exports.symbols.exclamation);
|
|
15402
|
+
const expr = SUBRULE1(unaryExpression2);
|
|
15403
|
+
return ACTION(() => C.factory.expressionOperation(
|
|
15404
|
+
"!",
|
|
15405
|
+
[expr],
|
|
15406
|
+
C.factory.sourceLocation(operator, expr)
|
|
15407
|
+
));
|
|
15408
|
+
} },
|
|
15409
|
+
{ ALT: () => {
|
|
15410
|
+
const operator = OR2([
|
|
15411
|
+
{ ALT: () => CONSUME(lexer_exports.symbols.opPlus) },
|
|
15412
|
+
{ ALT: () => CONSUME(lexer_exports.symbols.opMinus) }
|
|
15413
|
+
]);
|
|
15414
|
+
const expr = SUBRULE2(primaryExpression2);
|
|
15415
|
+
return ACTION(() => C.factory.expressionOperation(
|
|
15416
|
+
operator.image === "!" ? "!" : operator.image === "+" ? "UPLUS" : "UMINUS",
|
|
15417
|
+
[expr],
|
|
15418
|
+
C.factory.sourceLocation(operator, expr)
|
|
15419
|
+
));
|
|
15420
|
+
} }
|
|
15421
|
+
])
|
|
15422
|
+
};
|
|
15334
15423
|
var generateTriplesBlock = {
|
|
15335
15424
|
name: "triplesBlock",
|
|
15336
15425
|
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F3 }) => {
|
package/lib/index.d.ts
CHANGED
|
@@ -4,24 +4,8 @@ import { Factory } from '@traqula/rules-sparql-1-2';
|
|
|
4
4
|
import type * as T12 from '@traqula/rules-sparql-1-2';
|
|
5
5
|
declare const sparql12GeneratorBuilder: GeneratorBuilder<{
|
|
6
6
|
factory: Factory;
|
|
7
|
-
}, "
|
|
8
|
-
expression: never;
|
|
9
|
-
aggregate: never;
|
|
10
|
-
graphRef: never;
|
|
11
|
-
path: never;
|
|
12
|
-
filter: never;
|
|
13
|
-
bind: never;
|
|
7
|
+
}, "query" | "update" | "prologue" | "selectQuery" | "constructQuery" | "describeQuery" | "askQuery" | "baseDecl" | "prefixDecl" | "selectClause" | "whereClause" | "solutionModifier" | "expression" | "iriOrFunction" | "rdfLiteral" | "var" | "aggregate" | "iri" | "prefixedName" | "argList" | "groupGraphPattern" | "triplesBlock" | "triplesNodePath" | "blankNode" | "path" | "varOrTerm" | "iriFull" | "graphTerm" | "graphNodePath" | "collectionPath" | "blankNodePropertyListPath" | "graphPatternNotTriples" | "filter" | "bind" | "groupOrUnionGraphPattern" | "optionalGraphPattern" | "minusGraphPattern" | "graphGraphPattern" | "serviceGraphPattern" | "inlineData" | "groupClause" | "havingClause" | "orderClause" | "limitOffsetClauses" | "datasetClauses" | "load" | "clear" | "drop" | "add" | "move" | "copy" | "create" | "insertData" | "deleteData" | "deleteWhere" | "graphRef" | "graphRefAll" | "quads" | "update1" | "quadsNotTriples" | "modify" | "usingClauses" | "queryOrUpdate" | "reifiedTriple" | "annotationPath" | "annotationBlockPath" | "tripleTerm" | "versionDecl" | "generatePattern", {
|
|
14
8
|
query: never;
|
|
15
|
-
solutionModifier: never;
|
|
16
|
-
blankNode: never;
|
|
17
|
-
load: never;
|
|
18
|
-
clear: never;
|
|
19
|
-
drop: never;
|
|
20
|
-
create: never;
|
|
21
|
-
add: never;
|
|
22
|
-
move: never;
|
|
23
|
-
copy: never;
|
|
24
|
-
modify: never;
|
|
25
9
|
update: never;
|
|
26
10
|
prologue: import("@traqula/core").GeneratorRule<{
|
|
27
11
|
factory: Factory;
|
|
@@ -34,9 +18,12 @@ declare const sparql12GeneratorBuilder: GeneratorBuilder<{
|
|
|
34
18
|
prefixDecl: never;
|
|
35
19
|
selectClause: never;
|
|
36
20
|
whereClause: never;
|
|
21
|
+
solutionModifier: never;
|
|
22
|
+
expression: never;
|
|
37
23
|
iriOrFunction: never;
|
|
38
24
|
rdfLiteral: never;
|
|
39
25
|
var: never;
|
|
26
|
+
aggregate: never;
|
|
40
27
|
iri: never;
|
|
41
28
|
prefixedName: never;
|
|
42
29
|
argList: never;
|
|
@@ -45,6 +32,8 @@ declare const sparql12GeneratorBuilder: GeneratorBuilder<{
|
|
|
45
32
|
factory: Factory;
|
|
46
33
|
}, "triplesBlock", T12.PatternBgp, []>;
|
|
47
34
|
triplesNodePath: never;
|
|
35
|
+
blankNode: never;
|
|
36
|
+
path: never;
|
|
48
37
|
varOrTerm: never;
|
|
49
38
|
iriFull: never;
|
|
50
39
|
graphTerm: import("@traqula/core").GeneratorRule<{
|
|
@@ -56,6 +45,8 @@ declare const sparql12GeneratorBuilder: GeneratorBuilder<{
|
|
|
56
45
|
collectionPath: never;
|
|
57
46
|
blankNodePropertyListPath: never;
|
|
58
47
|
graphPatternNotTriples: never;
|
|
48
|
+
filter: never;
|
|
49
|
+
bind: never;
|
|
59
50
|
groupOrUnionGraphPattern: never;
|
|
60
51
|
optionalGraphPattern: never;
|
|
61
52
|
minusGraphPattern: never;
|
|
@@ -67,13 +58,22 @@ declare const sparql12GeneratorBuilder: GeneratorBuilder<{
|
|
|
67
58
|
orderClause: never;
|
|
68
59
|
limitOffsetClauses: never;
|
|
69
60
|
datasetClauses: never;
|
|
61
|
+
load: never;
|
|
62
|
+
clear: never;
|
|
63
|
+
drop: never;
|
|
64
|
+
add: never;
|
|
65
|
+
move: never;
|
|
66
|
+
copy: never;
|
|
67
|
+
create: never;
|
|
70
68
|
insertData: never;
|
|
71
69
|
deleteData: never;
|
|
72
70
|
deleteWhere: never;
|
|
71
|
+
graphRef: never;
|
|
73
72
|
graphRefAll: never;
|
|
74
73
|
quads: never;
|
|
75
74
|
update1: never;
|
|
76
75
|
quadsNotTriples: never;
|
|
76
|
+
modify: never;
|
|
77
77
|
usingClauses: never;
|
|
78
78
|
queryOrUpdate: never;
|
|
79
79
|
reifiedTriple: import("@traqula/core").GeneratorRule<{
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@traqula/generator-sparql-1-2",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.13",
|
|
5
5
|
"description": "SPARQL 1.2 generator",
|
|
6
6
|
"lsd:module": true,
|
|
7
7
|
"license": "MIT",
|
|
@@ -41,14 +41,14 @@
|
|
|
41
41
|
"build:transpile": " node \"../../node_modules/esbuild/bin/esbuild\" --format=cjs --bundle --log-level=error --outfile=lib/index.cjs lib/index.ts"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@traqula/core": "^0.0.
|
|
45
|
-
"@traqula/generator-sparql-1-1": "^0.0.
|
|
46
|
-
"@traqula/rules-sparql-1-1": "^0.0.
|
|
47
|
-
"@traqula/rules-sparql-1-2": "^0.0.
|
|
44
|
+
"@traqula/core": "^0.0.13",
|
|
45
|
+
"@traqula/generator-sparql-1-1": "^0.0.13",
|
|
46
|
+
"@traqula/rules-sparql-1-1": "^0.0.13",
|
|
47
|
+
"@traqula/rules-sparql-1-2": "^0.0.13"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@traqula/parser-sparql-1-2": "^0.0.
|
|
51
|
-
"@traqula/test-utils": "^0.0.
|
|
50
|
+
"@traqula/parser-sparql-1-2": "^0.0.13",
|
|
51
|
+
"@traqula/test-utils": "^0.0.13"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "324ed65dcfacb6cfa31007e0d5ee43f2599b7284"
|
|
54
54
|
}
|