@traqula/parser-sparql-1-2 0.0.23 → 0.0.25

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
@@ -8,6 +8,8 @@
8
8
 
9
9
  # Traqula parser engine for SPARQL 1.2
10
10
 
11
+ [![npm version](https://badge.fury.io/js/@traqula%2Fparser-sparql-1-2.svg)](https://www.npmjs.com/package/@traqula/parser-sparql-1-2)
12
+
11
13
  Traqula Sparql 1.2 is a [SPARQL 1.2](https://www.w3.org/TR/sparql12-query/#grammar) query parser for TypeScript.
12
14
  It is a grammar extension of [Traqula engine-sparql-1-1](https://github.com/comunica/traqula/tree/main/engines/engine-sparql-1-1)
13
15
 
@@ -1,58 +1,72 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var Parser_exports = {};
20
- __export(Parser_exports, {
21
- Parser: () => Parser,
22
- sparql12ParserBuilder: () => sparql12ParserBuilder
23
- });
24
- module.exports = __toCommonJS(Parser_exports);
25
- var import_core = require("@traqula/core");
26
- var import_parser_sparql_1_1 = require("@traqula/parser-sparql-1-1");
27
- var import_rules_sparql_1_1 = require("@traqula/rules-sparql-1-1");
28
- var import_rules_sparql_1_2 = require("@traqula/rules-sparql-1-2");
29
- const sparql12ParserBuilder = import_core.ParserBuilder.create(import_parser_sparql_1_1.sparql11ParserBuilder).widenContext().typePatch().addMany(import_rules_sparql_1_2.gram.reifiedTripleBlock, import_rules_sparql_1_2.gram.reifiedTripleBlockPath, import_rules_sparql_1_2.gram.reifier, import_rules_sparql_1_2.gram.varOrReifierId, import_rules_sparql_1_2.gram.annotation, import_rules_sparql_1_2.gram.annotationPath, import_rules_sparql_1_2.gram.annotationBlockPath, import_rules_sparql_1_2.gram.annotationBlock, import_rules_sparql_1_2.gram.reifiedTriple, import_rules_sparql_1_2.gram.reifiedTripleSubject, import_rules_sparql_1_2.gram.reifiedTripleObject, import_rules_sparql_1_2.gram.tripleTerm, import_rules_sparql_1_2.gram.tripleTermSubject, import_rules_sparql_1_2.gram.tripleTermObject, import_rules_sparql_1_2.gram.tripleTermData, import_rules_sparql_1_2.gram.tripleTermDataSubject, import_rules_sparql_1_2.gram.tripleTermDataObject, import_rules_sparql_1_2.gram.exprTripleTerm, import_rules_sparql_1_2.gram.exprTripleTermSubject, import_rules_sparql_1_2.gram.exprTripleTermObject).addMany(import_rules_sparql_1_2.gram.versionDecl, import_rules_sparql_1_2.gram.versionSpecifier).addMany(import_rules_sparql_1_2.gram.buildInLangDir, import_rules_sparql_1_2.gram.buildInLangStrDir, import_rules_sparql_1_2.gram.buildInHasLang, import_rules_sparql_1_2.gram.buildInHasLangDir, import_rules_sparql_1_2.gram.buildInIsTriple, import_rules_sparql_1_2.gram.buildInTriple, import_rules_sparql_1_2.gram.buildInSubject, import_rules_sparql_1_2.gram.buildInPredicate, import_rules_sparql_1_2.gram.buildInObject).patchRule(import_rules_sparql_1_2.gram.dataBlockValue).patchRule(import_rules_sparql_1_2.gram.triplesSameSubject).patchRule(import_rules_sparql_1_2.gram.triplesSameSubjectPath).patchRule(import_rules_sparql_1_2.gram.object).patchRule(import_rules_sparql_1_2.gram.objectPath).patchRule(import_rules_sparql_1_2.gram.graphNode).patchRule(import_rules_sparql_1_2.gram.graphNodePath).patchRule(import_rules_sparql_1_2.gram.varOrTerm).deleteRule(import_rules_sparql_1_1.gram.graphTerm.name).patchRule(import_rules_sparql_1_2.gram.primaryExpression).patchRule(import_rules_sparql_1_2.gram.builtInCall).patchRule(import_rules_sparql_1_2.gram.rdfLiteral).patchRule(import_rules_sparql_1_2.gram.unaryExpression).patchRule(import_rules_sparql_1_2.gram.prologue);
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Parser = exports.sparql12ParserBuilder = void 0;
4
+ const core_1 = require("@traqula/core");
5
+ const parser_sparql_1_1_1 = require("@traqula/parser-sparql-1-1");
6
+ const rules_sparql_1_1_1 = require("@traqula/rules-sparql-1-1");
7
+ const rules_sparql_1_2_1 = require("@traqula/rules-sparql-1-2");
8
+ exports.sparql12ParserBuilder = core_1.ParserBuilder.create(parser_sparql_1_1_1.sparql11ParserBuilder)
9
+ .widenContext()
10
+ .typePatch()
11
+ .addMany(rules_sparql_1_2_1.gram.reifiedTripleBlock, rules_sparql_1_2_1.gram.reifiedTripleBlockPath, rules_sparql_1_2_1.gram.reifier, rules_sparql_1_2_1.gram.varOrReifierId, rules_sparql_1_2_1.gram.annotation, rules_sparql_1_2_1.gram.annotationPath, rules_sparql_1_2_1.gram.annotationBlockPath, rules_sparql_1_2_1.gram.annotationBlock, rules_sparql_1_2_1.gram.reifiedTriple, rules_sparql_1_2_1.gram.reifiedTripleSubject, rules_sparql_1_2_1.gram.reifiedTripleObject, rules_sparql_1_2_1.gram.tripleTerm, rules_sparql_1_2_1.gram.tripleTermSubject, rules_sparql_1_2_1.gram.tripleTermObject, rules_sparql_1_2_1.gram.tripleTermData, rules_sparql_1_2_1.gram.tripleTermDataSubject, rules_sparql_1_2_1.gram.tripleTermDataObject, rules_sparql_1_2_1.gram.exprTripleTerm, rules_sparql_1_2_1.gram.exprTripleTermSubject, rules_sparql_1_2_1.gram.exprTripleTermObject)
12
+ .addMany(rules_sparql_1_2_1.gram.versionDecl, rules_sparql_1_2_1.gram.versionSpecifier)
13
+ .addMany(rules_sparql_1_2_1.gram.buildInLangDir, rules_sparql_1_2_1.gram.buildInLangStrDir, rules_sparql_1_2_1.gram.buildInHasLang, rules_sparql_1_2_1.gram.buildInHasLangDir, rules_sparql_1_2_1.gram.buildInIsTriple, rules_sparql_1_2_1.gram.buildInTriple, rules_sparql_1_2_1.gram.buildInSubject, rules_sparql_1_2_1.gram.buildInPredicate, rules_sparql_1_2_1.gram.buildInObject)
14
+ .patchRule(rules_sparql_1_2_1.gram.dataBlockValue)
15
+ .patchRule(rules_sparql_1_2_1.gram.triplesSameSubject)
16
+ .patchRule(rules_sparql_1_2_1.gram.triplesSameSubjectPath)
17
+ .patchRule(rules_sparql_1_2_1.gram.object)
18
+ .patchRule(rules_sparql_1_2_1.gram.objectPath)
19
+ .patchRule(rules_sparql_1_2_1.gram.graphNode)
20
+ .patchRule(rules_sparql_1_2_1.gram.graphNodePath)
21
+ .patchRule(rules_sparql_1_2_1.gram.varOrTerm)
22
+ .deleteRule(rules_sparql_1_1_1.gram.graphTerm.name)
23
+ .patchRule(rules_sparql_1_2_1.gram.primaryExpression)
24
+ .patchRule(rules_sparql_1_2_1.gram.builtInCall)
25
+ .patchRule(rules_sparql_1_2_1.gram.rdfLiteral)
26
+ .patchRule(rules_sparql_1_2_1.gram.unaryExpression)
27
+ .patchRule(rules_sparql_1_2_1.gram.prologue);
28
+ /**
29
+ * Generator that can generate a SPARQL 1.2 AST given a SPARQL 1.2 string.
30
+ */
30
31
  class Parser {
31
- parser;
32
- F = new import_rules_sparql_1_2.AstFactory();
33
- constructor(args = {}) {
34
- this.parser = sparql12ParserBuilder.build({
35
- ...args,
36
- queryPreProcessor: import_rules_sparql_1_1.sparqlCodepointEscape,
37
- tokenVocabulary: import_rules_sparql_1_2.lex.sparql12LexerBuilder.tokenVocabulary
38
- });
39
- }
40
- parse(query, context = {}) {
41
- return this.parser.queryOrUpdate(query, (0, import_rules_sparql_1_2.completeParseContext)(context));
42
- }
43
- parsePath(query, context = {}) {
44
- const res = this.parser.path(query, (0, import_rules_sparql_1_2.completeParseContext)(context));
45
- if (this.F.isPathPure(res)) {
46
- return {
47
- ...res,
48
- prefixes: {}
49
- };
32
+ parser;
33
+ defaultContext;
34
+ constructor(args = {}) {
35
+ this.parser = exports.sparql12ParserBuilder.build({
36
+ ...args,
37
+ queryPreProcessor: rules_sparql_1_1_1.sparqlCodepointEscape,
38
+ tokenVocabulary: rules_sparql_1_2_1.lex.sparql12LexerBuilder.tokenVocabulary,
39
+ });
40
+ this.defaultContext = (0, rules_sparql_1_2_1.completeParseContext)(args.defaultContext ?? {});
41
+ }
42
+ /**
43
+ * Parse a query string starting from the
44
+ * [QueryUnit](https://www.w3.org/TR/sparql12-query/#rQueryUnit)
45
+ * or [QueryUpdate](https://www.w3.org/TR/sparql12-query/#rUpdateUnit) rules.
46
+ * @param query
47
+ * @param context
48
+ */
49
+ parse(query, context = {}) {
50
+ const ast = this.parser.queryOrUpdate(query, (0, rules_sparql_1_2_1.copyParseContext)({ ...this.defaultContext, ...context }));
51
+ ast.loc = this.defaultContext.astFactory.sourceLocationInlinedSource(query, ast.loc, 0, Number.MAX_SAFE_INTEGER);
52
+ return ast;
53
+ }
54
+ /**
55
+ * Parse a query string starting from the [Path](https://www.w3.org/TR/sparql12-query/#rPath) grammar rule.
56
+ * @param query
57
+ * @param context
58
+ */
59
+ parsePath(query, context = {}) {
60
+ const ast = this.parser.path(query, (0, rules_sparql_1_2_1.copyParseContext)({ ...this.defaultContext, ...context }));
61
+ ast.loc = this.defaultContext.astFactory.sourceLocationInlinedSource(query, ast.loc, 0, Number.MAX_SAFE_INTEGER);
62
+ if (this.defaultContext.astFactory.isPathPure(ast)) {
63
+ return {
64
+ ...ast,
65
+ prefixes: {},
66
+ };
67
+ }
68
+ return ast;
50
69
  }
51
- return res;
52
- }
53
70
  }
54
- // Annotate the CommonJS export names for ESM import in node:
55
- 0 && (module.exports = {
56
- Parser,
57
- sparql12ParserBuilder
58
- });
71
+ exports.Parser = Parser;
72
+ //# sourceMappingURL=Parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../../lib/Parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParserBuilder } from '@traqula/core';\nimport type { Patch, Wrap, ParserBuildArgs } from '@traqula/core';\nimport { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';\nimport {\n gram as g11,\n sparqlCodepointEscape,\n} from '@traqula/rules-sparql-1-1';\nimport type {\n TermIri,\n} from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, copyParseContext, gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\nexport const sparql12ParserBuilder = ParserBuilder.create(sparql11ParserBuilder)\n .widenContext<T12.SparqlContext>()\n .typePatch<{\n /// GeneralFile\n queryOrUpdate: [ T12.SparqlQuery];\n /// Query Unit file\n [g11.selectQuery.name]: [Omit<T12.QuerySelect, g11.HandledByBase>];\n [g11.subSelect.name]: [ Omit<T12.SubSelect, 'prefixes'>];\n [g11.selectClause.name]: [Wrap<Pick<T12.QuerySelect, 'variables' | 'distinct' | 'reduced'>>];\n [g11.constructQuery.name]: [Omit<T12.QueryConstruct, g11.HandledByBase>];\n [g11.describeQuery.name]: [Omit<T12.QueryDescribe, g11.HandledByBase>];\n [g11.askQuery.name]: [Omit<T12.QueryAsk, g11.HandledByBase>];\n [g11.valuesClause.name]: [T12.PatternValues[] | undefined];\n [g11.constructTemplate.name]: [Wrap<T12.PatternBgp>];\n [g11.constructTriples.name]: [T12.PatternBgp];\n /// Update Unit file\n [g11.update1.name]: [T12.UpdateOperation];\n [g11.load.name]: [T12.UpdateOperationLoad];\n [g11.clear.name]: [T12.UpdateOperationClear];\n [g11.drop.name]: [T12.UpdateOperationDrop];\n [g11.create.name]: [T12.UpdateOperationCreate];\n [g11.add.name]: [T12.UpdateOperationAdd];\n [g11.move.name]: [T12.UpdateOperationMove];\n [g11.copy.name]: [T12.UpdateOperationCopy];\n [g11.quadPattern.name]: [Wrap<T12.Quads[]>];\n [g11.quadData.name]: [Wrap<T12.Quads[]>];\n [g11.insertData.name]: [T12.UpdateOperationInsertData];\n [g11.deleteData.name]: [T12.UpdateOperationDeleteData];\n [g11.deleteWhere.name]: [T12.UpdateOperationDeleteWhere];\n [g11.modify.name]: [T12.UpdateOperationModify];\n [g11.deleteClause.name]: [Wrap<T12.Quads[]>];\n [g11.insertClause.name]: [Wrap<T12.Quads[]>];\n [g11.graphOrDefault.name]: [T12.GraphRefDefault | T12.GraphRefSpecific];\n [g11.graphRef.name]: [T12.GraphRefSpecific];\n [g11.graphRefAll.name]: [T12.GraphRef];\n [g11.quads.name]: [Wrap<T12.Quads[]>];\n [g11.quadsNotTriples.name]: [T12.GraphQuads];\n /// Built-in functions\n [g11.builtInStr.name]: [T12.ExpressionOperation];\n [g11.builtInLang.name]: [T12.ExpressionOperation];\n [g11.builtInLangmatches.name]: [T12.ExpressionOperation];\n [g11.builtInDatatype.name]: [T12.ExpressionOperation];\n [g11.builtInBound.name]: [T12.ExpressionOperation];\n [g11.builtInIri.name]: [T12.ExpressionOperation];\n [g11.builtInUri.name]: [T12.ExpressionOperation];\n [g11.builtInBnodeSparqlJs.name]: [T12.ExpressionOperation];\n [g11.builtInRand.name]: [T12.ExpressionOperation];\n [g11.builtInAbs.name]: [T12.ExpressionOperation];\n [g11.builtInCeil.name]: [T12.ExpressionOperation];\n [g11.builtInFloor.name]: [T12.ExpressionOperation];\n [g11.builtInRound.name]: [T12.ExpressionOperation];\n [g11.builtInConcat.name]: [T12.ExpressionOperation];\n [g11.substringExpression.name]: [T12.ExpressionOperation];\n [g11.builtInStrlen.name]: [T12.ExpressionOperation];\n [g11.strReplaceExpression.name]: [T12.ExpressionOperation];\n [g11.builtInUcase.name]: [T12.ExpressionOperation];\n [g11.builtInLcase.name]: [T12.ExpressionOperation];\n [g11.builtInEncode_for_uri.name]: [T12.ExpressionOperation];\n [g11.builtInContains.name]: [T12.ExpressionOperation];\n [g11.builtInStrstarts.name]: [T12.ExpressionOperation];\n [g11.builtInStrends.name]: [T12.ExpressionOperation];\n [g11.builtInStrbefore.name]: [T12.ExpressionOperation];\n [g11.builtInStrafter.name]: [T12.ExpressionOperation];\n [g11.builtInYear.name]: [T12.ExpressionOperation];\n [g11.builtInMonth.name]: [T12.ExpressionOperation];\n [g11.builtInDay.name]: [T12.ExpressionOperation];\n [g11.builtInHours.name]: [T12.ExpressionOperation];\n [g11.builtInMinutes.name]: [T12.ExpressionOperation];\n [g11.builtInSeconds.name]: [T12.ExpressionOperation];\n [g11.builtInTimezone.name]: [T12.ExpressionOperation];\n [g11.builtInTz.name]: [T12.ExpressionOperation];\n [g11.builtInNow.name]: [T12.ExpressionOperation];\n [g11.builtInUuid.name]: [T12.ExpressionOperation];\n [g11.builtInStruuid.name]: [T12.ExpressionOperation];\n [g11.builtInMd5.name]: [T12.ExpressionOperation];\n [g11.builtInSha1.name]: [T12.ExpressionOperation];\n [g11.builtInSha256.name]: [T12.ExpressionOperation];\n [g11.builtInSha384.name]: [T12.ExpressionOperation];\n [g11.builtInSha512.name]: [T12.ExpressionOperation];\n [g11.builtInCoalesce.name]: [T12.ExpressionOperation];\n [g11.builtInIf.name]: [T12.ExpressionOperation];\n [g11.builtInStrlang.name]: [T12.ExpressionOperation];\n [g11.builtInStrdt.name]: [T12.ExpressionOperation];\n [g11.builtInSameterm.name]: [T12.ExpressionOperation];\n [g11.builtInIsiri.name]: [T12.ExpressionOperation];\n [g11.builtInIsuri.name]: [T12.ExpressionOperation];\n [g11.builtInIsblank.name]: [T12.ExpressionOperation];\n [g11.builtInIsliteral.name]: [T12.ExpressionOperation];\n [g11.builtInIsnumeric.name]: [T12.ExpressionOperation];\n [g11.existsFunc.name]: [T12.ExpressionPatternOperation];\n [g11.notExistsFunc.name]: [T12.ExpressionPatternOperation];\n [g11.aggregateCount.name]: [T12.ExpressionAggregateOnWildcard | T12.ExpressionAggregateDefault];\n [g11.aggregateSum.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateMin.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateMax.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateAvg.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateSample.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateGroup_concat.name]: [T12.ExpressionAggregateDefault | T12.ExpressionAggregateSeparator];\n [g11.aggregate.name]: [T12.ExpressionAggregate];\n [g11.builtInCall.name]: [T12.Expression];\n /// DatasetClause\n [g11.datasetClause.name]: [Wrap<T12.DatasetClauses['clauses'][0]>];\n [g11.defaultGraphClause.name]: [T12.TermIri];\n [g11.usingClause.name]: [Wrap<T12.DatasetClauses['clauses'][0]>];\n [g11.datasetClauseStar.name]: [T12.DatasetClauses];\n [g11.usingClauseStar.name]: [T12.DatasetClauses];\n [g11.namedGraphClause.name]: [Wrap<T12.TermIri>];\n [g11.sourceSelector.name]: [T12.TermIri];\n // Expression file\n [g11.argList.name]: [Wrap<Patch<g11.IArgList, { args: T12.Expression[] }>>];\n [g11.expressionList.name]: [Wrap<T12.Expression[]>];\n [g11.expression.name]: [T12.Expression];\n [g11.conditionalOrExpression.name]: [T12.ExpressionOperation | T12.Expression];\n [g11.conditionalAndExpression.name]: [T12.Expression];\n [g11.valueLogical.name]: [T12.Expression];\n [g11.relationalExpression.name]: [T12.ExpressionOperation | T12.Expression];\n [g11.numericExpression.name]: [T12.Expression];\n [g11.additiveExpression.name]: [T12.Expression];\n [g11.multiplicativeExpression.name]: [T12.Expression];\n [g11.unaryExpression.name]: [T12.Expression];\n [g11.primaryExpression.name]: [T12.Expression];\n [g11.brackettedExpression.name]: [T12.Expression];\n [g11.iriOrFunction.name]: [T12.TermIri | T12.ExpressionFunctionCall];\n /// General\n [g11.prologue.name]: [T12.ContextDefinition[]];\n [g11.baseDecl.name]: [T12.ContextDefinition];\n [g11.prefixDecl.name]: [T12.ContextDefinition];\n [g11.verb.name]: [T12.TermVariable | T12.TermIri];\n [g11.varOrTerm.name]: [T12.Term];\n [g11.varOrIri.name]: [T12.TermIri | T12.TermVariable];\n [g11.var_.name]: [T12.TermVariable];\n [g11.graphTerm.name]: [T12.GraphTerm];\n /// Literals\n [g11.rdfLiteral.name]: [T12.TermLiteral];\n [g11.numericLiteral.name]: [T12.TermLiteralTyped];\n [g11.numericLiteralUnsigned.name]: [T12.TermLiteralTyped];\n [g11.numericLiteralPositive.name]: [T12.TermLiteralTyped];\n [g11.numericLiteralNegative.name]: [T12.TermLiteralTyped];\n [g11.booleanLiteral.name]: [T12.TermLiteralTyped];\n [g11.string.name]: [T12.TermLiteralStr];\n [g11.iri.name]: [T12.TermIri];\n [g11.iriFull.name]: [T12.TermIriFull];\n [g11.prefixedName.name]: [T12.TermIriPrefixed];\n [g11.blankNode.name]: [T12.TermBlank];\n [g11.verbA.name]: [T12.TermIriFull];\n /// / Paths: unchanged\n /// / SolutionModifiers\n [g11.solutionModifier.name]: [T12.SolutionModifiers];\n [g11.groupClause.name]: [T12.SolutionModifierGroup];\n [g11.groupCondition.name]: [T12.Expression | T12.SolutionModifierGroupBind];\n [g11.havingClause.name]: [T12.SolutionModifierHaving];\n [g11.havingCondition.name]: [T12.Expression];\n [g11.orderClause.name]: [T12.SolutionModifierOrder];\n [g11.orderCondition.name]: [T12.Ordering];\n [g11.limitOffsetClauses.name]: [T12.SolutionModifierLimitOffset];\n [g11.limitClause.name]: [Wrap<number>];\n [g11.offsetClause.name]: [ Wrap<number>];\n /// tripleBlock\n [g11.triplesBlock.name]: [T12.PatternBgp];\n [g11.triplesSameSubject.name]: [T12.BasicGraphPattern];\n [g11.triplesSameSubjectPath.name]: [T12.BasicGraphPattern];\n [g11.triplesTemplate.name]: [T12.PatternBgp];\n [g11.propertyList.name]: [T12.TripleNesting[]];\n [g11.propertyListPath.name]: [T12.TripleNesting[]];\n [g11.propertyListNotEmpty.name]: [T12.TripleNesting[]];\n [g11.propertyListPathNotEmpty.name]: [T12.TripleNesting[]];\n [g11.verbPath.name]: [T12.Path];\n [g11.verbSimple.name]: [T12.TermVariable];\n [g11.objectList.name]: [T12.TripleNesting[], [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectListPath.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.object.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectPath.name]: [T12.TripleNesting[], [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.collection.name]: [T12.TripleCollectionList];\n [g11.collectionPath.name]: [T12.TripleCollectionList];\n [g11.triplesNode.name]: [T12.TripleCollection];\n [g11.triplesNodePath.name]: [T12.TripleCollection];\n [g11.blankNodePropertyList.name]: [T12.TripleCollectionBlankNodeProperties];\n [g11.blankNodePropertyListPath.name]: [T12.TripleCollectionBlankNodeProperties];\n [g11.graphNode.name]: [T12.Term | T12.TripleCollection];\n [g11.graphNodePath.name]: [T12.Term | T12.TripleCollection];\n /// WhereClause\n [g11.whereClause.name]: [Wrap<T12.PatternGroup>];\n [g11.groupGraphPattern.name]: [T12.PatternGroup];\n [g11.groupGraphPatternSub.name]: [T12.Pattern[]];\n [g11.graphPatternNotTriples.name]: [Exclude<T12.Pattern, T12.SubSelect | T12.PatternBgp>];\n [g11.optionalGraphPattern.name]: [T12.PatternOptional];\n [g11.graphGraphPattern.name]: [T12.PatternGraph];\n [g11.serviceGraphPattern.name]: [T12.PatternService];\n [g11.bind.name]: [T12.PatternBind];\n [g11.inlineData.name]: [T12.PatternValues];\n [g11.dataBlock.name]: [T12.PatternValues];\n [g11.inlineDataOneVar.name]: [T12.PatternValues];\n [g11.inlineDataFull.name]: [T12.PatternValues];\n [g11.dataBlockValue.name]: [T12.TermIri | T12.TermLiteral | undefined];\n [g11.minusGraphPattern.name]: [T12.PatternMinus];\n [g11.groupOrUnionGraphPattern.name]: [T12.PatternGroup | T12.PatternUnion];\n [g11.filter.name]: [T12.PatternFilter];\n [g11.constraint.name]: [T12.Expression];\n [g11.functionCall.name]: [T12.ExpressionFunctionCall];\n }>()\n .addMany(\n S12.reifiedTripleBlock,\n S12.reifiedTripleBlockPath,\n S12.reifier,\n S12.varOrReifierId,\n S12.annotation,\n S12.annotationPath,\n S12.annotationBlockPath,\n S12.annotationBlock,\n S12.reifiedTriple,\n S12.reifiedTripleSubject,\n S12.reifiedTripleObject,\n S12.tripleTerm,\n S12.tripleTermSubject,\n S12.tripleTermObject,\n S12.tripleTermData,\n S12.tripleTermDataSubject,\n S12.tripleTermDataObject,\n S12.exprTripleTerm,\n S12.exprTripleTermSubject,\n S12.exprTripleTermObject,\n )\n .addMany(\n S12.versionDecl,\n S12.versionSpecifier,\n )\n .addMany(\n S12.buildInLangDir,\n S12.buildInLangStrDir,\n S12.buildInHasLang,\n S12.buildInHasLangDir,\n S12.buildInIsTriple,\n S12.buildInTriple,\n S12.buildInSubject,\n S12.buildInPredicate,\n S12.buildInObject,\n )\n .patchRule(S12.dataBlockValue)\n .patchRule(S12.triplesSameSubject)\n .patchRule(S12.triplesSameSubjectPath)\n .patchRule(S12.object)\n .patchRule(S12.objectPath)\n .patchRule(S12.graphNode)\n .patchRule(S12.graphNodePath)\n .patchRule(S12.varOrTerm)\n .deleteRule(g11.graphTerm.name)\n .patchRule(S12.primaryExpression)\n .patchRule(S12.builtInCall)\n .patchRule(S12.rdfLiteral)\n .patchRule(S12.unaryExpression)\n .patchRule(S12.prologue);\n\nexport type SparqlParser = ReturnType<typeof sparql12ParserBuilder.build>;\n\n/**\n * Generator that can generate a SPARQL 1.2 AST given a SPARQL 1.2 string.\n */\nexport class Parser {\n private readonly parser: SparqlParser;\n protected readonly defaultContext: T12.SparqlContext;\n\n public constructor(\n args: Pick<ParserBuildArgs, 'parserConfig' | 'lexerConfig'> & { defaultContext?: Partial<T12.SparqlContext> } = {},\n ) {\n this.parser = sparql12ParserBuilder.build({\n ...args,\n queryPreProcessor: sparqlCodepointEscape,\n tokenVocabulary: l12.sparql12LexerBuilder.tokenVocabulary,\n });\n this.defaultContext = completeParseContext(args.defaultContext ?? {});\n }\n\n /**\n * Parse a query string starting from the\n * [QueryUnit](https://www.w3.org/TR/sparql12-query/#rQueryUnit)\n * or [QueryUpdate](https://www.w3.org/TR/sparql12-query/#rUpdateUnit) rules.\n * @param query\n * @param context\n */\n public parse(query: string, context: Partial<T12.SparqlContext> = {}): T12.SparqlQuery {\n const ast = this.parser.queryOrUpdate(query, copyParseContext({ ...this.defaultContext, ...context }));\n ast.loc = this.defaultContext.astFactory.sourceLocationInlinedSource(query, ast.loc, 0, Number.MAX_SAFE_INTEGER);\n return ast;\n }\n\n /**\n * Parse a query string starting from the [Path](https://www.w3.org/TR/sparql12-query/#rPath) grammar rule.\n * @param query\n * @param context\n */\n public parsePath(\n query: string,\ncontext: Partial<T12.SparqlContext> = {},\n ): (T12.Path & { prefixes: object }) | TermIri {\n const ast = this.parser.path(query, copyParseContext({ ...this.defaultContext, ...context }));\n ast.loc = this.defaultContext.astFactory.sourceLocationInlinedSource(query, ast.loc, 0, Number.MAX_SAFE_INTEGER);\n if (this.defaultContext.astFactory.isPathPure(ast)) {\n return {\n ...ast,\n prefixes: {},\n };\n }\n return ast;\n }\n}\n"]}
@@ -1,22 +1,18 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
13
15
  };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var lib_exports = {};
17
- module.exports = __toCommonJS(lib_exports);
18
- __reExport(lib_exports, require("./Parser.js"), module.exports);
19
- // Annotate the CommonJS export names for ESM import in node:
20
- 0 && (module.exports = {
21
- ...require("./Parser.js")
22
- });
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Parser.js"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B","sourcesContent":["export * from './Parser.js';\nexport type { SparqlContext } from '@traqula/rules-sparql-1-1';\n"]}