@traqula/rules-sparql-1-2 0.0.16 → 0.0.18
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/grammar.d.ts +2 -2
- package/lib/index.cjs +323 -195
- package/lib/lexer.d.ts +1 -1
- package/lib/parserUtils.d.ts +4 -0
- package/lib/parserUtils.js +3 -1
- package/lib/parserUtils.js.map +1 -1
- package/package.json +4 -4
package/lib/grammar.d.ts
CHANGED
|
@@ -57,12 +57,12 @@ export declare const triplesSameSubjectPath: SparqlGrammarRule<"triplesSameSubje
|
|
|
57
57
|
* OVERRIDING RULE: {@link S11.object}.
|
|
58
58
|
* [[86]](https://www.w3.org/TR/sparql12-query/#rObject) Used by ObjectList
|
|
59
59
|
*/
|
|
60
|
-
export declare const object: SparqlGrammarRule<"object", TripleNesting, [GraphNode, T11.TermIriFull | T11.TermIriPrefixed | T11.
|
|
60
|
+
export declare const object: SparqlGrammarRule<"object", TripleNesting, [GraphNode, T11.TermIriFull | T11.TermIriPrefixed | T11.PropertyPathChain | T11.PathModified | T11.PathNegated | T11.TermVariable]>;
|
|
61
61
|
/**
|
|
62
62
|
* OVERRIDING RULE: {@link S11.objectPath}.
|
|
63
63
|
* [[87]](https://www.w3.org/TR/sparql12-query/#rTriplesSameSubjectPath) Used by ObjectListPath
|
|
64
64
|
*/
|
|
65
|
-
export declare const objectPath: SparqlGrammarRule<"objectPath", TripleNesting, [GraphNode, T11.TermIriFull | T11.TermIriPrefixed | T11.
|
|
65
|
+
export declare const objectPath: SparqlGrammarRule<"objectPath", TripleNesting, [GraphNode, T11.TermIriFull | T11.TermIriPrefixed | T11.PropertyPathChain | T11.PathModified | T11.PathNegated | T11.TermVariable]>;
|
|
66
66
|
/**
|
|
67
67
|
* [[109]](https://www.w3.org/TR/sparql12-query/#rAnnotationPath)
|
|
68
68
|
*/
|
package/lib/index.cjs
CHANGED
|
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
AstFactory: () => AstFactory2,
|
|
24
|
+
AstTransformer: () => AstTransformer2,
|
|
24
25
|
completeParseContext: () => completeParseContext,
|
|
25
26
|
findPatternBoundedVars: () => findPatternBoundedVars2,
|
|
26
27
|
gram: () => grammar_exports2,
|
|
@@ -9526,6 +9527,11 @@ var LexerBuilder = class _LexerBuilder {
|
|
|
9526
9527
|
|
|
9527
9528
|
// ../core/lib/Transformers.js
|
|
9528
9529
|
var TransformerType = class {
|
|
9530
|
+
clone(obj) {
|
|
9531
|
+
const newObj = Object.create(Object.getPrototypeOf(obj));
|
|
9532
|
+
Object.defineProperties(newObj, Object.getOwnPropertyDescriptors(obj));
|
|
9533
|
+
return newObj;
|
|
9534
|
+
}
|
|
9529
9535
|
safeObjectVisit(value, mapper) {
|
|
9530
9536
|
if (value && typeof value === "object") {
|
|
9531
9537
|
if (Array.isArray(value)) {
|
|
@@ -9535,104 +9541,213 @@ var TransformerType = class {
|
|
|
9535
9541
|
}
|
|
9536
9542
|
return value;
|
|
9537
9543
|
}
|
|
9538
|
-
|
|
9539
|
-
|
|
9540
|
-
|
|
9541
|
-
|
|
9542
|
-
|
|
9543
|
-
|
|
9544
|
-
|
|
9545
|
-
|
|
9546
|
-
|
|
9547
|
-
|
|
9548
|
-
|
|
9549
|
-
|
|
9550
|
-
|
|
9551
|
-
|
|
9552
|
-
|
|
9553
|
-
|
|
9554
|
-
|
|
9555
|
-
|
|
9556
|
-
|
|
9557
|
-
|
|
9558
|
-
|
|
9559
|
-
|
|
9560
|
-
|
|
9544
|
+
/**
|
|
9545
|
+
* Recursively transforms all objects that are not arrays. Mapper is called on deeper objects first.
|
|
9546
|
+
* @param startObject object to start iterating from
|
|
9547
|
+
* @param mapper mapper to transform the various objects - argument is a copy of the original
|
|
9548
|
+
* @param preVisitor callback that is evaluated before iterating deeper.
|
|
9549
|
+
* If continues is false, we do not iterate deeper, current object is still mapped. - default: true
|
|
9550
|
+
* If shortcut is true, we do not iterate deeper, nor do we branch out, this mapper will be the last one called.
|
|
9551
|
+
* - Default false
|
|
9552
|
+
*/
|
|
9553
|
+
transformObject(startObject, mapper, preVisitor = () => ({})) {
|
|
9554
|
+
let didShortCut = false;
|
|
9555
|
+
const recurse = (curObject) => {
|
|
9556
|
+
const copy3 = this.clone(curObject);
|
|
9557
|
+
const context = preVisitor(copy3);
|
|
9558
|
+
didShortCut = context.shortcut ?? false;
|
|
9559
|
+
const continues = context.continue ?? true;
|
|
9560
|
+
if (continues && !didShortCut) {
|
|
9561
|
+
for (const [key, value] of Object.entries(copy3)) {
|
|
9562
|
+
if (didShortCut) {
|
|
9563
|
+
return copy3;
|
|
9564
|
+
}
|
|
9565
|
+
copy3[key] = this.safeObjectVisit(value, (obj) => recurse(obj));
|
|
9566
|
+
}
|
|
9567
|
+
}
|
|
9568
|
+
return mapper(copy3);
|
|
9569
|
+
};
|
|
9570
|
+
return recurse(startObject);
|
|
9561
9571
|
}
|
|
9562
|
-
|
|
9563
|
-
|
|
9564
|
-
|
|
9565
|
-
|
|
9566
|
-
|
|
9567
|
-
|
|
9568
|
-
|
|
9569
|
-
|
|
9570
|
-
|
|
9571
|
-
|
|
9572
|
-
|
|
9573
|
-
|
|
9574
|
-
|
|
9572
|
+
/**
|
|
9573
|
+
* Visitor that visits all objects. Visits deeper objects first.
|
|
9574
|
+
*/
|
|
9575
|
+
visitObject(startObject, visitor, preVisitor = () => ({})) {
|
|
9576
|
+
let didShortCut = false;
|
|
9577
|
+
const recurse = (curObject) => {
|
|
9578
|
+
const context = preVisitor(curObject);
|
|
9579
|
+
didShortCut = context.shortcut ?? false;
|
|
9580
|
+
const continues = context.continue ?? true;
|
|
9581
|
+
if (continues && !didShortCut) {
|
|
9582
|
+
for (const value of Object.values(curObject)) {
|
|
9583
|
+
if (didShortCut) {
|
|
9584
|
+
return;
|
|
9585
|
+
}
|
|
9586
|
+
this.safeObjectVisit(value, (obj) => recurse(obj));
|
|
9587
|
+
}
|
|
9575
9588
|
}
|
|
9576
|
-
|
|
9589
|
+
visitor(curObject);
|
|
9590
|
+
};
|
|
9591
|
+
recurse(startObject);
|
|
9592
|
+
}
|
|
9593
|
+
transformNode(startObject, nodeCallBacks) {
|
|
9594
|
+
const transformWrapper = (curObject) => {
|
|
9595
|
+
const casted = curObject;
|
|
9596
|
+
if (casted.type) {
|
|
9597
|
+
const ogFunc = nodeCallBacks[casted.type]?.transform;
|
|
9598
|
+
if (ogFunc) {
|
|
9599
|
+
return ogFunc(casted);
|
|
9600
|
+
}
|
|
9601
|
+
}
|
|
9602
|
+
return curObject;
|
|
9603
|
+
};
|
|
9604
|
+
const preTransformWrapper = (curObject) => {
|
|
9605
|
+
const casted = curObject;
|
|
9606
|
+
if (casted.type) {
|
|
9607
|
+
const ogFunc = nodeCallBacks[casted.type]?.preVisitor;
|
|
9608
|
+
if (ogFunc) {
|
|
9609
|
+
return ogFunc(casted);
|
|
9610
|
+
}
|
|
9611
|
+
}
|
|
9612
|
+
return {};
|
|
9613
|
+
};
|
|
9614
|
+
return this.transformObject(startObject, transformWrapper, preTransformWrapper);
|
|
9615
|
+
}
|
|
9616
|
+
visitNode(startObject, nodeCallBacks) {
|
|
9617
|
+
const visitWrapper = (curObject) => {
|
|
9618
|
+
const casted = curObject;
|
|
9619
|
+
if (casted.type) {
|
|
9620
|
+
const ogFunc = nodeCallBacks[casted.type]?.visitor;
|
|
9621
|
+
if (ogFunc) {
|
|
9622
|
+
ogFunc(casted);
|
|
9623
|
+
}
|
|
9624
|
+
}
|
|
9625
|
+
};
|
|
9626
|
+
const preVisitWrapper = (curObject) => {
|
|
9627
|
+
const casted = curObject;
|
|
9628
|
+
if (casted.type) {
|
|
9629
|
+
const ogFunc = nodeCallBacks[casted.type]?.preVisitor;
|
|
9630
|
+
if (ogFunc) {
|
|
9631
|
+
return ogFunc(casted);
|
|
9632
|
+
}
|
|
9633
|
+
}
|
|
9634
|
+
return {};
|
|
9635
|
+
};
|
|
9636
|
+
this.visitObject(startObject, visitWrapper, preVisitWrapper);
|
|
9637
|
+
}
|
|
9638
|
+
traverseNodes(currentNode, traverse) {
|
|
9639
|
+
let didShortCut = false;
|
|
9640
|
+
const recurse = (curNode) => {
|
|
9641
|
+
const traverser = traverse[curNode.type];
|
|
9642
|
+
if (traverser) {
|
|
9643
|
+
const { next, shortcut } = traverser(curNode);
|
|
9644
|
+
didShortCut = shortcut ?? false;
|
|
9645
|
+
if (!didShortCut) {
|
|
9646
|
+
for (const node of next ?? []) {
|
|
9647
|
+
if (didShortCut) {
|
|
9648
|
+
return;
|
|
9649
|
+
}
|
|
9650
|
+
recurse(node);
|
|
9651
|
+
}
|
|
9652
|
+
}
|
|
9653
|
+
}
|
|
9654
|
+
};
|
|
9655
|
+
recurse(currentNode);
|
|
9577
9656
|
}
|
|
9578
9657
|
};
|
|
9579
9658
|
var TransformerSubType = class extends TransformerType {
|
|
9580
|
-
|
|
9581
|
-
|
|
9582
|
-
|
|
9583
|
-
|
|
9584
|
-
|
|
9585
|
-
|
|
9586
|
-
|
|
9587
|
-
|
|
9588
|
-
|
|
9589
|
-
|
|
9590
|
-
|
|
9591
|
-
|
|
9592
|
-
|
|
9593
|
-
|
|
9594
|
-
|
|
9595
|
-
|
|
9596
|
-
|
|
9597
|
-
|
|
9598
|
-
|
|
9599
|
-
|
|
9600
|
-
|
|
9601
|
-
|
|
9602
|
-
|
|
9603
|
-
|
|
9604
|
-
|
|
9605
|
-
|
|
9606
|
-
|
|
9607
|
-
|
|
9608
|
-
|
|
9609
|
-
|
|
9610
|
-
return copy3;
|
|
9659
|
+
transformNodeSpecific(startObject, nodeCallBacks, nodeSpecificCallBacks) {
|
|
9660
|
+
const transformWrapper = (curObject) => {
|
|
9661
|
+
let ogTransform;
|
|
9662
|
+
const casted = curObject;
|
|
9663
|
+
if (casted.type && casted.subType) {
|
|
9664
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9665
|
+
if (specific) {
|
|
9666
|
+
ogTransform = specific[casted.subType]?.transform;
|
|
9667
|
+
}
|
|
9668
|
+
if (!ogTransform) {
|
|
9669
|
+
ogTransform = nodeCallBacks[casted.type]?.transform;
|
|
9670
|
+
}
|
|
9671
|
+
}
|
|
9672
|
+
return ogTransform ? ogTransform(casted) : curObject;
|
|
9673
|
+
};
|
|
9674
|
+
const preVisitWrapper = (curObject) => {
|
|
9675
|
+
let ogPreVisit;
|
|
9676
|
+
const casted = curObject;
|
|
9677
|
+
if (casted.type && casted.subType) {
|
|
9678
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9679
|
+
if (specific) {
|
|
9680
|
+
ogPreVisit = specific[casted.subType]?.preVisitor;
|
|
9681
|
+
}
|
|
9682
|
+
if (!ogPreVisit) {
|
|
9683
|
+
ogPreVisit = nodeCallBacks[casted.type]?.preVisitor;
|
|
9684
|
+
}
|
|
9685
|
+
}
|
|
9686
|
+
return ogPreVisit ? ogPreVisit(casted) : curObject;
|
|
9687
|
+
};
|
|
9688
|
+
return this.transformObject(startObject, transformWrapper, preVisitWrapper);
|
|
9611
9689
|
}
|
|
9612
9690
|
/**
|
|
9613
9691
|
* When both nodeCallBack and NodeSpecific callBack are matched, will only look at nodeSpecifCallback
|
|
9614
9692
|
*/
|
|
9615
|
-
visitNodeSpecific(
|
|
9616
|
-
|
|
9617
|
-
|
|
9618
|
-
|
|
9619
|
-
|
|
9620
|
-
|
|
9621
|
-
|
|
9693
|
+
visitNodeSpecific(startObject, nodeCallBacks, nodeSpecificCallBacks) {
|
|
9694
|
+
const visitWrapper = (curObject) => {
|
|
9695
|
+
let ogTransform;
|
|
9696
|
+
const casted = curObject;
|
|
9697
|
+
if (casted.type && casted.subType) {
|
|
9698
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9699
|
+
if (specific) {
|
|
9700
|
+
ogTransform = specific[casted.subType]?.visitor;
|
|
9701
|
+
}
|
|
9702
|
+
if (!ogTransform) {
|
|
9703
|
+
ogTransform = nodeCallBacks[casted.type]?.visitor;
|
|
9704
|
+
}
|
|
9622
9705
|
}
|
|
9623
|
-
|
|
9624
|
-
|
|
9625
|
-
callback = nodeCallBacks[curObject.type];
|
|
9626
|
-
}
|
|
9627
|
-
let shouldIterate = true;
|
|
9628
|
-
if (callback) {
|
|
9629
|
-
shouldIterate = callback(curObject) ?? true;
|
|
9630
|
-
}
|
|
9631
|
-
if (shouldIterate) {
|
|
9632
|
-
for (const value of Object.values(curObject)) {
|
|
9633
|
-
this.safeObjectVisit(value, (obj) => this.visitNodeSpecific(obj, nodeCallBacks, nodeSpecificCallBacks));
|
|
9706
|
+
if (ogTransform) {
|
|
9707
|
+
ogTransform(casted);
|
|
9634
9708
|
}
|
|
9635
|
-
}
|
|
9709
|
+
};
|
|
9710
|
+
const preVisitWrapper = (curObject) => {
|
|
9711
|
+
let ogPreVisit;
|
|
9712
|
+
const casted = curObject;
|
|
9713
|
+
if (casted.type && casted.subType) {
|
|
9714
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9715
|
+
if (specific) {
|
|
9716
|
+
ogPreVisit = specific[casted.subType]?.preVisitor;
|
|
9717
|
+
}
|
|
9718
|
+
if (!ogPreVisit) {
|
|
9719
|
+
ogPreVisit = nodeCallBacks[casted.type]?.preVisitor;
|
|
9720
|
+
}
|
|
9721
|
+
}
|
|
9722
|
+
return ogPreVisit ? ogPreVisit(casted) : curObject;
|
|
9723
|
+
};
|
|
9724
|
+
this.visitObject(startObject, visitWrapper, preVisitWrapper);
|
|
9725
|
+
}
|
|
9726
|
+
traverseSubNodes(currentNode, traverseNode, traverseSubNode) {
|
|
9727
|
+
let didShortCut = false;
|
|
9728
|
+
const recurse = (curNode) => {
|
|
9729
|
+
let traverser;
|
|
9730
|
+
const subObj = traverseSubNode[curNode.type];
|
|
9731
|
+
if (subObj) {
|
|
9732
|
+
traverser = subObj[curNode.subType];
|
|
9733
|
+
}
|
|
9734
|
+
if (!traverser) {
|
|
9735
|
+
traverser = traverseNode[curNode.type];
|
|
9736
|
+
}
|
|
9737
|
+
if (traverser) {
|
|
9738
|
+
const { next, shortcut } = traverser(curNode);
|
|
9739
|
+
didShortCut = shortcut ?? false;
|
|
9740
|
+
if (!didShortCut) {
|
|
9741
|
+
for (const node of next ?? []) {
|
|
9742
|
+
if (didShortCut) {
|
|
9743
|
+
return;
|
|
9744
|
+
}
|
|
9745
|
+
recurse(node);
|
|
9746
|
+
}
|
|
9747
|
+
}
|
|
9748
|
+
}
|
|
9749
|
+
};
|
|
9750
|
+
recurse(currentNode);
|
|
9636
9751
|
}
|
|
9637
9752
|
};
|
|
9638
9753
|
|
|
@@ -9874,8 +9989,9 @@ __export(lexer_exports, {
|
|
|
9874
9989
|
construct: () => construct,
|
|
9875
9990
|
copy: () => copy,
|
|
9876
9991
|
create: () => create,
|
|
9877
|
-
dataClause: () => dataClause,
|
|
9878
9992
|
deleteClause: () => deleteClause,
|
|
9993
|
+
deleteDataClause: () => deleteDataClause,
|
|
9994
|
+
deleteWhereClause: () => deleteWhereClause,
|
|
9879
9995
|
describe: () => describe,
|
|
9880
9996
|
distinct: () => distinct,
|
|
9881
9997
|
drop: () => drop2,
|
|
@@ -9887,6 +10003,7 @@ __export(lexer_exports, {
|
|
|
9887
10003
|
having: () => having,
|
|
9888
10004
|
in_: () => in_,
|
|
9889
10005
|
insertClause: () => insertClause,
|
|
10006
|
+
insertDataClause: () => insertDataClause,
|
|
9890
10007
|
limit: () => limit,
|
|
9891
10008
|
load: () => load,
|
|
9892
10009
|
loadInto: () => loadInto,
|
|
@@ -10185,6 +10302,44 @@ var graph = createToken2({ name: "Graph", pattern: /graph/i, label: "GRAPH" });
|
|
|
10185
10302
|
var graphAll = createToken2({ name: "GraphAll", pattern: /all/i, label: "ALL" });
|
|
10186
10303
|
var allGraphTokens = LexerBuilder.create().add(named, default_, graph, graphAll);
|
|
10187
10304
|
|
|
10305
|
+
// ../rules-sparql-1-1/lib/lexer/lexerPatterns.js
|
|
10306
|
+
var pnCharsBasePattern = /[A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF]/;
|
|
10307
|
+
var pnCharsUPattern = new RegExp(`${pnCharsBasePattern.source}|_`);
|
|
10308
|
+
var varNamePattern = new RegExp(`((${pnCharsUPattern.source})|[0-9])((${pnCharsUPattern.source})|[0-9]|[\xB7\u0300-\u036F\u203F-\u2040])*`);
|
|
10309
|
+
var iriRefPattern = /<([^\u0000-\u0020"<>\\^`{|}])*>/;
|
|
10310
|
+
var pnCharsPattern = new RegExp(`(${pnCharsUPattern.source})|[\\-0-9\xB7\u0300-\u036F\u203F-\u2040]`);
|
|
10311
|
+
var pnPrefixPattern = new RegExp(`(${pnCharsBasePattern.source})(((${pnCharsPattern.source})|\\.)*(${pnCharsPattern.source}))?`);
|
|
10312
|
+
var pNameNsPattern = new RegExp(`(${pnPrefixPattern.source})?:`);
|
|
10313
|
+
var percentPattern = /%[\dA-Fa-f]{2}/;
|
|
10314
|
+
var pnLocalEscPattern = /\\[!#$%&'()*+,./;=?@\\_~-]/;
|
|
10315
|
+
var plxPattern = new RegExp(`(${percentPattern.source})|(${pnLocalEscPattern.source})`);
|
|
10316
|
+
var pnLocalPattern = new RegExp(`((${pnCharsUPattern.source})|:|[0-9]|(${plxPattern.source}))(((${pnCharsPattern.source})|\\.|:|(${plxPattern.source}))*((${pnCharsPattern.source})|:|(${plxPattern.source})))?`);
|
|
10317
|
+
var pNameLnPattern = new RegExp(`(${pNameNsPattern.source})(${pnLocalPattern.source})`);
|
|
10318
|
+
var blankNodeLabelPattern = new RegExp(`_:((${pnCharsUPattern.source})|[0-9])(((${pnCharsPattern.source})|\\.)*(${pnCharsPattern.source}))?`);
|
|
10319
|
+
var var1Pattern = new RegExp(`\\?(${varNamePattern.source})`);
|
|
10320
|
+
var var2Pattern = new RegExp(`\\$(${varNamePattern.source})`);
|
|
10321
|
+
var langTagPattern = /@[A-Za-z]+(-[\dA-Za-z]+)*/;
|
|
10322
|
+
var integerPattern = /\d+/;
|
|
10323
|
+
var decimalPattern2 = /\d+\.\d+/;
|
|
10324
|
+
var exponentPattern = /[Ee][+-]?\d+/;
|
|
10325
|
+
var doublePattern = new RegExp(`([0-9]+\\.[0-9]*(${exponentPattern.source}))|(\\.[0-9]+(${exponentPattern.source}))|([0-9]+(${exponentPattern.source}))`);
|
|
10326
|
+
var interferePositivePattern = new RegExp(`\\+${integerPattern.source}`);
|
|
10327
|
+
var decimalPositivePattern = new RegExp(`\\+${decimalPattern2.source}`);
|
|
10328
|
+
var doublePositivePattern = new RegExp(`\\+${doublePattern.source}`);
|
|
10329
|
+
var integerNegativePattern = new RegExp(`-${integerPattern.source}`);
|
|
10330
|
+
var decimalNegativePattern = new RegExp(`-${decimalPattern2.source}`);
|
|
10331
|
+
var doubleNegativePattern = new RegExp(`-${doublePattern.source}`);
|
|
10332
|
+
var echarPattern = /\\[\\"'bfnrt]/u;
|
|
10333
|
+
var stringLiteral1Pattern = new RegExp(`'(([^\\u0027\\u005C\\u000A\r])|(${echarPattern.source}))*'`);
|
|
10334
|
+
var stringLiteral2Pattern = new RegExp(`"(([^\\u0022\\u005C\\u000A\\u000D])|(${echarPattern.source}))*"`);
|
|
10335
|
+
var stringLiteralLong1Pattern = new RegExp(`'''(('|(''))?([^'\\\\]|(${echarPattern.source})))*'''`);
|
|
10336
|
+
var stringLiteralLong2Pattern = new RegExp(`"""(("|(""))?([^"\\\\]|(${echarPattern.source})))*"""`);
|
|
10337
|
+
var wsPattern = /[\u0009\u000A\u000D ]/;
|
|
10338
|
+
var nilPattern = new RegExp(`\\((${wsPattern.source})*\\)`);
|
|
10339
|
+
var anonPattern = new RegExp(`\\[(${wsPattern.source})*\\]`);
|
|
10340
|
+
var commentPattern = /#[^\n]*\n/;
|
|
10341
|
+
var atLeastOneBlankPattern = new RegExp(`((${wsPattern.source}+)|(${commentPattern.source}))+`);
|
|
10342
|
+
|
|
10188
10343
|
// ../rules-sparql-1-1/lib/lexer/symbols.js
|
|
10189
10344
|
var symbols_exports = {};
|
|
10190
10345
|
__export(symbols_exports, {
|
|
@@ -10273,40 +10428,6 @@ __export(terminals_exports, {
|
|
|
10273
10428
|
var2: () => var2,
|
|
10274
10429
|
ws: () => ws
|
|
10275
10430
|
});
|
|
10276
|
-
var pnCharsBasePattern = /[A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF]/;
|
|
10277
|
-
var pnCharsUPattern = new RegExp(`${pnCharsBasePattern.source}|_`);
|
|
10278
|
-
var varNamePattern = new RegExp(`((${pnCharsUPattern.source})|[0-9])((${pnCharsUPattern.source})|[0-9]|[\xB7\u0300-\u036F\u203F-\u2040])*`);
|
|
10279
|
-
var iriRefPattern = /<([^\u0000-\u0020"<>\\^`{|}])*>/;
|
|
10280
|
-
var pnCharsPattern = new RegExp(`(${pnCharsUPattern.source})|[\\-0-9\xB7\u0300-\u036F\u203F-\u2040]`);
|
|
10281
|
-
var pnPrefixPattern = new RegExp(`(${pnCharsBasePattern.source})(((${pnCharsPattern.source})|\\.)*(${pnCharsPattern.source}))?`);
|
|
10282
|
-
var pNameNsPattern = new RegExp(`(${pnPrefixPattern.source})?:`);
|
|
10283
|
-
var percentPattern = /%[\dA-Fa-f]{2}/;
|
|
10284
|
-
var pnLocalEscPattern = /\\[!#$%&'()*+,./;=?@\\_~-]/;
|
|
10285
|
-
var plxPattern = new RegExp(`(${percentPattern.source})|(${pnLocalEscPattern.source})`);
|
|
10286
|
-
var pnLocalPattern = new RegExp(`((${pnCharsUPattern.source})|:|[0-9]|(${plxPattern.source}))(((${pnCharsPattern.source})|\\.|:|(${plxPattern.source}))*((${pnCharsPattern.source})|:|(${plxPattern.source})))?`);
|
|
10287
|
-
var pNameLnPattern = new RegExp(`(${pNameNsPattern.source})(${pnLocalPattern.source})`);
|
|
10288
|
-
var blankNodeLabelPattern = new RegExp(`_:((${pnCharsUPattern.source})|[0-9])(((${pnCharsPattern.source})|\\.)*(${pnCharsPattern.source}))?`);
|
|
10289
|
-
var var1Pattern = new RegExp(`\\?(${varNamePattern.source})`);
|
|
10290
|
-
var var2Pattern = new RegExp(`\\$(${varNamePattern.source})`);
|
|
10291
|
-
var langTagPattern = /@[A-Za-z]+(-[\dA-Za-z]+)*/;
|
|
10292
|
-
var integerPattern = /\d+/;
|
|
10293
|
-
var decimalPattern2 = /\d+\.\d+/;
|
|
10294
|
-
var exponentPattern = /[Ee][+-]?\d+/;
|
|
10295
|
-
var doublePattern = new RegExp(`([0-9]+\\.[0-9]*(${exponentPattern.source}))|(\\.[0-9]+(${exponentPattern.source}))|([0-9]+(${exponentPattern.source}))`);
|
|
10296
|
-
var interferePositivePattern = new RegExp(`\\+${integerPattern.source}`);
|
|
10297
|
-
var decimalPositivePattern = new RegExp(`\\+${decimalPattern2.source}`);
|
|
10298
|
-
var doublePositivePattern = new RegExp(`\\+${doublePattern.source}`);
|
|
10299
|
-
var integerNegativePattern = new RegExp(`-${integerPattern.source}`);
|
|
10300
|
-
var decimalNegativePattern = new RegExp(`-${decimalPattern2.source}`);
|
|
10301
|
-
var doubleNegativePattern = new RegExp(`-${doublePattern.source}`);
|
|
10302
|
-
var echarPattern = /\\[\\"'bfnrt]/u;
|
|
10303
|
-
var stringLiteral1Pattern = new RegExp(`'(([^\\u0027\\u005C\\u000A\r])|(${echarPattern.source}))*'`);
|
|
10304
|
-
var stringLiteral2Pattern = new RegExp(`"(([^\\u0022\\u005C\\u000A\\u000D])|(${echarPattern.source}))*"`);
|
|
10305
|
-
var stringLiteralLong1Pattern = new RegExp(`'''(('|(''))?([^'\\\\]|(${echarPattern.source})))*'''`);
|
|
10306
|
-
var stringLiteralLong2Pattern = new RegExp(`"""(("|(""))?([^"\\\\]|(${echarPattern.source})))*"""`);
|
|
10307
|
-
var wsPattern = /[\u0009\u000A\u000D ]/;
|
|
10308
|
-
var nilPattern = new RegExp(`\\((${wsPattern.source})*\\)`);
|
|
10309
|
-
var anonPattern = new RegExp(`\\[(${wsPattern.source})*\\]`);
|
|
10310
10431
|
var iriRef = createToken2({ name: "IriRef", pattern: iriRefPattern });
|
|
10311
10432
|
var pNameLn = createToken2({ name: "PNameLn", pattern: pNameLnPattern });
|
|
10312
10433
|
var pNameNs = createToken2({ name: "PNameNs", pattern: pNameNsPattern, longer_alt: [pNameLn] });
|
|
@@ -10328,7 +10449,7 @@ var stringLiteral2 = createToken2({ name: "StringLiteral2", pattern: stringLiter
|
|
|
10328
10449
|
var stringLiteralLong1 = createToken2({ name: "StringLiteralLong1", pattern: stringLiteralLong1Pattern });
|
|
10329
10450
|
var stringLiteralLong2 = createToken2({ name: "StringLiteralLong2", pattern: stringLiteralLong2Pattern });
|
|
10330
10451
|
var ws = createToken2({ name: "Ws", pattern: wsPattern, group: Lexer.SKIPPED });
|
|
10331
|
-
var comment = createToken2({ name: "Comment", pattern:
|
|
10452
|
+
var comment = createToken2({ name: "Comment", pattern: commentPattern, group: Lexer.SKIPPED });
|
|
10332
10453
|
var nil = createToken2({ name: "Nil", pattern: nilPattern });
|
|
10333
10454
|
var anon = createToken2({ name: "Anon", pattern: anonPattern });
|
|
10334
10455
|
var allTerminals = LexerBuilder.create().add(iriRef, pNameNs, pNameLn, blankNodeLabel, var1, var2, langTag, double, decimal, integer, integerPositive, decimalPositive, doublePositive, integerNegative, decimalNegative, doubleNegative, stringLiteralLong1, stringLiteralLong2, stringLiteral1, stringLiteral2, ws, comment, nil, anon);
|
|
@@ -10365,9 +10486,23 @@ var to = createToken2({ name: "To", pattern: /to/i, label: "TO" });
|
|
|
10365
10486
|
var move = createToken2({ name: "Move", pattern: /move/i, label: "MOVE" });
|
|
10366
10487
|
var copy = createToken2({ name: "Copy", pattern: /copy/i, label: "COPY" });
|
|
10367
10488
|
var modifyWith = createToken2({ name: "ModifyWith", pattern: /with/i, label: "WITH" });
|
|
10489
|
+
var deleteDataClause = createToken2({
|
|
10490
|
+
name: "DeleteDataClause",
|
|
10491
|
+
pattern: new RegExp(`delete(${atLeastOneBlankPattern.source})data`, "i"),
|
|
10492
|
+
label: "DELETE DATA"
|
|
10493
|
+
});
|
|
10494
|
+
var deleteWhereClause = createToken2({
|
|
10495
|
+
name: "DeleteWhereClause",
|
|
10496
|
+
pattern: new RegExp(`delete(${atLeastOneBlankPattern.source})where`, "i"),
|
|
10497
|
+
label: "DELETE WHERE"
|
|
10498
|
+
});
|
|
10368
10499
|
var deleteClause = createToken2({ name: "DeleteClause", pattern: /delete/i, label: "DELETE" });
|
|
10369
|
-
var
|
|
10370
|
-
|
|
10500
|
+
var insertDataClause = createToken2({
|
|
10501
|
+
name: "InsertDataClause",
|
|
10502
|
+
pattern: new RegExp(`insert(${atLeastOneBlankPattern.source})data`, "i"),
|
|
10503
|
+
label: "INSERT DATA"
|
|
10504
|
+
});
|
|
10505
|
+
var insertClause = createToken2({ name: "InsertClause", pattern: /insert/i, label: "insert" });
|
|
10371
10506
|
var usingClause = createToken2({ name: "UsingClause", pattern: /using/i, label: "USING" });
|
|
10372
10507
|
var optional = createToken2({ name: "Optional", pattern: /optional/i, label: "OPTIONAL" });
|
|
10373
10508
|
var service = createToken2({ name: "Service", pattern: /service/i, label: "SERVICE" });
|
|
@@ -10382,8 +10517,8 @@ var false_ = createToken2({ name: "False", pattern: /false/i, label: "false" });
|
|
|
10382
10517
|
var in_ = createToken2({ name: "In", pattern: /in/i, label: "IN" });
|
|
10383
10518
|
var notIn = createToken2({ name: "NotIn", pattern: /not[\u0020\u0009\u000D\u000A]+in/i, label: "NOT IN" });
|
|
10384
10519
|
var separator = createToken2({ name: "Separator", pattern: /separator/i, label: "SEPARATOR" });
|
|
10385
|
-
var allBaseTokens = LexerBuilder.create().add(baseDecl, prefixDecl, select, distinct, reduced, construct, describe, ask, from, where, having, groupByGroup, by, order, orderAsc, orderDesc, limit, offset, values2, load, silent, loadInto, clear, drop2, create, add, to, move, copy, modifyWith, deleteClause,
|
|
10386
|
-
var sparql11LexerBuilder = LexerBuilder.create(allTerminals).merge(allBaseTokens).merge(allBuiltInCalls).merge(allGraphTokens).merge(allSymbols).
|
|
10520
|
+
var allBaseTokens = LexerBuilder.create().add(baseDecl, prefixDecl, select, distinct, reduced, construct, describe, ask, from, where, having, groupByGroup, by, order, orderAsc, orderDesc, limit, offset, values2, load, silent, loadInto, clear, drop2, create, add, to, move, copy, modifyWith, deleteWhereClause, deleteDataClause, deleteClause, insertDataClause, insertClause, usingClause, optional, service, bind, undef, minus, union, filter2, as, a, true_, false_, in_, notIn, separator);
|
|
10521
|
+
var sparql11LexerBuilder = LexerBuilder.create(allTerminals).merge(allBaseTokens).merge(allBuiltInCalls).merge(allGraphTokens).merge(allSymbols).moveAfter(avg, a).moveBefore(a, graphAll).moveAfter(groupConcat, groupByGroup);
|
|
10387
10522
|
|
|
10388
10523
|
// ../rules-sparql-1-1/lib/factoryMixins/ContextFactory.js
|
|
10389
10524
|
var nodeType = "contextDef";
|
|
@@ -11128,12 +11263,12 @@ var CommonIRIs;
|
|
|
11128
11263
|
CommonIRIs2["NIL"] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil";
|
|
11129
11264
|
CommonIRIs2["TYPE"] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type";
|
|
11130
11265
|
})(CommonIRIs || (CommonIRIs = {}));
|
|
11131
|
-
var
|
|
11266
|
+
var AstTransformer = class extends TransformerSubType {
|
|
11132
11267
|
};
|
|
11133
11268
|
|
|
11134
11269
|
// ../rules-sparql-1-1/lib/validation/validators.js
|
|
11135
11270
|
var F = new AstFactory();
|
|
11136
|
-
var transformer = new
|
|
11271
|
+
var transformer = new AstTransformer();
|
|
11137
11272
|
function getAggregatesOfExpression(expression2) {
|
|
11138
11273
|
if (F.isExpressionAggregate(expression2)) {
|
|
11139
11274
|
return [expression2];
|
|
@@ -11212,77 +11347,69 @@ function queryIsGood(query2) {
|
|
|
11212
11347
|
}
|
|
11213
11348
|
}
|
|
11214
11349
|
}
|
|
11350
|
+
function notUndefined(some2) {
|
|
11351
|
+
return some2 !== void 0;
|
|
11352
|
+
}
|
|
11215
11353
|
function findPatternBoundedVars(iter, boundedVars) {
|
|
11216
|
-
|
|
11217
|
-
|
|
11218
|
-
|
|
11219
|
-
|
|
11220
|
-
|
|
11221
|
-
|
|
11222
|
-
|
|
11223
|
-
|
|
11224
|
-
|
|
11225
|
-
|
|
11226
|
-
|
|
11227
|
-
|
|
11228
|
-
|
|
11229
|
-
|
|
11230
|
-
|
|
11231
|
-
|
|
11232
|
-
|
|
11233
|
-
|
|
11234
|
-
|
|
11235
|
-
|
|
11354
|
+
transformer.traverseSubNodes(iter, {
|
|
11355
|
+
query: (op) => ({ next: [
|
|
11356
|
+
op.solutionModifiers.group
|
|
11357
|
+
].filter(notUndefined) }),
|
|
11358
|
+
triple: (op) => ({ next: [op.subject, op.predicate, op.object] }),
|
|
11359
|
+
path: (op) => ({ next: op.items }),
|
|
11360
|
+
tripleCollection: (op) => ({ next: [op.identifier, ...op.triples] })
|
|
11361
|
+
}, {
|
|
11362
|
+
query: {
|
|
11363
|
+
select: (op) => ({ next: [
|
|
11364
|
+
...op.variables.some((x) => F.isWildcard(x)) ? [op.where] : op.variables,
|
|
11365
|
+
op.solutionModifiers.group,
|
|
11366
|
+
op.values
|
|
11367
|
+
].filter(notUndefined) }),
|
|
11368
|
+
describe: (op) => ({ next: [
|
|
11369
|
+
...op.variables.some((x) => F.isWildcard(x)) ? [op.where] : op.variables,
|
|
11370
|
+
op.solutionModifiers.group,
|
|
11371
|
+
op.values
|
|
11372
|
+
].filter(notUndefined) })
|
|
11373
|
+
},
|
|
11374
|
+
solutionModifier: {
|
|
11375
|
+
group: (op) => ({
|
|
11376
|
+
next: op.groupings.filter((g) => "variable" in g).map((x) => x.variable)
|
|
11377
|
+
}),
|
|
11378
|
+
having: (op) => ({ next: op.having }),
|
|
11379
|
+
order: (op) => ({ next: op.orderDefs.map((x) => x.expression) })
|
|
11380
|
+
},
|
|
11381
|
+
pattern: {
|
|
11382
|
+
values: (op) => {
|
|
11383
|
+
for (const v of Object.keys(op.values.at(0) ?? {})) {
|
|
11236
11384
|
boundedVars.add(v);
|
|
11237
11385
|
}
|
|
11386
|
+
return {};
|
|
11387
|
+
},
|
|
11388
|
+
bgp: (op) => ({ next: op.triples }),
|
|
11389
|
+
group: (op) => ({ next: op.patterns }),
|
|
11390
|
+
union: (op) => ({ next: op.patterns }),
|
|
11391
|
+
optional: (op) => ({ next: op.patterns }),
|
|
11392
|
+
service: (op) => ({ next: [op.name, ...op.patterns] }),
|
|
11393
|
+
bind: (op) => ({ next: [op.variable] }),
|
|
11394
|
+
graph: (op) => ({ next: [op.name, ...op.patterns] }),
|
|
11395
|
+
minus: (op) => ({ next: op.patterns.slice(0, 1) })
|
|
11396
|
+
},
|
|
11397
|
+
term: {
|
|
11398
|
+
variable: (op) => {
|
|
11399
|
+
boundedVars.add(op.value);
|
|
11400
|
+
return {};
|
|
11238
11401
|
}
|
|
11239
11402
|
}
|
|
11240
|
-
}
|
|
11241
|
-
if (F.isTermVariable(iter)) {
|
|
11242
|
-
boundedVars.add(iter.value);
|
|
11243
|
-
}
|
|
11244
|
-
} else if (F.isTriple(iter)) {
|
|
11245
|
-
findPatternBoundedVars(iter.subject, boundedVars);
|
|
11246
|
-
findPatternBoundedVars(iter.predicate, boundedVars);
|
|
11247
|
-
findPatternBoundedVars(iter.object, boundedVars);
|
|
11248
|
-
} else if (F.isPath(iter)) {
|
|
11249
|
-
if (!F.isTerm(iter)) {
|
|
11250
|
-
for (const item of iter.items) {
|
|
11251
|
-
findPatternBoundedVars(item, boundedVars);
|
|
11252
|
-
}
|
|
11253
|
-
}
|
|
11254
|
-
} else if (F.isTripleCollection(iter) || F.isPatternBgp(iter)) {
|
|
11255
|
-
for (const triple of iter.triples) {
|
|
11256
|
-
findPatternBoundedVars(triple, boundedVars);
|
|
11257
|
-
}
|
|
11258
|
-
} else if (F.isPatternGroup(iter) || F.isPatternUnion(iter) || F.isPatternOptional(iter) || F.isPatternService(iter)) {
|
|
11259
|
-
for (const pattern of iter.patterns) {
|
|
11260
|
-
findPatternBoundedVars(pattern, boundedVars);
|
|
11261
|
-
}
|
|
11262
|
-
if (F.isPatternService(iter)) {
|
|
11263
|
-
findPatternBoundedVars(iter.name, boundedVars);
|
|
11264
|
-
}
|
|
11265
|
-
} else if (F.isPatternBind(iter)) {
|
|
11266
|
-
findPatternBoundedVars(iter.variable, boundedVars);
|
|
11267
|
-
} else if (F.isPatternValues(iter)) {
|
|
11268
|
-
for (const variable of Object.keys(iter.values.at(0) ?? {})) {
|
|
11269
|
-
boundedVars.add(variable);
|
|
11270
|
-
}
|
|
11271
|
-
} else if (F.isPatternGraph(iter)) {
|
|
11272
|
-
findPatternBoundedVars(iter.name, boundedVars);
|
|
11273
|
-
for (const pattern of iter.patterns) {
|
|
11274
|
-
findPatternBoundedVars(pattern, boundedVars);
|
|
11275
|
-
}
|
|
11276
|
-
}
|
|
11403
|
+
});
|
|
11277
11404
|
}
|
|
11278
11405
|
function checkNote13(patterns) {
|
|
11279
11406
|
for (const [index, pattern] of patterns.entries()) {
|
|
11280
11407
|
if (F.isPatternBind(pattern) && index > 0 && F.isPatternBgp(patterns[index - 1])) {
|
|
11281
11408
|
const bgp = patterns[index - 1];
|
|
11282
11409
|
const variables = [];
|
|
11283
|
-
transformer.visitNodeSpecific(bgp, {}, { term: { variable: (var_2) => {
|
|
11410
|
+
transformer.visitNodeSpecific(bgp, {}, { term: { variable: { visitor: (var_2) => {
|
|
11284
11411
|
variables.push(var_2);
|
|
11285
|
-
} } });
|
|
11412
|
+
} } } });
|
|
11286
11413
|
if (variables.some((var_2) => var_2.value === pattern.variable.value)) {
|
|
11287
11414
|
throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);
|
|
11288
11415
|
}
|
|
@@ -11308,12 +11435,12 @@ function updateNoReuseBlankNodeLabels(updateQuery) {
|
|
|
11308
11435
|
const operation = update2.operation;
|
|
11309
11436
|
if (operation.subType === "insertdata") {
|
|
11310
11437
|
const blankNodesHere = /* @__PURE__ */ new Set();
|
|
11311
|
-
transformer.visitNodeSpecific(operation, {}, { term: { blankNode: (blankNode2) => {
|
|
11438
|
+
transformer.visitNodeSpecific(operation, {}, { term: { blankNode: { visitor: (blankNode2) => {
|
|
11312
11439
|
blankNodesHere.add(blankNode2.label);
|
|
11313
11440
|
if (blankLabelsUsedInInsertData.has(blankNode2.label)) {
|
|
11314
11441
|
throw new Error("Detected reuse blank node across different INSERT DATA clauses");
|
|
11315
11442
|
}
|
|
11316
|
-
} } });
|
|
11443
|
+
} } } });
|
|
11317
11444
|
for (const blankNode2 of blankNodesHere) {
|
|
11318
11445
|
blankLabelsUsedInInsertData.add(blankNode2);
|
|
11319
11446
|
}
|
|
@@ -14000,12 +14127,11 @@ var quadData = {
|
|
|
14000
14127
|
return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
|
|
14001
14128
|
}
|
|
14002
14129
|
};
|
|
14003
|
-
function insertDeleteDelWhere(name, subType, cons1,
|
|
14130
|
+
function insertDeleteDelWhere(name, subType, cons1, dataRule) {
|
|
14004
14131
|
return {
|
|
14005
14132
|
name,
|
|
14006
14133
|
impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
|
|
14007
14134
|
const insDelToken = CONSUME(cons1);
|
|
14008
|
-
CONSUME(cons2);
|
|
14009
14135
|
let couldCreateBlankNodes = true;
|
|
14010
14136
|
if (name !== "insertData") {
|
|
14011
14137
|
couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
@@ -14037,9 +14163,9 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
14037
14163
|
}
|
|
14038
14164
|
};
|
|
14039
14165
|
}
|
|
14040
|
-
var insertData = insertDeleteDelWhere("insertData", "insertdata",
|
|
14041
|
-
var deleteData = insertDeleteDelWhere("deleteData", "deletedata",
|
|
14042
|
-
var deleteWhere = insertDeleteDelWhere("deleteWhere", "deletewhere",
|
|
14166
|
+
var insertData = insertDeleteDelWhere("insertData", "insertdata", insertDataClause, quadData);
|
|
14167
|
+
var deleteData = insertDeleteDelWhere("deleteData", "deletedata", deleteDataClause, quadData);
|
|
14168
|
+
var deleteWhere = insertDeleteDelWhere("deleteWhere", "deletewhere", deleteWhereClause, quadPattern);
|
|
14043
14169
|
var modify = {
|
|
14044
14170
|
name: "modify",
|
|
14045
14171
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => (C) => {
|
|
@@ -15018,6 +15144,8 @@ function completeParseContext(context) {
|
|
|
15018
15144
|
[traqulaIndentation]: context[traqulaIndentation] ?? 0
|
|
15019
15145
|
};
|
|
15020
15146
|
}
|
|
15147
|
+
var AstTransformer2 = class extends TransformerSubType {
|
|
15148
|
+
};
|
|
15021
15149
|
/*! Bundled license information:
|
|
15022
15150
|
|
|
15023
15151
|
lodash-es/lodash.js:
|
package/lib/lexer.d.ts
CHANGED
|
@@ -17,4 +17,4 @@ export declare const buildInSUBJECT: import("@traqula/core").NamedToken<"BuiltIn
|
|
|
17
17
|
export declare const buildInPREDICATE: import("@traqula/core").NamedToken<"BuiltInPredicate">;
|
|
18
18
|
export declare const buildInOBJECT: import("@traqula/core").NamedToken<"BuiltInObject">;
|
|
19
19
|
export declare const LANG_DIR: import("@traqula/core").NamedToken<"LANG_DIR">;
|
|
20
|
-
export declare const sparql12LexerBuilder: LexerBuilder<"
|
|
20
|
+
export declare const sparql12LexerBuilder: LexerBuilder<"BuiltInStr" | "BuiltInLang" | "BuiltInLangmatches" | "BuiltInDatatype" | "BuiltInBound" | "BuiltInIri" | "BuiltInUri" | "BuiltInBnode" | "BuiltInRand" | "BuiltInAbs" | "BuiltInCeil" | "BuiltInFloor" | "BuiltInRound" | "BuiltInConcat" | "BuiltInStrlen" | "BuiltInUcase" | "BuiltInLcase" | "BuiltInEncode_for_uri" | "BuiltInContains" | "BuiltInStrstarts" | "BuiltInStrends" | "BuiltInStrbefore" | "BuiltInStrafter" | "BuiltInYear" | "BuiltInMonth" | "BuiltInDay" | "BuiltInHours" | "BuiltInMinutes" | "BuiltInSeconds" | "BuiltInTimezone" | "BuiltInTz" | "BuiltInNow" | "BuiltInUuid" | "BuiltInStruuid" | "BuiltInMd5" | "BuiltInSha1" | "BuiltInSha256" | "BuiltInSha384" | "BuiltInSha512" | "BuiltInCoalesce" | "BuiltInIf" | "BuiltInStrlang" | "BuiltInStrdt" | "BuiltInSameterm" | "BuiltInIsiri" | "BuiltInIsuri" | "BuiltInIsblank" | "BuiltInIsliteral" | "BuiltInIsnumeric" | "BuiltInRegex" | "BuiltInSubstr" | "BuiltInReplace" | "BuiltInExists" | "BuiltInNotexists" | "BuiltInCount" | "BuiltInSum" | "BuiltInMin" | "BuiltInMax" | "BuiltInAvg" | "BuiltInSample" | "BuiltInGroup_concat" | "NamedGraph" | "DefaultGraph" | "Graph" | "GraphAll" | "BaseDecl" | "PrefixDecl" | "Select" | "Distinct" | "Reduced" | "As" | "Construct" | "Describe" | "Ask" | "From" | "Where" | "GroupByGroup" | "By" | "Having" | "Order" | "OrderAsc" | "OrderDesc" | "Limit" | "Offset" | "Values" | "Load" | "Silent" | "LoadInto" | "Clear" | "Drop" | "Create" | "Add" | "To" | "Move" | "Copy" | "ModifyWith" | "DeleteDataClause" | "DeleteWhereClause" | "DeleteClause" | "InsertDataClause" | "InsertClause" | "UsingClause" | "Optional" | "Service" | "Bind" | "Undef" | "Minus" | "Union" | "Filter" | "a" | "True" | "False" | "In" | "NotIn" | "Separator" | "LCurly" | "RCurly" | "LParen" | "RParen" | "Nil" | "Dot" | "Pipe" | "Slash" | "Question" | "Star" | "OpPlus" | "Hat" | "Exclamation" | "PNameNs" | "PNameLn" | "Var1" | "Var2" | "Comma" | "Equal" | "NotEqual" | "LessThan" | "GreaterThan" | "LessThanEqual" | "GreaterThanEqual" | "OpMinus" | "LogicOr" | "LogicAnd" | "Semi" | "LSquare" | "RSquare" | "Hathat" | "Integer" | "IriRef" | "BlankNodeLabel" | "Double" | "Decimal" | "InterferePositive" | "DecimalPositive" | "DoublePositive" | "IntegerNegative" | "DecimalNegative" | "DoubleNegative" | "StringLiteralLong1" | "StringLiteralLong2" | "StringLiteral1" | "StringLiteral2" | "Ws" | "Comment" | "Anon" | "Version" | "Tilde" | "AnnotationOpen" | "AnnotationClose" | "ReificationOpen" | "ReificationClose" | "TripleTermOpen" | "TripleTermClose" | "BuiltInLangdir" | "BuiltInStrLangdir" | "BuiltInHasLang" | "BuiltInHasLangdir" | "BuiltInIsTriple" | "BuiltInTriple" | "BuiltInSubject" | "BuiltInPredicate" | "BuiltInObject" | "LANG_DIR">;
|
package/lib/parserUtils.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { TransformerSubType } from '@traqula/core';
|
|
1
2
|
import type { SparqlContext, SparqlGeneratorContext } from './sparql12HelperTypes.js';
|
|
3
|
+
import type { Sparql12Nodes } from './sparql12Types.js';
|
|
2
4
|
export declare function completeParseContext(context: Partial<SparqlContext & SparqlGeneratorContext & {
|
|
3
5
|
origSource: string;
|
|
4
6
|
offset?: number;
|
|
@@ -6,3 +8,5 @@ export declare function completeParseContext(context: Partial<SparqlContext & Sp
|
|
|
6
8
|
origSource: string;
|
|
7
9
|
offset?: number;
|
|
8
10
|
};
|
|
11
|
+
export declare class AstTransformer extends TransformerSubType<Sparql12Nodes> {
|
|
12
|
+
}
|
package/lib/parserUtils.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { traqulaIndentation } from '@traqula/core';
|
|
1
|
+
import { TransformerSubType, traqulaIndentation } from '@traqula/core';
|
|
2
2
|
import { AstFactory } from './AstFactory.js';
|
|
3
3
|
export function completeParseContext(context) {
|
|
4
4
|
return {
|
|
@@ -13,4 +13,6 @@ export function completeParseContext(context) {
|
|
|
13
13
|
[traqulaIndentation]: context[traqulaIndentation] ?? 0,
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
+
export class AstTransformer extends TransformerSubType {
|
|
17
|
+
}
|
|
16
18
|
//# sourceMappingURL=parserUtils.js.map
|
package/lib/parserUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parserUtils.js","sourceRoot":"","sources":["parserUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"parserUtils.js","sourceRoot":"","sources":["parserUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,MAAM,UAAU,oBAAoB,CAClC,OAAkG;IAElG,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,UAAU,EAAE;QAClD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE;QACjC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAE,cAAc,EAAE,qBAAqB,CAAE,CAAC;QAC9G,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;QAC/C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC;QACjC,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,kBAAiC;CAAG","sourcesContent":["import { TransformerSubType, traqulaIndentation } from '@traqula/core';\nimport { AstFactory } from './AstFactory.js';\nimport type { SparqlContext, SparqlGeneratorContext } from './sparql12HelperTypes.js';\nimport type { Sparql12Nodes } from './sparql12Types.js';\n\nexport function completeParseContext(\n context: Partial<SparqlContext & SparqlGeneratorContext & { origSource: string; offset?: number }>,\n): SparqlContext & SparqlGeneratorContext & { origSource: string; offset?: number } {\n return {\n astFactory: context.astFactory ?? new AstFactory(),\n baseIRI: context.baseIRI,\n prefixes: { ...context.prefixes },\n origSource: context.origSource ?? '',\n offset: context.offset,\n parseMode: context.parseMode ? new Set(context.parseMode) : new Set([ 'canParseVars', 'canCreateBlankNodes' ]),\n skipValidation: context.skipValidation ?? false,\n indentInc: context.indentInc ?? 2,\n [traqulaIndentation]: context[traqulaIndentation] ?? 0,\n };\n}\n\nexport class AstTransformer extends TransformerSubType<Sparql12Nodes> {}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@traqula/rules-sparql-1-2",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.18",
|
|
5
5
|
"description": "Traqula Lexer and Grammar Rules for sparql 1.2",
|
|
6
6
|
"lsd:module": true,
|
|
7
7
|
"license": "MIT",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"build:transpile": " node \"../../node_modules/esbuild/bin/esbuild\" --format=cjs --bundle --log-level=error --outfile=lib/index.cjs lib/index.ts"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@traqula/core": "^0.0.
|
|
46
|
-
"@traqula/rules-sparql-1-1": "^0.0.
|
|
45
|
+
"@traqula/core": "^0.0.18",
|
|
46
|
+
"@traqula/rules-sparql-1-1": "^0.0.18"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "1bb6a7d67631010ee01b325e33ff76f2f7530e02"
|
|
49
49
|
}
|