@traqula/generator-sparql-1-2 0.0.1-alpha.176 → 0.0.1-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import type { types as T12 } from '@traqula/rules-sparql-1-2';
1
+ import type * as T12 from '@traqula/rules-sparql-1-2';
2
2
  export declare class Generator {
3
3
  private readonly generator;
4
- generate(ast: T12.Query | T12.Update | Pick<T12.Update, 'base' | 'prefixes'>): string;
5
- generatePath(ast: T12.IriTerm | T12.PropertyPath): string;
4
+ private readonly F;
5
+ generate(ast: T12.Query | T12.Update, origSource?: string): string;
6
+ generatePath(ast: T12.Path, origSource?: string): string;
6
7
  }
package/lib/index.js CHANGED
@@ -1,27 +1,50 @@
1
1
  import { GeneratorBuilder } from '@traqula/core';
2
2
  import { sparql11GeneratorBuilder } from '@traqula/generator-sparql-1-1';
3
- import { gram as g11 } from '@traqula/rules-sparql-1-1';
4
- import { gram as g12 } from '@traqula/rules-sparql-1-2';
5
- const sparql12GeneratorBuilder = GeneratorBuilder.createBuilder(sparql11GeneratorBuilder).typePatch()
3
+ import { gram as g11, } from '@traqula/rules-sparql-1-1';
4
+ import { Factory, gram as g12 } from '@traqula/rules-sparql-1-2';
5
+ const queryOrUpdate = {
6
+ name: 'queryOrUpdate',
7
+ gImpl: ({ SUBRULE }) => (ast, { factory: F }) => {
8
+ if (F.isQuery(ast)) {
9
+ SUBRULE(g11.query, ast, undefined);
10
+ }
11
+ else {
12
+ SUBRULE(g11.update, ast, undefined);
13
+ }
14
+ },
15
+ };
16
+ const sparql12GeneratorBuilder = GeneratorBuilder.create(sparql11GeneratorBuilder)
17
+ .widenContext()
18
+ .typePatch()
6
19
  .addRule(g12.tripleTerm)
