@traqula/generator-sparql-1-1 0.0.4 → 0.0.6

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/README.md CHANGED
@@ -11,6 +11,8 @@
11
11
  Traqula Generator Sparql 1.1 is a [SPARQL 1.1](https://www.w3.org/TR/sparql11-query/#grammar) query generator for TypeScript.
12
12
  It can generate SPARQL given the AST created by [Traqula parser SPARQL 1-1](https://github.com/comunica/traqula/tree/main/engines/parser-sparql-1-1).
13
13
 
14
+ TODO: explain API
15
+
14
16
  ## Installation
15
17
 
16
18
  ```bash
@@ -45,3 +47,5 @@ This package contains a `Generator` that is able to generate SPARQL 1.1 queries:
45
47
  const generator = new Generator();
46
48
  const abstractSyntaxTree = generator.generate(abstractSyntaxTree);
47
49
  ```
50
+
51
+ Note that a single generator cannot generate multiple queries in parallel.
package/lib/index.cjs CHANGED
@@ -156,92 +156,8 @@ var CoreFactory = class {
156
156
  var DynamicGenerator = class {
157
157
  constructor(rules) {
158
158
  this.rules = rules;
159
- this.factory = new CoreFactory();
160
- this.__context = void 0;
161
- this.origSource = "";
162
- this.generatedUntil = 0;
163
- this.stringBuilder = [];
164
- this.subrule = (cstDef, ast, ...arg) => {
165
- const def = this.rules[cstDef.name];
166
- if (!def) {
167
- throw new Error(`Rule ${cstDef.name} not found`);
168
- }
169
- const generate = () => def.gImpl({
170
- SUBRULE: this.subrule,
171
- PRINT: this.print,
172
- PRINT_SPACE_LEFT: this.printSpaceLeft,
173
- PRINT_WORD: this.printWord,
174
- PRINT_WORDS: this.printWords,
175
- CATCHUP: this.catchup,
176
- HANDLE_LOC: this.handleLoc
177
- })(ast, this.getSafeContext(), ...arg);
178
- if (this.factory.isLocalized(ast)) {
179
- this.handleLoc(ast, generate);
180
- } else {
181
- generate();
182
- }
183
- };
184
- this.handleLoc = (localized, handle) => {
185
- if (this.factory.isSourceLocationNoMaterialize(localized.loc)) {
186
- return;
187
- }
188
- if (this.factory.isSourceLocationStringReplace(localized.loc)) {
189
- this.catchup(localized.loc.start);
190
- this.print(localized.loc.newSource);
191
- this.generatedUntil = localized.loc.end;
192
- return;
193
- }
194
- if (this.factory.isSourceLocationNodeReplace(localized.loc)) {
195
- this.catchup(localized.loc.start);
196
- this.generatedUntil = localized.loc.end;
197
- }
198
- if (this.factory.isSourceLocationSource(localized.loc)) {
199
- this.catchup(localized.loc.start);
200
- }
201
- const ret = handle();
202
- if (this.factory.isSourceLocationSource(localized.loc)) {
203
- this.catchup(localized.loc.end);
204
- }
205
- return ret;
206
- };
207
- this.catchup = (until) => {
208
- const start = this.generatedUntil;
209
- if (start < until) {
210
- this.print(this.origSource.slice(start, until));
211
- }
212
- this.generatedUntil = Math.max(this.generatedUntil, until);
213
- };
214
- this.print = (...args) => {
215
- const pureArgs = args.filter((x) => x.length > 0);
216
- if (pureArgs.length > 0) {
217
- const [head2, ...tail] = pureArgs;
218
- if (this.expectsSpace) {
219
- this.expectsSpace = false;
220
- const blanks = /* @__PURE__ */ new Set(["\n", " ", " "]);
221
- if (this.stringBuilder.length > 0 && !(blanks.has(head2[0]) || blanks.has(this.stringBuilder.at(-1).at(-1)))) {
222
- this.stringBuilder.push(" ");
223
- }
224
- }
225
- this.stringBuilder.push(head2);
226
- this.stringBuilder.push(...tail);
227
- }
228
- };
229
- this.printWord = (...args) => {
230
- this.expectsSpace = true;
231
- this.print(...args);
232
- this.expectsSpace = true;
233
- };
234
- this.printSpaceLeft = (...args) => {
235
- this.expectsSpace = true;
236
- this.print(...args);
237
- };
238
- this.printWords = (...args) => {
239
- for (const arg of args) {
240
- this.printWord(arg);
241
- }
242
- };
243
159
  for (const rule of Object.values(rules)) {
244
- this[rule.name] = (input, context, args) => {
160
+ this[rule.name] = ((input, context, args) => {
245
161
  this.expectsSpace = false;
246
162
  this.stringBuilder.length = 0;
247
163
  this.origSource = context.origSource;
@@ -250,15 +166,100 @@ var DynamicGenerator = class {
250
166
  this.subrule(rule, input, args);
251
167
  this.catchup(this.origSource.length);
252
168
  return this.stringBuilder.join("");
253
- };
169
+ });
254
170
  }
255
171
  }
172
+ factory = new CoreFactory();
173
+ __context = void 0;
174
+ origSource = "";
175
+ generatedUntil = 0;
176
+ expectsSpace;
177
+ stringBuilder = [];
256
178
  setContext(context) {
257
179
  this.__context = context;
258
180
  }
259
181
  getSafeContext() {
260
182
  return this.__context;
261
183
  }
184
+ subrule = (cstDef, ast, ...arg) => {
185
+ const def = this.rules[cstDef.name];
186
+ if (!def) {
187
+ throw new Error(`Rule ${cstDef.name} not found`);
188
+ }
189
+ const generate = () => def.gImpl({
190
+ SUBRULE: this.subrule,
191
+ PRINT: this.print,
192
+ PRINT_SPACE_LEFT: this.printSpaceLeft,
193
+ PRINT_WORD: this.printWord,
194
+ PRINT_WORDS: this.printWords,
195
+ CATCHUP: this.catchup,
196
+ HANDLE_LOC: this.handleLoc
197
+ })(ast, this.getSafeContext(), ...arg);
198
+ if (this.factory.isLocalized(ast)) {
199
+ this.handleLoc(ast, generate);
200
+ } else {
201
+ generate();
202
+ }
203
+ };
204
+ handleLoc = (localized, handle) => {
205
+ if (this.factory.isSourceLocationNoMaterialize(localized.loc)) {
206
+ return;
207
+ }
208
+ if (this.factory.isSourceLocationStringReplace(localized.loc)) {
209
+ this.catchup(localized.loc.start);
210
+ this.print(localized.loc.newSource);
211
+ this.generatedUntil = localized.loc.end;
212
+ return;
213
+ }
214
+ if (this.factory.isSourceLocationNodeReplace(localized.loc)) {
215
+ this.catchup(localized.loc.start);
216
+ this.generatedUntil = localized.loc.end;
217
+ }
218
+ if (this.factory.isSourceLocationSource(localized.loc)) {
219
+ this.catchup(localized.loc.start);
220
+ }
221
+ const ret = handle();
222
+ if (this.factory.isSourceLocationSource(localized.loc)) {
223
+ this.catchup(localized.loc.end);
224
+ }
225
+ return ret;
226
+ };
227
+ catchup = (until) => {
228
+ const start = this.generatedUntil;
229
+ if (start < until) {
230
+ this.print(this.origSource.slice(start, until));
231
+ }
232
+ this.generatedUntil = Math.max(this.generatedUntil, until);
233
+ };
234
+ print = (...args) => {
235
+ const pureArgs = args.filter((x) => x.length > 0);
236
+ if (pureArgs.length > 0) {
237
+ const [head2, ...tail] = pureArgs;
238
+ if (this.expectsSpace) {
239
+ this.expectsSpace = false;
240
+ const blanks = /* @__PURE__ */ new Set(["\n", " ", " "]);
241
+ if (this.stringBuilder.length > 0 && !(blanks.has(head2[0]) || blanks.has(this.stringBuilder.at(-1).at(-1)))) {
242
+ this.stringBuilder.push(" ");
243
+ }
244
+ }
245
+ this.stringBuilder.push(head2);
246
+ this.stringBuilder.push(...tail);
247
+ }
248
+ };
249
+ printWord = (...args) => {
250
+ this.expectsSpace = true;
251
+ this.print(...args);
252
+ this.expectsSpace = true;
253
+ };
254
+ printSpaceLeft = (...args) => {
255
+ this.expectsSpace = true;
256
+ this.print(...args);
257
+ };
258
+ printWords = (...args) => {
259
+ for (const arg of args) {
260
+ this.printWord(arg);
261
+ }
262
+ };
262
263
  };
263
264
 
264
265
  // ../../packages/core/lib/generator-builder/generatorBuilder.ts
@@ -276,6 +277,7 @@ var GeneratorBuilder = class _GeneratorBuilder {
276
277
  }
277
278
  return new _GeneratorBuilder(listToRuleDefMap(start));
278
279
  }
280
+ rules;
279
281
  constructor(startRules) {
280
282
  this.rules = startRules;
281
283
  }
@@ -558,10 +560,10 @@ var coreJsData = root_default["__core-js_shared__"];
558
560
  var coreJsData_default = coreJsData;
559
561
 
560
562
  // ../../node_modules/lodash-es/_isMasked.js
561
- var maskSrcKey = function() {
563
+ var maskSrcKey = (function() {
562
564
  var uid = /[^.]+$/.exec(coreJsData_default && coreJsData_default.keys && coreJsData_default.keys.IE_PROTO || "");
563
565
  return uid ? "Symbol(src)_1." + uid : "";
564
- }();
566
+ })();
565
567
  function isMasked(func) {
566
568
  return !!maskSrcKey && maskSrcKey in func;
567
569
  }
@@ -623,7 +625,7 @@ var WeakMap_default = WeakMap;
623
625
 
624
626
  // ../../node_modules/lodash-es/_baseCreate.js
625
627
  var objectCreate = Object.create;
626
- var baseCreate = /* @__PURE__ */ function() {
628
+ var baseCreate = /* @__PURE__ */ (function() {
627
629
  function object2() {
628
630
  }
629
631
  return function(proto) {
@@ -638,7 +640,7 @@ var baseCreate = /* @__PURE__ */ function() {
638
640
  object2.prototype = void 0;
639
641
  return result;
640
642
  };
641
- }();
643
+ })();
642
644
  var baseCreate_default = baseCreate;
643
645
 
644
646
  // ../../node_modules/lodash-es/_apply.js
@@ -703,14 +705,14 @@ function constant(value) {
703
705
  var constant_default = constant;
704
706
 
705
707
  // ../../node_modules/lodash-es/_defineProperty.js
706
- var defineProperty = function() {
708
+ var defineProperty = (function() {
707
709
  try {
708
710
  var func = getNative_default(Object, "defineProperty");
709
711
  func({}, "", {});
710
712
  return func;
711
713
  } catch (e) {
712
714
  }
713
- }();
715
+ })();
714
716
  var defineProperty_default = defineProperty;
715
717
 
716
718
  // ../../node_modules/lodash-es/_baseSetToString.js
@@ -948,9 +950,9 @@ var baseIsArguments_default = baseIsArguments;
948
950
  var objectProto6 = Object.prototype;
949
951
  var hasOwnProperty4 = objectProto6.hasOwnProperty;
950
952
  var propertyIsEnumerable = objectProto6.propertyIsEnumerable;
951
- var isArguments = baseIsArguments_default(/* @__PURE__ */ function() {
953
+ var isArguments = baseIsArguments_default(/* @__PURE__ */ (function() {
952
954
  return arguments;
953
- }()) ? baseIsArguments_default : function(value) {
955
+ })()) ? baseIsArguments_default : function(value) {
954
956
  return isObjectLike_default(value) && hasOwnProperty4.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
955
957
  };
956
958
  var isArguments_default = isArguments;
@@ -1016,7 +1018,7 @@ var freeExports2 = typeof exports == "object" && exports && !exports.nodeType &&
1016
1018
  var freeModule2 = freeExports2 && typeof module == "object" && module && !module.nodeType && module;
1017
1019
  var moduleExports2 = freeModule2 && freeModule2.exports === freeExports2;
1018
1020
  var freeProcess = moduleExports2 && freeGlobal_default.process;
1019
- var nodeUtil = function() {
1021
+ var nodeUtil = (function() {
1020
1022
  try {
1021
1023
  var types = freeModule2 && freeModule2.require && freeModule2.require("util").types;
1022
1024
  if (types) {
@@ -1025,7 +1027,7 @@ var nodeUtil = function() {
1025
1027
  return freeProcess && freeProcess.binding && freeProcess.binding("util");
1026
1028
  } catch (e) {
1027
1029
  }
1028
- }();
1030
+ })();
1029
1031
  var nodeUtil_default = nodeUtil;
1030
1032
 
1031
1033
  // ../../node_modules/lodash-es/isTypedArray.js
@@ -9570,6 +9572,7 @@ applyMixins(Parser, [
9570
9572
 
9571
9573
  // ../../packages/core/lib/lexer-builder/LexerBuilder.ts
9572
9574
  var LexerBuilder = class _LexerBuilder {
9575
+ tokens;
9573
9576
  static create(starter) {
9574
9577
  return new _LexerBuilder(starter);
9575
9578
  }
@@ -9910,6 +9913,7 @@ __export(grammar_exports, {
9910
9913
  quads: () => quads,
9911
9914
  quadsNotTriples: () => quadsNotTriples,
9912
9915
  query: () => query,
9916
+ queryOrUpdate: () => queryOrUpdate,
9913
9917
  queryUnit: () => queryUnit,
9914
9918
  rdfLiteral: () => rdfLiteral,
9915
9919
  regexExpression: () => regexExpression,
@@ -9948,10 +9952,10 @@ __export(grammar_exports, {
9948
9952
  whereClause: () => whereClause
9949
9953
  });
9950
9954
 
9951
- // ../../packages/rules-sparql-1-1/lib/lexer/BuildinCalls.ts
9952
- var BuildinCalls_exports = {};
9953
- __export(BuildinCalls_exports, {
9954
- BuildInCalls: () => BuildInCalls,
9955
+ // ../../packages/rules-sparql-1-1/lib/lexer/BuiltInCalls.ts
9956
+ var BuiltInCalls_exports = {};
9957
+ __export(BuiltInCalls_exports, {
9958
+ BuiltInCalls: () => BuiltInCalls,
9955
9959
  abs: () => abs,
9956
9960
  allBuiltInCalls: () => allBuiltInCalls,
9957
9961
  avg: () => avg,
@@ -10015,70 +10019,70 @@ __export(BuildinCalls_exports, {
10015
10019
  uuid: () => uuid,
10016
10020
  year: () => year
10017
10021
  });
10018
- var BuildInCalls = /* @__PURE__ */ ((BuildInCalls2) => {
10019
- BuildInCalls2["Str"] = "builtInStr";
10020
- BuildInCalls2["Lang"] = "builtInLang";
10021
- BuildInCalls2["Langmatches"] = "builtInLangmatches";
10022
- BuildInCalls2["Datatype"] = "builtInDatatype";
10023
- BuildInCalls2["Bound"] = "builtInBound";
10024
- BuildInCalls2["Iri"] = "builtInIri";
10025
- BuildInCalls2["Uri"] = "builtInUri";
10026
- BuildInCalls2["Bnode"] = "builtInBnode";
10027
- BuildInCalls2["Rand"] = "builtInRand";
10028
- BuildInCalls2["Abs"] = "builtInAbs";
10029
- BuildInCalls2["Ceil"] = "builtInCeil";
10030
- BuildInCalls2["Floor"] = "builtInFloor";
10031
- BuildInCalls2["Round"] = "builtInRound";
10032
- BuildInCalls2["Concat"] = "builtInConcat";
10033
- BuildInCalls2["Strlen"] = "builtInStrlen";
10034
- BuildInCalls2["Ucase"] = "builtInUcase";
10035
- BuildInCalls2["Lcase"] = "builtInLcase";
10036
- BuildInCalls2["Encode_for_uri"] = "builtInEncode_for_uri";
10037
- BuildInCalls2["Contains"] = "builtInContains";
10038
- BuildInCalls2["Strstarts"] = "builtInStrstarts";
10039
- BuildInCalls2["Strends"] = "builtInStrends";
10040
- BuildInCalls2["Strbefore"] = "builtInStrbefore";
10041
- BuildInCalls2["Strafter"] = "builtInStrafter";
10042
- BuildInCalls2["Year"] = "builtInYear";
10043
- BuildInCalls2["Month"] = "builtInMonth";
10044
- BuildInCalls2["Day"] = "builtInDay";
10045
- BuildInCalls2["Hours"] = "builtInHours";
10046
- BuildInCalls2["Minutes"] = "builtInMinutes";
10047
- BuildInCalls2["Seconds"] = "builtInSeconds";
10048
- BuildInCalls2["Timezone"] = "builtInTimezone";
10049
- BuildInCalls2["Tz"] = "builtInTz";
10050
- BuildInCalls2["Now"] = "builtInNow";
10051
- BuildInCalls2["Uuid"] = "builtInUuid";
10052
- BuildInCalls2["Struuid"] = "builtInStruuid";
10053
- BuildInCalls2["Md5"] = "builtInMd5";
10054
- BuildInCalls2["Sha1"] = "builtInSha1";
10055
- BuildInCalls2["Sha256"] = "builtInSha256";
10056
- BuildInCalls2["Sha384"] = "builtInSha384";
10057
- BuildInCalls2["Sha512"] = "builtInSha512";
10058
- BuildInCalls2["Coalesce"] = "builtInCoalesce";
10059
- BuildInCalls2["If"] = "builtInIf";
10060
- BuildInCalls2["Strlang"] = "builtInStrlang";
10061
- BuildInCalls2["Strdt"] = "builtInStrdt";
10062
- BuildInCalls2["Sameterm"] = "builtInSameterm";
10063
- BuildInCalls2["Isiri"] = "builtInIsiri";
10064
- BuildInCalls2["Isuri"] = "builtInIsuri";
10065
- BuildInCalls2["Isblank"] = "builtInIsblank";
10066
- BuildInCalls2["Isliteral"] = "builtInIsliteral";
10067
- BuildInCalls2["Isnumeric"] = "builtInIsnumeric";
10068
- BuildInCalls2["Regex"] = "builtInRegex";
10069
- BuildInCalls2["Substr"] = "builtInSubstr";
10070
- BuildInCalls2["Replace"] = "builtInReplace";
10071
- BuildInCalls2["Exists"] = "builtInExists";
10072
- BuildInCalls2["Notexists"] = "builtInNotexists";
10073
- BuildInCalls2["Count"] = "builtInCount";
10074
- BuildInCalls2["Sum"] = "builtInSum";
10075
- BuildInCalls2["Min"] = "builtInMin";
10076
- BuildInCalls2["Max"] = "builtInMax";
10077
- BuildInCalls2["Avg"] = "builtInAvg";
10078
- BuildInCalls2["Sample"] = "builtInSample";
10079
- BuildInCalls2["Group_concat"] = "builtInGroup_concat";
10080
- return BuildInCalls2;
10081
- })(BuildInCalls || {});
10022
+ var BuiltInCalls = /* @__PURE__ */ ((BuiltInCalls2) => {
10023
+ BuiltInCalls2["Str"] = "builtInStr";
10024
+ BuiltInCalls2["Lang"] = "builtInLang";
10025
+ BuiltInCalls2["Langmatches"] = "builtInLangmatches";
10026
+ BuiltInCalls2["Datatype"] = "builtInDatatype";
10027
+ BuiltInCalls2["Bound"] = "builtInBound";
10028
+ BuiltInCalls2["Iri"] = "builtInIri";
10029
+ BuiltInCalls2["Uri"] = "builtInUri";
10030
+ BuiltInCalls2["Bnode"] = "builtInBnode";
10031
+ BuiltInCalls2["Rand"] = "builtInRand";
10032
+ BuiltInCalls2["Abs"] = "builtInAbs";
10033
+ BuiltInCalls2["Ceil"] = "builtInCeil";
10034
+ BuiltInCalls2["Floor"] = "builtInFloor";
10035
+ BuiltInCalls2["Round"] = "builtInRound";
10036
+ BuiltInCalls2["Concat"] = "builtInConcat";
10037
+ BuiltInCalls2["Strlen"] = "builtInStrlen";
10038
+ BuiltInCalls2["Ucase"] = "builtInUcase";
10039
+ BuiltInCalls2["Lcase"] = "builtInLcase";
10040
+ BuiltInCalls2["Encode_for_uri"] = "builtInEncode_for_uri";
10041
+ BuiltInCalls2["Contains"] = "builtInContains";
10042
+ BuiltInCalls2["Strstarts"] = "builtInStrstarts";
10043
+ BuiltInCalls2["Strends"] = "builtInStrends";
10044
+ BuiltInCalls2["Strbefore"] = "builtInStrbefore";
10045
+ BuiltInCalls2["Strafter"] = "builtInStrafter";
10046
+ BuiltInCalls2["Year"] = "builtInYear";
10047
+ BuiltInCalls2["Month"] = "builtInMonth";
10048
+ BuiltInCalls2["Day"] = "builtInDay";
10049
+ BuiltInCalls2["Hours"] = "builtInHours";
10050
+ BuiltInCalls2["Minutes"] = "builtInMinutes";
10051
+ BuiltInCalls2["Seconds"] = "builtInSeconds";
10052
+ BuiltInCalls2["Timezone"] = "builtInTimezone";
10053
+ BuiltInCalls2["Tz"] = "builtInTz";
10054
+ BuiltInCalls2["Now"] = "builtInNow";
10055
+ BuiltInCalls2["Uuid"] = "builtInUuid";
10056
+ BuiltInCalls2["Struuid"] = "builtInStruuid";
10057
+ BuiltInCalls2["Md5"] = "builtInMd5";
10058
+ BuiltInCalls2["Sha1"] = "builtInSha1";
10059
+ BuiltInCalls2["Sha256"] = "builtInSha256";
10060
+ BuiltInCalls2["Sha384"] = "builtInSha384";
10061
+ BuiltInCalls2["Sha512"] = "builtInSha512";
10062
+ BuiltInCalls2["Coalesce"] = "builtInCoalesce";
10063
+ BuiltInCalls2["If"] = "builtInIf";
10064
+ BuiltInCalls2["Strlang"] = "builtInStrlang";
10065
+ BuiltInCalls2["Strdt"] = "builtInStrdt";
10066
+ BuiltInCalls2["Sameterm"] = "builtInSameterm";
10067
+ BuiltInCalls2["Isiri"] = "builtInIsiri";
10068
+ BuiltInCalls2["Isuri"] = "builtInIsuri";
10069
+ BuiltInCalls2["Isblank"] = "builtInIsblank";
10070
+ BuiltInCalls2["Isliteral"] = "builtInIsliteral";
10071
+ BuiltInCalls2["Isnumeric"] = "builtInIsnumeric";
10072
+ BuiltInCalls2["Regex"] = "builtInRegex";
10073
+ BuiltInCalls2["Substr"] = "builtInSubstr";
10074
+ BuiltInCalls2["Replace"] = "builtInReplace";
10075
+ BuiltInCalls2["Exists"] = "builtInExists";
10076
+ BuiltInCalls2["Notexists"] = "builtInNotexists";
10077
+ BuiltInCalls2["Count"] = "builtInCount";
10078
+ BuiltInCalls2["Sum"] = "builtInSum";
10079
+ BuiltInCalls2["Min"] = "builtInMin";
10080
+ BuiltInCalls2["Max"] = "builtInMax";
10081
+ BuiltInCalls2["Avg"] = "builtInAvg";
10082
+ BuiltInCalls2["Sample"] = "builtInSample";
10083
+ BuiltInCalls2["Group_concat"] = "builtInGroup_concat";
10084
+ return BuiltInCalls2;
10085
+ })(BuiltInCalls || {});
10082
10086
  function capitalize(string2) {
10083
10087
  return string2.charAt(0).toUpperCase() + string2.slice(1);
10084
10088
  }
@@ -10582,7 +10586,7 @@ var allBaseTokens = LexerBuilder.create().add(
10582
10586
  notIn,
10583
10587
  separator
10584
10588
  );
10585
- var sparql11Tokens = LexerBuilder.create(allTerminals).merge(allBaseTokens).merge(allBuiltInCalls).merge(allGraphTokens).merge(allSymbols).moveBefore(datatype, dataClause).moveAfter(avg, a).moveBefore(a, graphAll).moveAfter(groupConcat, groupByGroup);
10589
+ var sparql11LexerBuilder = LexerBuilder.create(allTerminals).merge(allBaseTokens).merge(allBuiltInCalls).merge(allGraphTokens).merge(allSymbols).moveBefore(datatype, dataClause).moveAfter(avg, a).moveBefore(a, graphAll).moveAfter(groupConcat, groupByGroup);
10586
10590
 
10587
10591
  // ../../packages/rules-sparql-1-1/lib/factoryMixins/ContextFactory.ts
10588
10592
  var nodeType = "contextDef";
@@ -11027,10 +11031,7 @@ function SolutionModifiersFactoryMixin(Base) {
11027
11031
  var nodeType8 = "term";
11028
11032
  function TermFactoryMixin(Base) {
11029
11033
  return class TermFactory extends Base {
11030
- constructor() {
11031
- super(...arguments);
11032
- this.__blankNodeCounter = 0;
11033
- }
11034
+ __blankNodeCounter = 0;
11034
11035
  resetBlankNodeCounter() {
11035
11036
  this.__blankNodeCounter = 0;
11036
11037
  }
@@ -11746,6 +11747,120 @@ var verbA = {
11746
11747
  }
11747
11748
  };
11748
11749
 
11750
+ // ../../packages/rules-sparql-1-1/lib/grammar/general.ts
11751
+ var prologue = {
11752
+ name: "prologue",
11753
+ impl: ({ SUBRULE, MANY, OR }) => () => {
11754
+ const result = [];
11755
+ MANY(() => OR([
11756
+ { ALT: () => result.push(SUBRULE(baseDecl2)) },
11757
+ // TODO: the [spec](https://www.w3.org/TR/sparql11-query/#iriRefs) says you cannot redefine prefixes.
11758
+ // We might need to check this.
11759
+ { ALT: () => result.push(SUBRULE(prefixDecl2)) }
11760
+ ]));
11761
+ return result;
11762
+ },
11763
+ gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
11764
+ for (const context of ast) {
11765
+ if (F2.isContextDefinitionBase(context)) {
11766
+ SUBRULE(baseDecl2, context);
11767
+ } else if (F2.isContextDefinitionPrefix(context)) {
11768
+ SUBRULE(prefixDecl2, context);
11769
+ }
11770
+ }
11771
+ }
11772
+ };
11773
+ var baseDecl2 = {
11774
+ name: "baseDecl",
11775
+ impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
11776
+ const base = CONSUME(baseDecl);
11777
+ const val = SUBRULE(iriFull);
11778
+ return ACTION(() => C.factory.contextDefinitionBase(C.factory.sourceLocation(base, val), val));
11779
+ },
11780
+ gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
11781
+ F2.printFilter(ast, () => PRINT_WORD("BASE"));
11782
+ SUBRULE(iri2, ast.value);
11783
+ }
11784
+ };
11785
+ var prefixDecl2 = {
11786
+ name: "prefixDecl",
11787
+ impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
11788
+ const prefix = CONSUME(prefixDecl);
11789
+ const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
11790
+ const value = SUBRULE(iriFull);
11791
+ return ACTION(() => C.factory.contextDefinitionPrefix(C.factory.sourceLocation(prefix, value), name, value));
11792
+ },
11793
+ gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { factory: F2 }) => {
11794
+ F2.printFilter(ast, () => {
11795
+ PRINT_WORDS("PREFIX", `${ast.key}:`);
11796
+ });
11797
+ SUBRULE(iri2, ast.value);
11798
+ }
11799
+ };
11800
+ var verb = {
11801
+ name: "verb",
11802
+ impl: ({ SUBRULE, OR }) => () => OR([
11803
+ { ALT: () => SUBRULE(varOrIri) },
11804
+ { ALT: () => SUBRULE(verbA) }
11805
+ ])
11806
+ };
11807
+ var varOrTerm = {
11808
+ name: "varOrTerm",
11809
+ impl: ({ SUBRULE, OR }) => (C) => OR([
11810
+ { GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
11811
+ { ALT: () => SUBRULE(graphTerm) }
11812
+ ]),
11813
+ gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
11814
+ if (F2.isTermVariable(ast)) {
11815
+ return SUBRULE(var_, ast);
11816
+ }
11817
+ return SUBRULE(graphTerm, ast);
11818
+ }
11819
+ };
11820
+ var varOrIri = {
11821
+ name: "varOrIri",
11822
+ impl: ({ SUBRULE, OR }) => (C) => OR([
11823
+ { GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
11824
+ { ALT: () => SUBRULE(iri2) }
11825
+ ])
11826
+ };
11827
+ var var_ = {
11828
+ name: "var",
11829
+ impl: ({ ACTION, CONSUME, OR }) => (C) => {
11830
+ const varToken = OR([
11831
+ { ALT: () => CONSUME(terminals_exports.var1) },
11832
+ { ALT: () => CONSUME(terminals_exports.var2) }
11833
+ ]);
11834
+ return ACTION(() => C.factory.variable(varToken.image.slice(1), C.factory.sourceLocation(varToken)));
11835
+ },
11836
+ gImpl: ({ PRINT_WORD }) => (ast, { factory: F2 }) => {
11837
+ F2.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
11838
+ }
11839
+ };
11840
+ var graphTerm = {
11841
+ name: "graphTerm",
11842
+ impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
11843
+ { ALT: () => SUBRULE(iri2) },
11844
+ { ALT: () => SUBRULE(rdfLiteral) },
11845
+ { ALT: () => SUBRULE(numericLiteral) },
11846
+ { ALT: () => SUBRULE(booleanLiteral) },
11847
+ { GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode) },
11848
+ { ALT: () => {
11849
+ const tokenNil = CONSUME(terminals_exports.nil);
11850
+ return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(tokenNil), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
11851
+ } }
11852
+ ]),
11853
+ gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
11854
+ if (F2.isTermNamed(ast)) {
11855
+ SUBRULE(iri2, ast);
11856
+ } else if (F2.isTermLiteral(ast)) {
11857
+ SUBRULE(rdfLiteral, ast);
11858
+ } else if (F2.isTermBlank(ast)) {
11859
+ SUBRULE(blankNode, ast);
11860
+ }
11861
+ }
11862
+ };
11863
+
11749
11864
  // ../../packages/rules-sparql-1-1/lib/grammar/dataSetClause.ts
11750
11865
  function datasetClauseUsing(name, token) {
11751
11866
  return {
@@ -12001,55 +12116,55 @@ function baseAggregateFunc(func) {
12001
12116
  }
12002
12117
 
12003
12118
  // ../../packages/rules-sparql-1-1/lib/grammar/builtIn.ts
12004
- var builtInStr = funcExpr1(BuildinCalls_exports.str);
12005
- var builtInLang = funcExpr1(BuildinCalls_exports.lang);
12006
- var builtInLangmatches = funcExpr2(BuildinCalls_exports.langmatches);
12007
- var builtInDatatype = funcExpr1(BuildinCalls_exports.datatype);
12008
- var builtInBound = funcVar1(BuildinCalls_exports.bound);
12009
- var builtInIri = funcExpr1(BuildinCalls_exports.iri);
12010
- var builtInUri = funcExpr1(BuildinCalls_exports.uri);
12011
- var builtInBnodeSparqlJs = funcExprOrNil1(BuildinCalls_exports.bnode);
12012
- var builtInRand = funcNil1(BuildinCalls_exports.rand);
12013
- var builtInAbs = funcExpr1(BuildinCalls_exports.abs);
12014
- var builtInCeil = funcExpr1(BuildinCalls_exports.ceil);
12015
- var builtInFloor = funcExpr1(BuildinCalls_exports.floor);
12016
- var builtInRound = funcExpr1(BuildinCalls_exports.round);
12017
- var builtInConcat = funcExprList1(BuildinCalls_exports.concat);
12018
- var builtInStrlen = funcExpr1(BuildinCalls_exports.strlen);
12019
- var builtInUcase = funcExpr1(BuildinCalls_exports.ucase);
12020
- var builtInLcase = funcExpr1(BuildinCalls_exports.lcase);
12021
- var builtInEncode_for_uri = funcExpr1(BuildinCalls_exports.encode_for_uri);
12022
- var builtInContains = funcExpr2(BuildinCalls_exports.contains);
12023
- var builtInStrstarts = funcExpr2(BuildinCalls_exports.strstarts);
12024
- var builtInStrends = funcExpr2(BuildinCalls_exports.strends);
12025
- var builtInStrbefore = funcExpr2(BuildinCalls_exports.strbefore);
12026
- var builtInStrafter = funcExpr2(BuildinCalls_exports.strafter);
12027
- var builtInYear = funcExpr1(BuildinCalls_exports.year);
12028
- var builtInMonth = funcExpr1(BuildinCalls_exports.month);
12029
- var builtInDay = funcExpr1(BuildinCalls_exports.day);
12030
- var builtInHours = funcExpr1(BuildinCalls_exports.hours);
12031
- var builtInMinutes = funcExpr1(BuildinCalls_exports.minutes);
12032
- var builtInSeconds = funcExpr1(BuildinCalls_exports.seconds);
12033
- var builtInTimezone = funcExpr1(BuildinCalls_exports.timezone);
12034
- var builtInTz = funcExpr1(BuildinCalls_exports.tz);
12035
- var builtInNow = funcNil1(BuildinCalls_exports.now);
12036
- var builtInUuid = funcNil1(BuildinCalls_exports.uuid);
12037
- var builtInStruuid = funcNil1(BuildinCalls_exports.struuid);
12038
- var builtInMd5 = funcExpr1(BuildinCalls_exports.md5);
12039
- var builtInSha1 = funcExpr1(BuildinCalls_exports.sha1);
12040
- var builtInSha256 = funcExpr1(BuildinCalls_exports.sha256);
12041
- var builtInSha384 = funcExpr1(BuildinCalls_exports.sha384);
12042
- var builtInSha512 = funcExpr1(BuildinCalls_exports.sha512);
12043
- var builtInCoalesce = funcExprList1(BuildinCalls_exports.coalesce);
12044
- var builtInIf = funcExpr3(BuildinCalls_exports.if_);
12045
- var builtInStrlang = funcExpr2(BuildinCalls_exports.strlang);
12046
- var builtInStrdt = funcExpr2(BuildinCalls_exports.strdt);
12047
- var builtInSameterm = funcExpr2(BuildinCalls_exports.sameterm);
12048
- var builtInIsiri = funcExpr1(BuildinCalls_exports.isiri);
12049
- var builtInIsuri = funcExpr1(BuildinCalls_exports.isuri);
12050
- var builtInIsblank = funcExpr1(BuildinCalls_exports.isblank);
12051
- var builtInIsliteral = funcExpr1(BuildinCalls_exports.isliteral);
12052
- var builtInIsnumeric = funcExpr1(BuildinCalls_exports.isnumeric);
12119
+ var builtInStr = funcExpr1(BuiltInCalls_exports.str);
12120
+ var builtInLang = funcExpr1(BuiltInCalls_exports.lang);
12121
+ var builtInLangmatches = funcExpr2(BuiltInCalls_exports.langmatches);
12122
+ var builtInDatatype = funcExpr1(BuiltInCalls_exports.datatype);
12123
+ var builtInBound = funcVar1(BuiltInCalls_exports.bound);
12124
+ var builtInIri = funcExpr1(BuiltInCalls_exports.iri);
12125
+ var builtInUri = funcExpr1(BuiltInCalls_exports.uri);
12126
+ var builtInBnodeSparqlJs = funcExprOrNil1(BuiltInCalls_exports.bnode);
12127
+ var builtInRand = funcNil1(BuiltInCalls_exports.rand);
12128
+ var builtInAbs = funcExpr1(BuiltInCalls_exports.abs);
12129
+ var builtInCeil = funcExpr1(BuiltInCalls_exports.ceil);
12130
+ var builtInFloor = funcExpr1(BuiltInCalls_exports.floor);
12131
+ var builtInRound = funcExpr1(BuiltInCalls_exports.round);
12132
+ var builtInConcat = funcExprList1(BuiltInCalls_exports.concat);
12133
+ var builtInStrlen = funcExpr1(BuiltInCalls_exports.strlen);
12134
+ var builtInUcase = funcExpr1(BuiltInCalls_exports.ucase);
12135
+ var builtInLcase = funcExpr1(BuiltInCalls_exports.lcase);
12136
+ var builtInEncode_for_uri = funcExpr1(BuiltInCalls_exports.encode_for_uri);
12137
+ var builtInContains = funcExpr2(BuiltInCalls_exports.contains);
12138
+ var builtInStrstarts = funcExpr2(BuiltInCalls_exports.strstarts);
12139
+ var builtInStrends = funcExpr2(BuiltInCalls_exports.strends);
12140
+ var builtInStrbefore = funcExpr2(BuiltInCalls_exports.strbefore);
12141
+ var builtInStrafter = funcExpr2(BuiltInCalls_exports.strafter);
12142
+ var builtInYear = funcExpr1(BuiltInCalls_exports.year);
12143
+ var builtInMonth = funcExpr1(BuiltInCalls_exports.month);
12144
+ var builtInDay = funcExpr1(BuiltInCalls_exports.day);
12145
+ var builtInHours = funcExpr1(BuiltInCalls_exports.hours);
12146
+ var builtInMinutes = funcExpr1(BuiltInCalls_exports.minutes);
12147
+ var builtInSeconds = funcExpr1(BuiltInCalls_exports.seconds);
12148
+ var builtInTimezone = funcExpr1(BuiltInCalls_exports.timezone);
12149
+ var builtInTz = funcExpr1(BuiltInCalls_exports.tz);
12150
+ var builtInNow = funcNil1(BuiltInCalls_exports.now);
12151
+ var builtInUuid = funcNil1(BuiltInCalls_exports.uuid);
12152
+ var builtInStruuid = funcNil1(BuiltInCalls_exports.struuid);
12153
+ var builtInMd5 = funcExpr1(BuiltInCalls_exports.md5);
12154
+ var builtInSha1 = funcExpr1(BuiltInCalls_exports.sha1);
12155
+ var builtInSha256 = funcExpr1(BuiltInCalls_exports.sha256);
12156
+ var builtInSha384 = funcExpr1(BuiltInCalls_exports.sha384);
12157
+ var builtInSha512 = funcExpr1(BuiltInCalls_exports.sha512);
12158
+ var builtInCoalesce = funcExprList1(BuiltInCalls_exports.coalesce);
12159
+ var builtInIf = funcExpr3(BuiltInCalls_exports.if_);
12160
+ var builtInStrlang = funcExpr2(BuiltInCalls_exports.strlang);
12161
+ var builtInStrdt = funcExpr2(BuiltInCalls_exports.strdt);
12162
+ var builtInSameterm = funcExpr2(BuiltInCalls_exports.sameterm);
12163
+ var builtInIsiri = funcExpr1(BuiltInCalls_exports.isiri);
12164
+ var builtInIsuri = funcExpr1(BuiltInCalls_exports.isuri);
12165
+ var builtInIsblank = funcExpr1(BuiltInCalls_exports.isblank);
12166
+ var builtInIsliteral = funcExpr1(BuiltInCalls_exports.isliteral);
12167
+ var builtInIsnumeric = funcExpr1(BuiltInCalls_exports.isnumeric);
12053
12168
  function builtInCallList(SUBRULE) {
12054
12169
  return [
12055
12170
  { ALT: () => SUBRULE(aggregate) },
@@ -12121,15 +12236,15 @@ var builtInCall = {
12121
12236
  return OR(builtIns);
12122
12237
  }
12123
12238
  };
12124
- var regexExpression = funcExpr2or3(BuildinCalls_exports.regex);
12125
- var substringExpression = funcExpr2or3(BuildinCalls_exports.substr);
12126
- var strReplaceExpression = funcExpr3or4(BuildinCalls_exports.replace);
12127
- var existsFunc = funcGroupGraphPattern(BuildinCalls_exports.exists);
12128
- var notExistsFunc = funcGroupGraphPattern(BuildinCalls_exports.notexists);
12239
+ var regexExpression = funcExpr2or3(BuiltInCalls_exports.regex);
12240
+ var substringExpression = funcExpr2or3(BuiltInCalls_exports.substr);
12241
+ var strReplaceExpression = funcExpr3or4(BuiltInCalls_exports.replace);
12242
+ var existsFunc = funcGroupGraphPattern(BuiltInCalls_exports.exists);
12243
+ var notExistsFunc = funcGroupGraphPattern(BuiltInCalls_exports.notexists);
12129
12244
  var aggregateCount = {
12130
- name: unCapitalize(BuildinCalls_exports.count.name),
12245
+ name: unCapitalize(BuiltInCalls_exports.count.name),
12131
12246
  impl: ({ ACTION, CONSUME, SUBRULE, OR, OPTION }) => (C) => {
12132
- const operatorToken = CONSUME(BuildinCalls_exports.count);
12247
+ const operatorToken = CONSUME(BuiltInCalls_exports.count);
12133
12248
  CONSUME(symbols_exports.LParen);
12134
12249
  const distinctToken = OPTION(() => CONSUME(distinct));
12135
12250
  const expressionVal = OR([
@@ -12161,15 +12276,15 @@ var aggregateCount = {
12161
12276
  });
12162
12277
  }
12163
12278
  };
12164
- var aggregateSum = baseAggregateFunc(BuildinCalls_exports.sum);
12165
- var aggregateMin = baseAggregateFunc(BuildinCalls_exports.min);
12166
- var aggregateMax = baseAggregateFunc(BuildinCalls_exports.max);
12167
- var aggregateAvg = baseAggregateFunc(BuildinCalls_exports.avg);
12168
- var aggregateSample = baseAggregateFunc(BuildinCalls_exports.sample);
12279
+ var aggregateSum = baseAggregateFunc(BuiltInCalls_exports.sum);
12280
+ var aggregateMin = baseAggregateFunc(BuiltInCalls_exports.min);
12281
+ var aggregateMax = baseAggregateFunc(BuiltInCalls_exports.max);
12282
+ var aggregateAvg = baseAggregateFunc(BuiltInCalls_exports.avg);
12283
+ var aggregateSample = baseAggregateFunc(BuiltInCalls_exports.sample);
12169
12284
  var aggregateGroup_concat = {
12170
- name: unCapitalize(BuildinCalls_exports.groupConcat.name),
12285
+ name: unCapitalize(BuiltInCalls_exports.groupConcat.name),
12171
12286
  impl: ({ ACTION, CONSUME, OPTION1, SUBRULE, OPTION2 }) => (C) => {
12172
- const operatorToken = CONSUME(BuildinCalls_exports.groupConcat);
12287
+ const operatorToken = CONSUME(BuiltInCalls_exports.groupConcat);
12173
12288
  CONSUME(symbols_exports.LParen);
12174
12289
  const distinctToken = OPTION1(() => CONSUME(distinct));
12175
12290
  const expr = SUBRULE(expression);
@@ -12237,120 +12352,6 @@ var aggregate = {
12237
12352
  }
12238
12353
  };
12239
12354
 
12240
- // ../../packages/rules-sparql-1-1/lib/grammar/general.ts
12241
- var prologue = {
12242
- name: "prologue",
12243
- impl: ({ SUBRULE, MANY, OR }) => () => {
12244
- const result = [];
12245
- MANY(() => OR([
12246
- { ALT: () => result.push(SUBRULE(baseDecl2)) },
12247
- // TODO: the [spec](https://www.w3.org/TR/sparql11-query/#iriRefs) says you cannot redefine prefixes.
12248
- // We might need to check this.
12249
- { ALT: () => result.push(SUBRULE(prefixDecl2)) }
12250
- ]));
12251
- return result;
12252
- },
12253
- gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
12254
- for (const context of ast) {
12255
- if (F2.isContextDefinitionBase(context)) {
12256
- SUBRULE(baseDecl2, context);
12257
- } else if (F2.isContextDefinitionPrefix(context)) {
12258
- SUBRULE(prefixDecl2, context);
12259
- }
12260
- }
12261
- }
12262
- };
12263
- var baseDecl2 = {
12264
- name: "baseDecl",
12265
- impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
12266
- const base = CONSUME(baseDecl);
12267
- const val = SUBRULE(iriFull);
12268
- return ACTION(() => C.factory.contextDefinitionBase(C.factory.sourceLocation(base, val), val));
12269
- },
12270
- gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
12271
- F2.printFilter(ast, () => PRINT_WORD("BASE"));
12272
- SUBRULE(iri2, ast.value);
12273
- }
12274
- };
12275
- var prefixDecl2 = {
12276
- name: "prefixDecl",
12277
- impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
12278
- const prefix = CONSUME(prefixDecl);
12279
- const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
12280
- const value = SUBRULE(iriFull);
12281
- return ACTION(() => C.factory.contextDefinitionPrefix(C.factory.sourceLocation(prefix, value), name, value));
12282
- },
12283
- gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { factory: F2 }) => {
12284
- F2.printFilter(ast, () => {
12285
- PRINT_WORDS("PREFIX", `${ast.key}:`);
12286
- });
12287
- SUBRULE(iri2, ast.value);
12288
- }
12289
- };
12290
- var verb = {
12291
- name: "verb",
12292
- impl: ({ SUBRULE, OR }) => () => OR([
12293
- { ALT: () => SUBRULE(varOrIri) },
12294
- { ALT: () => SUBRULE(verbA) }
12295
- ])
12296
- };
12297
- var varOrTerm = {
12298
- name: "varOrTerm",
12299
- impl: ({ SUBRULE, OR }) => (C) => OR([
12300
- { GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
12301
- { ALT: () => SUBRULE(graphTerm) }
12302
- ]),
12303
- gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
12304
- if (F2.isTermVariable(ast)) {
12305
- return SUBRULE(var_, ast);
12306
- }
12307
- return SUBRULE(graphTerm, ast);
12308
- }
12309
- };
12310
- var varOrIri = {
12311
- name: "varOrIri",
12312
- impl: ({ SUBRULE, OR }) => (C) => OR([
12313
- { GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
12314
- { ALT: () => SUBRULE(iri2) }
12315
- ])
12316
- };
12317
- var var_ = {
12318
- name: "var",
12319
- impl: ({ ACTION, CONSUME, OR }) => (C) => {
12320
- const varToken = OR([
12321
- { ALT: () => CONSUME(terminals_exports.var1) },
12322
- { ALT: () => CONSUME(terminals_exports.var2) }
12323
- ]);
12324
- return ACTION(() => C.factory.variable(varToken.image.slice(1), C.factory.sourceLocation(varToken)));
12325
- },
12326
- gImpl: ({ PRINT_WORD }) => (ast, { factory: F2 }) => {
12327
- F2.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
12328
- }
12329
- };
12330
- var graphTerm = {
12331
- name: "graphTerm",
12332
- impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
12333
- { ALT: () => SUBRULE(iri2) },
12334
- { ALT: () => SUBRULE(rdfLiteral) },
12335
- { ALT: () => SUBRULE(numericLiteral) },
12336
- { ALT: () => SUBRULE(booleanLiteral) },
12337
- { GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode) },
12338
- { ALT: () => {
12339
- const tokenNil = CONSUME(terminals_exports.nil);
12340
- return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(tokenNil), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
12341
- } }
12342
- ]),
12343
- gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
12344
- if (F2.isTermNamed(ast)) {
12345
- SUBRULE(iri2, ast);
12346
- } else if (F2.isTermLiteral(ast)) {
12347
- SUBRULE(rdfLiteral, ast);
12348
- } else if (F2.isTermBlank(ast)) {
12349
- SUBRULE(blankNode, ast);
12350
- }
12351
- }
12352
- };
12353
-
12354
12355
  // ../../packages/rules-sparql-1-1/lib/grammar/propertyPaths.ts
12355
12356
  var path = {
12356
12357
  name: "path",
@@ -14606,8 +14607,83 @@ var quadsNotTriples = {
14606
14607
  }
14607
14608
  };
14608
14609
 
14609
- // lib/index.ts
14610
+ // ../../packages/rules-sparql-1-1/lib/grammar/index.ts
14610
14611
  var queryOrUpdate = {
14612
+ name: "queryOrUpdate",
14613
+ impl: ({ ACTION, SUBRULE, OR1, OR2, MANY, OPTION1, CONSUME, SUBRULE2 }) => (C) => {
14614
+ const prologueValues = SUBRULE(prologue);
14615
+ return OR1([
14616
+ { ALT: () => {
14617
+ const subType = OR2([
14618
+ { ALT: () => SUBRULE(selectQuery) },
14619
+ { ALT: () => SUBRULE(constructQuery) },
14620
+ { ALT: () => SUBRULE(describeQuery) },
14621
+ { ALT: () => SUBRULE(askQuery) }
14622
+ ]);
14623
+ const values3 = SUBRULE(valuesClause);
14624
+ return ACTION(() => ({
14625
+ context: prologueValues,
14626
+ ...subType,
14627
+ type: "query",
14628
+ ...values3 && { values: values3 },
14629
+ loc: C.factory.sourceLocation(
14630
+ prologueValues.at(0),
14631
+ subType,
14632
+ values3
14633
+ )
14634
+ }));
14635
+ } },
14636
+ { ALT: () => {
14637
+ const updates = [];
14638
+ updates.push({ context: prologueValues });
14639
+ let parsedSemi = true;
14640
+ MANY({
14641
+ GATE: () => parsedSemi,
14642
+ DEF: () => {
14643
+ parsedSemi = false;
14644
+ updates.at(-1).operation = SUBRULE(update1);
14645
+ OPTION1(() => {
14646
+ CONSUME(symbols_exports.semi);
14647
+ parsedSemi = true;
14648
+ const innerPrologue = SUBRULE2(prologue);
14649
+ updates.push({ context: innerPrologue });
14650
+ });
14651
+ }
14652
+ });
14653
+ return ACTION(() => {
14654
+ const update2 = {
14655
+ type: "update",
14656
+ updates,
14657
+ loc: C.factory.sourceLocation(
14658
+ ...updates[0].context,
14659
+ updates[0].operation,
14660
+ ...updates.at(-1).context,
14661
+ updates.at(-1)?.operation
14662
+ )
14663
+ };
14664
+ updateNoReuseBlankNodeLabels(update2);
14665
+ return update2;
14666
+ });
14667
+ } }
14668
+ ]);
14669
+ }
14670
+ };
14671
+
14672
+ // ../../packages/rules-sparql-1-1/lib/MinimalSparqlParser.ts
14673
+ function completeParseContext(context) {
14674
+ return {
14675
+ factory: context.factory ?? new Factory(),
14676
+ baseIRI: context.baseIRI,
14677
+ prefixes: { ...context.prefixes },
14678
+ origSource: context.origSource ?? "",
14679
+ offset: context.offset,
14680
+ parseMode: context.parseMode ? new Set(context.parseMode) : /* @__PURE__ */ new Set(["canParseVars", "canCreateBlankNodes"]),
14681
+ skipValidation: context.skipValidation ?? false
14682
+ };
14683
+ }
14684
+
14685
+ // lib/index.ts
14686
+ var queryOrUpdate2 = {
14611
14687
  name: "queryOrUpdate",
14612
14688
  gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
14613
14689
  if (F2.isQuery(ast)) {
@@ -14687,25 +14763,15 @@ var sparql11GeneratorBuilder = GeneratorBuilder.create([
14687
14763
  grammar_exports.minusGraphPattern,
14688
14764
  grammar_exports.groupOrUnionGraphPattern,
14689
14765
  grammar_exports.filter
14690
- ).addRule(queryOrUpdate);
14766
+ ).addRule(queryOrUpdate2);
14691
14767
  var Generator = class {
14692
- constructor() {
14693
- this.generator = sparql11GeneratorBuilder.build();
14694
- this.factory = new Factory();
14695
- }
14696
- generate(ast, origSource = "") {
14697
- return this.generator.queryOrUpdate(ast, {
14698
- factory: this.factory,
14699
- offset: 0,
14700
- origSource
14701
- });
14768
+ generator = sparql11GeneratorBuilder.build();
14769
+ factory = new Factory();
14770
+ generate(ast, context = {}) {
14771
+ return this.generator.queryOrUpdate(ast, completeParseContext(context));
14702
14772
  }
14703
- generatePath(ast, origSource = "") {
14704
- return this.generator.path(ast, {
14705
- factory: this.factory,
14706
- offset: 0,
14707
- origSource
14708
- }, void 0);
14773
+ generatePath(ast, context = {}) {
14774
+ return this.generator.path(ast, completeParseContext(context), void 0);
14709
14775
  }
14710
14776
  };
14711
14777
  /*! Bundled license information:
package/lib/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import type * as T11 from '@traqula/rules-sparql-1-1';
3
3
  import { Factory } from '@traqula/rules-sparql-1-1';
4
4
  export declare const sparql11GeneratorBuilder: GeneratorBuilder<{
5
5
  factory: Factory;
6
- }, "filter" | "add" | "clear" | "copy" | "move" | "var" | "path" | "drop" | "load" | "update" | "query" | "quads" | "graphRef" | "create" | "modify" | "datasetClauses" | "bind" | "solutionModifier" | "expression" | "aggregate" | "blankNode" | "rdfLiteral" | "iri" | "iriFull" | "prefixedName" | "usingClauses" | "groupGraphPattern" | "prologue" | "baseDecl" | "prefixDecl" | "varOrTerm" | "graphTerm" | "triplesBlock" | "triplesNodePath" | "graphNodePath" | "collectionPath" | "blankNodePropertyListPath" | "whereClause" | "generatePattern" | "graphPatternNotTriples" | "groupOrUnionGraphPattern" | "optionalGraphPattern" | "minusGraphPattern" | "graphGraphPattern" | "serviceGraphPattern" | "inlineData" | "argList" | "iriOrFunction" | "limitOffsetClauses" | "groupClause" | "havingClause" | "orderClause" | "selectQuery" | "constructQuery" | "describeQuery" | "askQuery" | "selectClause" | "update1" | "insertData" | "deleteData" | "deleteWhere" | "graphRefAll" | "quadsNotTriples" | "queryOrUpdate", {
6
+ }, "filter" | "add" | "clear" | "copy" | "move" | "var" | "path" | "drop" | "load" | "update" | "query" | "quads" | "graphRef" | "create" | "modify" | "datasetClauses" | "bind" | "solutionModifier" | "expression" | "aggregate" | "blankNode" | "rdfLiteral" | "iri" | "iriFull" | "prefixedName" | "prologue" | "baseDecl" | "prefixDecl" | "varOrTerm" | "graphTerm" | "usingClauses" | "groupGraphPattern" | "triplesBlock" | "triplesNodePath" | "graphNodePath" | "collectionPath" | "blankNodePropertyListPath" | "whereClause" | "generatePattern" | "graphPatternNotTriples" | "groupOrUnionGraphPattern" | "optionalGraphPattern" | "minusGraphPattern" | "graphGraphPattern" | "serviceGraphPattern" | "inlineData" | "argList" | "iriOrFunction" | "limitOffsetClauses" | "groupClause" | "havingClause" | "orderClause" | "selectQuery" | "constructQuery" | "describeQuery" | "askQuery" | "selectClause" | "update1" | "insertData" | "deleteData" | "deleteWhere" | "graphRefAll" | "quadsNotTriples" | "queryOrUpdate", {
7
7
  filter: import("@traqula/core").GeneratorRule<any, "filter"> & T11.SparqlGrammarRule<"filter", T11.PatternFilter, []> & T11.SparqlGeneratorRule<"filter", T11.PatternFilter, []>;
8
8
  add: import("@traqula/core").GeneratorRule<any, "add"> & T11.SparqlGrammarRule<"add", T11.UpdateOperationAdd | T11.UpdateOperationMove | T11.UpdateOperationCopy, []> & T11.SparqlGeneratorRule<"add", T11.UpdateOperationAdd | T11.UpdateOperationMove | T11.UpdateOperationCopy, []>;
9
9
  clear: import("@traqula/core").GeneratorRule<any, "clear"> & T11.SparqlGrammarRule<"clear", T11.UpdateOperationClear | T11.UpdateOperationDrop, []> & T11.SparqlGeneratorRule<"clear", T11.UpdateOperationClear | T11.UpdateOperationDrop, []>;
@@ -33,13 +33,13 @@ export declare const sparql11GeneratorBuilder: GeneratorBuilder<{
33
33
  iri: import("@traqula/core").GeneratorRule<any, "iri"> & T11.SparqlGrammarRule<"iri", T11.TermIri, []> & T11.SparqlGeneratorRule<"iri", T11.TermIri, []>;
34
34
  iriFull: import("@traqula/core").GeneratorRule<any, "iriFull"> & T11.SparqlGrammarRule<"iriFull", T11.TermIriFull, []> & T11.SparqlGeneratorRule<"iriFull", T11.TermIriFull, []>;
35
35
  prefixedName: import("@traqula/core").GeneratorRule<any, "prefixedName"> & T11.SparqlGrammarRule<"prefixedName", T11.TermIriPrefixed, []> & T11.SparqlGeneratorRule<"prefixedName", T11.TermIriPrefixed, []>;
36
- usingClauses: import("@traqula/core").GeneratorRule<any, "usingClauses"> & T11.SparqlGrammarRule<"usingClauses", T11.DatasetClauses, []> & T11.SparqlGeneratorRule<"usingClauses", T11.DatasetClauses, []>;
37
- groupGraphPattern: import("@traqula/core").GeneratorRule<any, "groupGraphPattern"> & T11.SparqlGrammarRule<"groupGraphPattern", T11.PatternGroup, []> & T11.SparqlGeneratorRule<"groupGraphPattern", T11.PatternGroup, []>;
38
36
  prologue: import("@traqula/core").GeneratorRule<any, "prologue"> & T11.SparqlGrammarRule<"prologue", T11.ContextDefinition[], []> & T11.SparqlGeneratorRule<"prologue", T11.ContextDefinition[], []>;
39
37
  baseDecl: import("@traqula/core").GeneratorRule<any, "baseDecl"> & T11.SparqlGrammarRule<"baseDecl", T11.ContextDefinitionBase, []> & T11.SparqlGeneratorRule<"baseDecl", T11.ContextDefinitionBase, []>;
40
38
  prefixDecl: import("@traqula/core").GeneratorRule<any, "prefixDecl"> & T11.SparqlGrammarRule<"prefixDecl", T11.ContextDefinitionPrefix, []> & T11.SparqlGeneratorRule<"prefixDecl", T11.ContextDefinitionPrefix, []>;
41
39
  varOrTerm: import("@traqula/core").GeneratorRule<any, "varOrTerm"> & T11.SparqlGrammarRule<"varOrTerm", T11.Term, []> & T11.SparqlGeneratorRule<"varOrTerm", T11.Term, []>;
42
40
  graphTerm: import("@traqula/core").GeneratorRule<any, "graphTerm"> & T11.SparqlGrammarRule<"graphTerm", T11.GraphTerm, []> & T11.SparqlGeneratorRule<"graphTerm", T11.GraphTerm, []>;
41
+ usingClauses: import("@traqula/core").GeneratorRule<any, "usingClauses"> & T11.SparqlGrammarRule<"usingClauses", T11.DatasetClauses, []> & T11.SparqlGeneratorRule<"usingClauses", T11.DatasetClauses, []>;
42
+ groupGraphPattern: import("@traqula/core").GeneratorRule<any, "groupGraphPattern"> & T11.SparqlGrammarRule<"groupGraphPattern", T11.PatternGroup, []> & T11.SparqlGeneratorRule<"groupGraphPattern", T11.PatternGroup, []>;
43
43
  triplesBlock: import("@traqula/core").GeneratorRule<any, "triplesBlock"> & T11.SparqlGrammarRule<"triplesBlock", T11.PatternBgp, []> & T11.SparqlGeneratorRule<"triplesBlock", T11.PatternBgp, []>;
44
44
  triplesNodePath: import("@traqula/core").GeneratorRule<any, "triplesNodePath"> & T11.SparqlGrammarRule<"triplesNodePath", T11.TripleCollection, []> & T11.SparqlGeneratorRule<"triplesNodePath", T11.TripleCollection, []>;
45
45
  graphNodePath: import("@traqula/core").GeneratorRule<any, "graphNodePath"> & T11.SparqlGrammarRule<"graphNodePath", T11.TripleCollection | T11.Term, []> & T11.SparqlGeneratorRule<"graphNodePath", T11.TripleCollection | T11.Term, []>;
@@ -75,9 +75,14 @@ export declare const sparql11GeneratorBuilder: GeneratorBuilder<{
75
75
  factory: Factory;
76
76
  }, "queryOrUpdate", T11.Update | T11.Query, []>;
77
77
  }>;
78
+ export type SparqlGenerator = ReturnType<typeof sparql11GeneratorBuilder.build>;
78
79
  export declare class Generator {
79
80
  private readonly generator;
80
81
  private readonly factory;
81
- generate(ast: T11.Query | T11.Update, origSource?: string): string;
82
- generatePath(ast: T11.Path, origSource?: string): string;
82
+ generate(ast: T11.Query | T11.Update, context?: Partial<T11.SparqlContext & {
83
+ origSource: string;
84
+ }>): string;
85
+ generatePath(ast: T11.Path, context?: Partial<T11.SparqlContext & {
86
+ origSource: string;
87
+ }>): string;
83
88
  }
package/lib/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { GeneratorBuilder } from '@traqula/core';
2
- import { Factory, gram } from '@traqula/rules-sparql-1-1';
2
+ import { completeParseContext, Factory, gram } from '@traqula/rules-sparql-1-1';
3
3
  const queryOrUpdate = {
4
4
  name: 'queryOrUpdate',
5
5
  gImpl: ({ SUBRULE }) => (ast, { factory: F }) => {
@@ -31,23 +31,13 @@ export const sparql11GeneratorBuilder = GeneratorBuilder.create([
31
31
  .addMany(gram.whereClause, gram.generatePattern, gram.groupGraphPattern, gram.graphPatternNotTriples, gram.optionalGraphPattern, gram.graphGraphPattern, gram.serviceGraphPattern, gram.bind, gram.inlineData, gram.minusGraphPattern, gram.groupOrUnionGraphPattern, gram.filter)
32
32
  .addRule(queryOrUpdate);
33
33
  export class Generator {
34
- constructor() {
35
- this.generator = sparql11GeneratorBuilder.build();
36
- this.factory = new Factory();
34
+ generator = sparql11GeneratorBuilder.build();
35
+ factory = new Factory();
36
+ generate(ast, context = {}) {
37
+ return this.generator.queryOrUpdate(ast, completeParseContext(context));
37
38
  }
38
- generate(ast, origSource = '') {
39
- return this.generator.queryOrUpdate(ast, {
40
- factory: this.factory,
41
- offset: 0,
42
- origSource,
43
- });
44
- }
45
- generatePath(ast, origSource = '') {
46
- return this.generator.path(ast, {
47
- factory: this.factory,
48
- offset: 0,
49
- origSource,
50
- }, undefined);
39
+ generatePath(ast, context = {}) {
40
+ return this.generator.path(ast, completeParseContext(context), undefined);
51
41
  }
52
42
  }
53
43
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["import { GeneratorBuilder } from '@traqula/core';\nimport type * as T11 from '@traqula/rules-sparql-1-1';\nimport { Factory, gram } from '@traqula/rules-sparql-1-1';\n\nconst queryOrUpdate: T11.SparqlGeneratorRule<'queryOrUpdate', T11.Query | T11.Update> = {\n name: 'queryOrUpdate',\n gImpl: ({ SUBRULE }) => (ast, { factory: F }) => {\n if (F.isQuery(ast)) {\n SUBRULE(gram.query, ast);\n } else {\n SUBRULE(gram.update, ast);\n }\n },\n};\n\nexport const sparql11GeneratorBuilder = GeneratorBuilder.create(<const> [\n gram.query,\n gram.selectQuery,\n gram.constructQuery,\n gram.describeQuery,\n gram.askQuery,\n gram.selectClause,\n])\n .addMany(\n gram.update,\n gram.update1,\n gram.load,\n gram.clear,\n gram.drop,\n gram.create,\n gram.copy,\n gram.move,\n gram.add,\n gram.insertData,\n gram.deleteData,\n gram.deleteWhere,\n gram.modify,\n gram.graphRef,\n gram.graphRefAll,\n gram.quads,\n gram.quadsNotTriples,\n )\n .addRule(gram.aggregate)\n .addMany(\n gram.datasetClauseStar,\n gram.usingClauseStar,\n )\n .addMany(\n gram.argList,\n gram.expression,\n gram.iriOrFunction,\n )\n .addMany(\n gram.prologue,\n gram.prefixDecl,\n gram.baseDecl,\n gram.varOrTerm,\n gram.var_,\n gram.graphTerm,\n )\n .addMany(\n gram.rdfLiteral,\n gram.iri,\n gram.iriFull,\n gram.prefixedName,\n gram.blankNode,\n )\n .addRule(gram.pathGenerator)\n .addMany(\n gram.solutionModifier,\n gram.groupClause,\n gram.havingClause,\n gram.orderClause,\n gram.limitOffsetClauses,\n )\n .addMany(\n gram.triplesBlock,\n gram.collectionPath,\n gram.blankNodePropertyListPath,\n gram.triplesNodePath,\n gram.graphNodePath,\n )\n .addMany(\n gram.whereClause,\n gram.generatePattern,\n gram.groupGraphPattern,\n gram.graphPatternNotTriples,\n gram.optionalGraphPattern,\n gram.graphGraphPattern,\n gram.serviceGraphPattern,\n gram.bind,\n gram.inlineData,\n gram.minusGraphPattern,\n gram.groupOrUnionGraphPattern,\n gram.filter,\n )\n .addRule(queryOrUpdate);\n\nexport class Generator {\n private readonly generator = sparql11GeneratorBuilder.build();\n private readonly factory = new Factory();\n\n public generate(ast: T11.Query | T11.Update, origSource = ''): string {\n return this.generator.queryOrUpdate(ast, {\n factory: this.factory,\n offset: 0,\n origSource,\n });\n }\n\n public generatePath(ast: T11.Path, origSource = ''): string {\n return this.generator.path(ast, {\n factory: this.factory,\n offset: 0,\n origSource,\n }, undefined);\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["import { GeneratorBuilder } from '@traqula/core';\nimport type * as T11 from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, Factory, gram } from '@traqula/rules-sparql-1-1';\n\nconst queryOrUpdate: T11.SparqlGeneratorRule<'queryOrUpdate', T11.Query | T11.Update> = {\n name: 'queryOrUpdate',\n gImpl: ({ SUBRULE }) => (ast, { factory: F }) => {\n if (F.isQuery(ast)) {\n SUBRULE(gram.query, ast);\n } else {\n SUBRULE(gram.update, ast);\n }\n },\n};\n\nexport const sparql11GeneratorBuilder = GeneratorBuilder.create(<const> [\n gram.query,\n gram.selectQuery,\n gram.constructQuery,\n gram.describeQuery,\n gram.askQuery,\n gram.selectClause,\n])\n .addMany(\n gram.update,\n gram.update1,\n gram.load,\n gram.clear,\n gram.drop,\n gram.create,\n gram.copy,\n gram.move,\n gram.add,\n gram.insertData,\n gram.deleteData,\n gram.deleteWhere,\n gram.modify,\n gram.graphRef,\n gram.graphRefAll,\n gram.quads,\n gram.quadsNotTriples,\n )\n .addRule(gram.aggregate)\n .addMany(\n gram.datasetClauseStar,\n gram.usingClauseStar,\n )\n .addMany(\n gram.argList,\n gram.expression,\n gram.iriOrFunction,\n )\n .addMany(\n gram.prologue,\n gram.prefixDecl,\n gram.baseDecl,\n gram.varOrTerm,\n gram.var_,\n gram.graphTerm,\n )\n .addMany(\n gram.rdfLiteral,\n gram.iri,\n gram.iriFull,\n gram.prefixedName,\n gram.blankNode,\n )\n .addRule(gram.pathGenerator)\n .addMany(\n gram.solutionModifier,\n gram.groupClause,\n gram.havingClause,\n gram.orderClause,\n gram.limitOffsetClauses,\n )\n .addMany(\n gram.triplesBlock,\n gram.collectionPath,\n gram.blankNodePropertyListPath,\n gram.triplesNodePath,\n gram.graphNodePath,\n )\n .addMany(\n gram.whereClause,\n gram.generatePattern,\n gram.groupGraphPattern,\n gram.graphPatternNotTriples,\n gram.optionalGraphPattern,\n gram.graphGraphPattern,\n gram.serviceGraphPattern,\n gram.bind,\n gram.inlineData,\n gram.minusGraphPattern,\n gram.groupOrUnionGraphPattern,\n gram.filter,\n )\n .addRule(queryOrUpdate);\n\nexport type SparqlGenerator = ReturnType<typeof sparql11GeneratorBuilder.build>;\n\nexport class Generator {\n private readonly generator: SparqlGenerator = sparql11GeneratorBuilder.build();\n private readonly factory = new Factory();\n\n public generate(\n ast: T11.Query | T11.Update,\ncontext: Partial<T11.SparqlContext & { origSource: string }> = {},\n ): string {\n return this.generator.queryOrUpdate(ast, completeParseContext(context));\n }\n\n public generatePath(ast: T11.Path, context: Partial<T11.SparqlContext & { origSource: string }> = {}): string {\n return this.generator.path(ast, completeParseContext(context), undefined);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@traqula/generator-sparql-1-1",
3
3
  "type": "module",
4
- "version": "0.0.4",
4
+ "version": "0.0.6",
5
5
  "description": "SPARQL 1.1 generator",
6
6
  "lsd:module": true,
7
7
  "license": "MIT",
@@ -32,7 +32,7 @@
32
32
  "lib/**/*.js.map"
33
33
  ],
34
34
  "engines": {
35
- "node": ">=18.0"
35
+ "node": "^20.19.0 || >=22.12.0"
36
36
  },
37
37
  "typings": "lib/index",
38
38
  "scripts": {
@@ -41,13 +41,13 @@
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.4",
45
- "@traqula/rules-sparql-1-1": "^0.0.4"
44
+ "@traqula/core": "^0.0.6",
45
+ "@traqula/rules-sparql-1-1": "^0.0.6"
46
46
  },
47
47
  "devDependencies": {
48
- "@traqula/parser-sparql-1-1": "^0.0.4",
48
+ "@traqula/parser-sparql-1-1": "^0.0.6",
49
49
  "@traqula/rules-sparql-1-1": "^0.0.1",
50
- "@traqula/test-utils": "^0.0.4"
50
+ "@traqula/test-utils": "^0.0.6"
51
51
  },
52
- "gitHead": "20092a93f9dda1c747deb7c0097a5046466fa93a"
52
+ "gitHead": "460d871c67226dbb250920747261c5fca4f5716f"
53
53
  }