@traqula/generator-sparql-1-2 0.0.1-alpha.10

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 ADDED
@@ -0,0 +1,7 @@
1
+ import type * as T12 from '@traqula/rules-sparql-1-2';
2
+ export declare class Generator {
3
+ private readonly generator;
4
+ private readonly F;
5
+ generate(ast: T12.Query | T12.Update, origSource?: string): string;
6
+ generatePath(ast: T12.Path, origSource?: string): string;
7
+ }
package/lib/index.js ADDED
@@ -0,0 +1,50 @@
1
+ import { GeneratorBuilder } from '@traqula/core';
2
+ import { sparql11GeneratorBuilder } from '@traqula/generator-sparql-1-1';
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()
19
+ .addRule(g12.tripleTerm)
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);
30
+ export class Generator {
31
+ constructor() {
32
+ this.generator = sparql12GeneratorBuilder.build();
33
+ this.F = new Factory();
34
+ }
35
+ generate(ast, origSource = '') {
36
+ return this.generator.queryOrUpdate(ast, {
37
+ factory: this.F,
38
+ offset: 0,
39
+ origSource,
40
+ }, undefined);
41
+ }
42
+ generatePath(ast, origSource = '') {
43
+ return this.generator.path(ast, {
44
+ factory: this.F,
45
+ offset: 0,
46
+ origSource,
47
+ }, undefined);
48
+ }
49
+ }
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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 ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@traqula/generator-sparql-1-2",
3
+ "type": "module",
4
+ "version": "0.0.1-alpha.10+6cb01a3",
5
+ "description": "SPARQL 1.2 generator",
6
+ "lsd:module": true,
7
+ "license": "MIT",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/comunica/traqula.git",
11
+ "directory": "engines/generator-sparql-1-2"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/comunica/traqula/issues"
15
+ },
16
+ "sideEffects": false,
17
+ "exports": {
18
+ "import": "./lib/index.js",
19
+ "require": "./lib/index.cjs"
20
+ },
21
+ "main": "lib/index.js",
22
+ "publishConfig": {
23
+ "access": "public"
24
+ },
25
+ "files": [
26
+ "lib/**/*.cjs",
27
+ "lib/**/*.d.ts",
28
+ "lib/**/*.js",
29
+ "lib/**/*.js.map"
30
+ ],
31
+ "engines": {
32
+ "node": ">=18.0"
33
+ },
34
+ "typings": "lib/index",
35
+ "scripts": {
36
+ "build": "yarn build:ts && yarn build:transpile",
37
+ "build:ts": "node \"../../node_modules/typescript/bin/tsc\"",
38
+ "build:transpile": " node \"../../node_modules/esbuild/bin/esbuild\" --format=cjs --bundle --log-level=error --outfile=lib/index.cjs lib/index.ts"
39
+ },
40
+ "dependencies": {
41
+ "@traqula/core": "^0.0.1-alpha.10+6cb01a3",
42
+ "@traqula/generator-sparql-1-1": "^0.0.1-alpha.10+6cb01a3",
43
+ "@traqula/rules-sparql-1-1": "^0.0.1-alpha.10+6cb01a3",
44
+ "@traqula/rules-sparql-1-2": "^0.0.1-alpha.10+6cb01a3"
45
+ },
46
+ "devDependencies": {
47
+ "@traqula/parser-sparql-1-2": "^0.0.1-alpha.10+6cb01a3",
48
+ "@traqula/rules-sparql-1-2": "^0.0.0",
49
+ "@traqula/test-utils": "^0.0.0"
50
+ },
51
+ "gitHead": "6cb01a3af7ea01e7bcd5aaba638cf74fb45db76b"
52
+ }