7
- .patchRule(g12.varOrTerm)
8
- .deleteRule(g11.graphTerm.name)
9
- .patchRule(g12.dataBlockValue);
20
+ .addRule(g12.reifiedTriple)
21
+ .patchRule(g12.graphNodePath)
22
+ .addRule(g12.annotationBlockPath)
23
+ .addRule(g12.annotationPath)
24
+ .addRule(g12.versionDecl)
25
+ .patchRule(g12.prologue)
26
+ .patchRule(queryOrUpdate)
27
+ .patchRule(g12.generateTriplesBlock)
28
+ .patchRule(g12.generateGraphTerm);
29
+ // .patchRule(g12.dataBlock);
10
30
  export class Generator {
11
31
  constructor() {
12
32
  this.generator = sparql12GeneratorBuilder.build();
33
+ this.F = new Factory();
13
34
  }
14
- generate(ast) {
15
- if ('type' in ast) {
16
- if (ast.type === 'update') {
17
- return this.generator.update(ast, undefined, undefined);
18
- }
19
- return this.generator.query(ast, undefined, undefined);
20
- }
21
- return this.generator.prologue(ast, undefined, undefined);
35
+ generate(ast, origSource = '') {
36
+ return this.generator.queryOrUpdate(ast, {
37
+ factory: this.F,
38
+ offset: 0,
39
+ origSource,
40
+ }, undefined);
22
41
  }
23
- generatePath(ast) {
24
- return this.generator.path(ast, undefined, undefined);
42
+ generatePath(ast, origSource = '') {
43
+ return this.generator.path(ast, {
44
+ factory: this.F,
45
+ offset: 0,
46
+ origSource,
47
+ }, undefined);
25
48
  }
26
49
  }
27
50
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAc,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAGxD,MAAM,wBAAwB,GAC5B,gBAAgB,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,EAiE9D;KACD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;KACvB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;KACxB,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;KAC9B,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAEnC,MAAM,OAAO,SAAS;IAAtB;QACmB,cAAS,GAAG,wBAAwB,CAAC,KAAK,EAAE,CAAC;IAehE,CAAC;IAbQ,QAAQ,CAAC,GAAmE;QACjF,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAEM,YAAY,CAAC,GAAmC;QACrD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;CACF","sourcesContent":["import { GeneratorBuilder, type Patch } from '@traqula/core';\nimport { sparql11GeneratorBuilder } from '@traqula/generator-sparql-1-1';\nimport { gram as g11 } from '@traqula/rules-sparql-1-1';\nimport { gram as g12 } from '@traqula/rules-sparql-1-2';\nimport type { types as T12 } from '@traqula/rules-sparql-1-2';\n\nconst sparql12GeneratorBuilder =\n GeneratorBuilder.createBuilder(sparql11GeneratorBuilder).typePatch<{\n [g11.query.name]: T12.Query;\n [g11.selectQuery.name]: Omit<T12.SelectQuery, g11.HandledByBase>;\n [g11.constructQuery.name]: Omit<T12.ConstructQuery, g11.HandledByBase>;\n [g11.describeQuery.name]: Omit<T12.DescribeQuery, g11.HandledByBase>;\n [g11.askQuery.name]: Omit<T12.AskQuery, g11.HandledByBase>;\n [g11.valuesClause.name]: T12.ValuePatternRow[] | undefined;\n [g11.selectClause.name]: g11.ISelectClause;\n [g11.constructTemplate.name]: T12.Triple[] | undefined;\n [g11.update.name]: T12.Update;\n [g11.update1.name]: T12.UpdateOperation;\n [g11.load.name]: T12.LoadOperation;\n [g11.clear.name]: T12.ClearDropOperation;\n [g11.drop.name]: T12.ClearDropOperation;\n [g11.create.name]: T12.CreateOperation;\n [g11.add.name]: T12.CopyMoveAddOperation & { type: 'add' };\n [g11.move.name]: T12.CopyMoveAddOperation & { type: 'move' };\n [g11.copy.name]: T12.CopyMoveAddOperation & { type: 'copy' };\n [g11.insertData.name]: T12.InsertOperation;\n [g11.deleteData.name]: T12.DeleteOperation;\n [g11.deleteWhere.name]: T12.DeleteWhereOperation;\n [g11.modify.name]: T12.ModifyOperation;\n\n [g11.graphOrDefault.name]: T12.GraphOrDefault;\n [g11.graphRef.name]: T12.IriTerm;\n [g11.graphRefAll.name]: T12.GraphReference;\n [g11.quadData.name]: T12.Quads[];\n [g11.quads.name]: T12.Quads[];\n [g11.quadsNotTriples.name]: T12.GraphQuads[];\n\n [g11.aggregate.name]: T12.AggregateExpression;\n // [g11.datasetClause.name]: unchanged;\n [g11.argList.name]: Patch<g11.IArgList, { args: T12.Expression[] }>;\n [g11.expression.name]: T12.Expression;\n [g11.iriOrFunction.name]:\n T12.IriTerm | (Patch<g11.IArgList, { args: T12.Expression[] }> & { function: T12.IriTerm });\n [g11.prologue.name]: Pick<T12.BaseQuery, 'base' | 'prefixes'>;\n\n [g11.varOrTerm.name]: T12.Term;\n // [g11.var_.name]: unchanged;\n [g11.graphTerm.name]: T12.GraphTerm;\n [g11.rdfLiteral.name]: T12.LiteralTerm;\n // [g11.string.name]: unchanged;\n // [g11.iri.name]: unchanged;\n // [g11.blankNode.name]: unchanged;\n // [g11.path.name]: unchanged;\n [g11.solutionModifier.name]: Pick<T12.SelectQuery, 'group' | 'having' | 'order' | 'limit' | 'offset'>;\n [g11.groupClause.name]: T12.Grouping[];\n [g11.groupCondition.name]: T12.Grouping;\n [g11.havingClause.name]: T12.Expression[];\n [g11.orderClause.name]: T12.Ordering[];\n [g11.orderCondition.name]: T12.Ordering;\n [g11.limitOffsetClauses.name]: Pick<T12.SelectQuery, 'limit' | 'offset'>;\n [g11.triplesBlock.name]: T12.BgpPattern;\n [g11.groupGraphPattern.name]: T12.GroupPattern;\n [g11.graphPatternNotTriples.name]: T12.ValuesPattern | T12.BindPattern | T12.FilterPattern | T12.BlockPattern;\n [g11.optionalGraphPattern.name]: T12.OptionalPattern;\n [g11.graphGraphPattern.name]: T12.GraphPattern;\n [g11.serviceGraphPattern.name]: T12.ServicePattern;\n [g11.bind.name]: T12.BindPattern;\n [g11.inlineDataFull.name]: T12.ValuePatternRow[];\n [g11.dataBlockValue.name]: T12.ValuePatternRow[];\n [g11.minusGraphPattern.name]: T12.MinusPattern;\n [g11.groupOrUnionGraphPattern.name]: T12.GroupPattern | T12.UnionPattern;\n [g11.filter.name]: T12.FilterPattern;\n }>()\n .addRule(g12.tripleTerm)\n .patchRule(g12.varOrTerm)\n .deleteRule(g11.graphTerm.name)\n .patchRule(g12.dataBlockValue);\n\nexport class Generator {\n private readonly generator = sparql12GeneratorBuilder.build();\n\n public generate(ast: T12.Query | T12.Update | Pick<T12.Update, 'base' | 'prefixes'>): string {\n if ('type' in ast) {\n if (ast.type === 'update') {\n return this.generator.update(ast, undefined, undefined);\n }\n return this.generator.query(ast, undefined, undefined);\n }\n return this.generator.prologue(ast, undefined, undefined);\n }\n\n public generatePath(ast: T12.IriTerm | T12.PropertyPath): string {\n return this.generator.path(ast, undefined, undefined);\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EACL,IAAI,IAAI,GAAG,GACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAGjE,MAAM,aAAa,GAAqE;IACtF,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;QAC9C,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAc,GAAG,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,MAAM,EAAe,GAAG,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,wBAAwB,GAC5B,gBAAgB,CAAC,MAAM,CAAC,wBAAwB,CAAC;KAC9C,YAAY,EAAwB;KACpC,SAAS,EA4EN;KACH,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;KACvB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;KAC1B,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;KAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;KAChC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;KAC3B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;KACxB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;KACvB,SAAS,CAAC,aAAa,CAAC;KACxB,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC;KACnC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtC,6BAA6B;AAE7B,MAAM,OAAO,SAAS;IAAtB;QACmB,cAAS,GAAG,wBAAwB,CAAC,KAAK,EAAE,CAAC;QAC7C,MAAC,GAAG,IAAI,OAAO,EAAE,CAAC;IAiBrC,CAAC;IAfQ,QAAQ,CAAC,GAA2B,EAAE,UAAU,GAAG,EAAE;QAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE;YACvC,OAAO,EAAE,IAAI,CAAC,CAAC;YACf,MAAM,EAAE,CAAC;YACT,UAAU;SACX,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC;IAEM,YAAY,CAAC,GAAa,EAAE,UAAU,GAAG,EAAE;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE;YAC9B,OAAO,EAAE,IAAI,CAAC,CAAC;YACf,MAAM,EAAE,CAAC;YACT,UAAU;SACX,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC;CACF","sourcesContent":["import { GeneratorBuilder } from '@traqula/core';\nimport type { Wrap, Patch } from '@traqula/core';\nimport { sparql11GeneratorBuilder } from '@traqula/generator-sparql-1-1';\nimport type * as T11 from '@traqula/rules-sparql-1-1';\nimport {\n gram as g11,\n} from '@traqula/rules-sparql-1-1';\nimport { Factory, gram as g12 } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\nconst queryOrUpdate: T12.SparqlGeneratorRule<'queryOrUpdate', T12.Query | T12.Update> = {\n name: 'queryOrUpdate',\n gImpl: ({ SUBRULE }) => (ast, { factory: F }) => {\n if (F.isQuery(ast)) {\n SUBRULE(g11.query, <T11.Query> ast, undefined);\n } else {\n SUBRULE(g11.update, <T11.Update> ast, undefined);\n }\n },\n};\n\nconst sparql12GeneratorBuilder =\n GeneratorBuilder.create(sparql11GeneratorBuilder)\n .widenContext<{ factory: Factory }>()\n .typePatch<{\n [g11.query.name]: T12.Query;\n [g11.selectQuery.name]: Omit<T12.QuerySelect, g11.HandledByBase>;\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.selectClause.name]: Wrap<Pick<T12.QuerySelect, 'variables' | 'distinct' | 'reduced'>>;\n\n [g11.update.name]: T12.Update;\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.copy.name]: T12.UpdateOperationCopy;\n [g11.move.name]: T12.UpdateOperationMove;\n [g11.add.name]: T12.UpdateOperationAdd;\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.graphRef.name]: T12.TermIri;\n [g11.graphRefAll.name]: T12.GraphRef;\n [g11.quads.name]: Wrap<T12.Quads[]>;\n [g11.quadsNotTriples.name]: T12.GraphQuads;\n\n [g11.aggregate.name]: T12.ExpressionAggregate;\n\n [g11.datasetClauseStar.name]: T12.DatasetClauses;\n [g11.usingClauseStar.name]: T12.DatasetClauses;\n\n // [g11.datasetClause.name]: unchanged;\n [g11.argList.name]: Patch<g11.IArgList, { args: T12.Expression[] }>;\n [g11.expression.name]: T12.Expression;\n [g11.iriOrFunction.name]: T12.TermIri | T12.ExpressionFunctionCall;\n\n [g11.prologue.name]: T12.ContextDefinition[];\n [g11.prefixDecl.name]: T12.ContextDefinitionPrefix;\n [g11.baseDecl.name]: T12.ContextDefinitionBase;\n // [g11.var_.name]: unchanged;\n [g11.varOrTerm.name]: T12.Term;\n [g11.graphTerm.name]: T12.GraphTerm;\n\n [g11.rdfLiteral.name]: T12.TermLiteral;\n // [g11.string.name]: unchanged;\n // [g11.iri.name]: unchanged;\n // [g11.iriFull.name]: unchanged;\n // [g11.prefixedName.name]: unchanged;\n // [g11.blankNode.name]: unchanged;\n\n // [g11.path.name]: unchanged;\n\n [g11.solutionModifier.name]: T12.SolutionModifiers;\n [g11.groupClause.name]: T12.SolutionModifierGroup;\n [g11.havingClause.name]: T12.SolutionModifierHaving;\n [g11.orderClause.name]: T12.SolutionModifierOrder;\n [g11.limitOffsetClauses.name]: T12.SolutionModifierLimitOffset;\n\n [g11.triplesBlock.name]: T12.PatternBgp;\n [g11.collectionPath.name]: T12.TripleCollectionList;\n [g11.blankNodePropertyListPath.name]: T12.TripleCollectionBlankNodeProperties;\n [g11.triplesNodePath.name]: T12.TripleCollection;\n [g11.graphNodePath.name]: T12.Term | T12.TripleCollection;\n\n [g11.whereClause.name]: Wrap<T12.PatternGroup>;\n [g11.generatePattern.name]: T12.Pattern;\n [g11.groupGraphPattern.name]: T12.PatternGroup;\n [g11.graphPatternNotTriples.name]: Exclude<T12.Pattern, T12.SubSelect | T12.PatternBgp>;\n [g11.optionalGraphPattern.name]: T12.PatternOptional;\n [g11.graphGraphPattern.name]: T12.PatternGroup;\n [g11.serviceGraphPattern.name]: T12.PatternService;\n [g11.bind.name]: T12.PatternBind;\n [g11.inlineData.name]: T12.PatternValues;\n [g11.minusGraphPattern.name]: T12.PatternMinus;\n [g11.groupOrUnionGraphPattern.name]: T12.PatternGroup | T12.PatternUnion;\n [g11.filter.name]: T12.PatternFilter;\n }>()\n .addRule(g12.tripleTerm)\n .addRule(g12.reifiedTriple)\n .patchRule(g12.graphNodePath)\n .addRule(g12.annotationBlockPath)\n .addRule(g12.annotationPath)\n .addRule(g12.versionDecl)\n .patchRule(g12.prologue)\n .patchRule(queryOrUpdate)\n .patchRule(g12.generateTriplesBlock)\n .patchRule(g12.generateGraphTerm);\n// .patchRule(g12.dataBlock);\n\nexport class Generator {\n private readonly generator = sparql12GeneratorBuilder.build();\n private readonly F = new Factory();\n\n public generate(ast: T12.Query | T12.Update, origSource = ''): string {\n return this.generator.queryOrUpdate(ast, {\n factory: this.F,\n offset: 0,\n origSource,\n }, undefined);\n }\n\n public generatePath(ast: T12.Path, origSource = ''): string {\n return this.generator.path(ast, {\n factory: this.F,\n offset: 0,\n origSource,\n }, undefined);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@traqula/generator-sparql-1-2",
3
3
  "type": "module",
4
- "version": "0.0.1-alpha.176+9400dc5",
4
+ "version": "0.0.1-alpha.9+427f381",
5
5
  "description": "SPARQL 1.2 generator",
6
6
  "lsd:module": true,
7
7
  "license": "MIT",
@@ -38,15 +38,15 @@
38
38
  "build:transpile": " node \"../../node_modules/esbuild/bin/esbuild\" --format=cjs --bundle --log-level=error --outfile=lib/index.cjs lib/index.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@traqula/core": "^0.0.1-alpha.176+9400dc5",
42
- "@traqula/generator-sparql-1-1": "^0.0.1-alpha.176+9400dc5",
43
- "@traqula/rules-sparql-1-1": "^0.0.1-alpha.176+9400dc5",
44
- "@traqula/rules-sparql-1-2": "^0.0.1-alpha.176+9400dc5"
41
+ "@traqula/core": "^0.0.1-alpha.9+427f381",
42
+ "@traqula/generator-sparql-1-1": "^0.0.1-alpha.9+427f381",
43
+ "@traqula/rules-sparql-1-1": "^0.0.1-alpha.9+427f381",
44
+ "@traqula/rules-sparql-1-2": "^0.0.1-alpha.9+427f381"
45
45
  },
46
46
  "devDependencies": {
47
- "@traqula/parser-sparql-1-2": "^0.0.1-alpha.176+9400dc5",
47
+ "@traqula/parser-sparql-1-2": "^0.0.1-alpha.9+427f381",
48
48
  "@traqula/rules-sparql-1-2": "^0.0.0",
49
- "@traqula/test-utils": "^0.0.1-alpha.176+9400dc5"
49
+ "@traqula/test-utils": "^0.0.1-alpha.9+427f381"
50
50
  },
51
- "gitHead": "9400dc5f8bda1d8c2b3d1f4cf56b308995744ba0"
51
+ "gitHead": "427f3819138dd557621cae40c761213573e60017"
52
52
  }