@traqula/parser-sparql-1-1-adjust 0.0.22 → 0.0.24

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.
@@ -1,46 +1,24 @@
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
- adjustLexerBuilder: () => adjustLexerBuilder,
23
- adjustParserBuilder: () => adjustParserBuilder
24
- });
25
- module.exports = __toCommonJS(Parser_exports);
26
- var import_core = require("@traqula/core");
27
- var import_parser_sparql_1_1 = require("@traqula/parser-sparql-1-1");
28
- var import_rules_sparql_1_1 = require("@traqula/rules-sparql-1-1");
29
- var import_rules_sparql_1_1_adjust = require("@traqula/rules-sparql-1-1-adjust");
30
- const adjustParserBuilder = import_core.ParserBuilder.create(import_parser_sparql_1_1.sparql11ParserBuilder).typePatch().addRule(import_rules_sparql_1_1_adjust.gram.builtInAdjust).patchRule(import_rules_sparql_1_1_adjust.gram.builtInPatch);
31
- const adjustLexerBuilder = import_core.LexerBuilder.create(import_rules_sparql_1_1.lex.sparql11LexerBuilder).addBefore(import_rules_sparql_1_1.lex.a, import_rules_sparql_1_1_adjust.lex.BuiltInAdjust);
32
- class Parser extends import_rules_sparql_1_1.MinimalSparqlParser {
33
- constructor() {
34
- const parser = adjustParserBuilder.build({
35
- tokenVocabulary: adjustLexerBuilder.tokenVocabulary,
36
- queryPreProcessor: import_rules_sparql_1_1.sparqlCodepointEscape
37
- });
38
- super(parser);
39
- }
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Parser = exports.adjustLexerBuilder = exports.adjustParserBuilder = 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_1_adjust_1 = require("@traqula/rules-sparql-1-1-adjust");
8
+ exports.adjustParserBuilder = core_1.ParserBuilder.create(parser_sparql_1_1_1.sparql11ParserBuilder)
9
+ // This typePatch is not needed, but we need to import g11 for our types
10
+ .typePatch()
11
+ .addRule(rules_sparql_1_1_adjust_1.gram.builtInAdjust)
12
+ .patchRule(rules_sparql_1_1_adjust_1.gram.builtInPatch);
13
+ exports.adjustLexerBuilder = core_1.LexerBuilder.create(rules_sparql_1_1_1.lex.sparql11LexerBuilder).addBefore(rules_sparql_1_1_1.lex.a, rules_sparql_1_1_adjust_1.lex.BuiltInAdjust);
14
+ class Parser extends rules_sparql_1_1_1.MinimalSparqlParser {
15
+ constructor() {
16
+ const parser = exports.adjustParserBuilder.build({
17
+ tokenVocabulary: exports.adjustLexerBuilder.tokenVocabulary,
18
+ queryPreProcessor: rules_sparql_1_1_1.sparqlCodepointEscape,
19
+ });
20
+ super(parser);
21
+ }
40
22
  }
41
- // Annotate the CommonJS export names for ESM import in node:
42
- 0 && (module.exports = {
43
- Parser,
44
- adjustLexerBuilder,
45
- adjustParserBuilder
46
- });
23
+ exports.Parser = Parser;
24
+ //# sourceMappingURL=Parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../../lib/Parser.ts"],"names":[],"mappings":";;;AAAA,wCAA4D;AAC5D,kEAAmE;AAEnE,gEAAmG;AACnG,8EAA6D;AAEhD,QAAA,mBAAmB,GAAG,oBAAa,CAAC,MAAM,CAAC,yCAAqB,CAAC;IAC5E,wEAAwE;KACvE,SAAS,EAAoC;KAC7C,OAAO,CAAC,8BAAI,CAAC,aAAa,CAAC;KAC3B,SAAS,CAAC,8BAAI,CAAC,YAAY,CAAC,CAAC;AAInB,QAAA,kBAAkB,GAAG,mBAAY,CAAC,MAAM,CAAC,sBAAG,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,sBAAG,CAAC,CAAC,EAAE,6BAAG,CAAC,aAAa,CAAC,CAAC;AAEpH,MAAa,MAAO,SAAQ,sCAAgC;IAC1D;QACE,MAAM,MAAM,GAAmB,2BAAmB,CAAC,KAAK,CAAC;YACvD,eAAe,EAAE,0BAAkB,CAAC,eAAe;YACnD,iBAAiB,EAAE,wCAAqB;SACzC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CACF;AARD,wBAQC","sourcesContent":["import { ParserBuilder, LexerBuilder } from '@traqula/core';\nimport { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';\nimport type { gram as g11, SparqlQuery } from '@traqula/rules-sparql-1-1';\nimport { sparqlCodepointEscape, lex as l11, MinimalSparqlParser } from '@traqula/rules-sparql-1-1';\nimport { gram, lex } from '@traqula/rules-sparql-1-1-adjust';\n\nexport const adjustParserBuilder = ParserBuilder.create(sparql11ParserBuilder)\n // This typePatch is not needed, but we need to import g11 for our types\n .typePatch<{ [g11.builtInCall.name]: [any]}>()\n .addRule(gram.builtInAdjust)\n .patchRule(gram.builtInPatch);\n\nexport type Adjust11Parser = ReturnType<typeof adjustParserBuilder.build>;\n\nexport const adjustLexerBuilder = LexerBuilder.create(l11.sparql11LexerBuilder).addBefore(l11.a, lex.BuiltInAdjust);\n\nexport class Parser extends MinimalSparqlParser<SparqlQuery> {\n public constructor() {\n const parser: Adjust11Parser = adjustParserBuilder.build({\n tokenVocabulary: adjustLexerBuilder.tokenVocabulary,\n queryPreProcessor: sparqlCodepointEscape,\n });\n super(parser);\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';\n"]}
@@ -0,0 +1 @@
1
+ { "type": "commonjs" }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@traqula/parser-sparql-1-1-adjust",
3
3
  "type": "module",
4
- "version": "0.0.22",
4
+ "version": "0.0.24",
5
5
  "description": "SPARQL 1.1 + ADJUST parser",
6
6
  "lsd:module": true,
7
7
  "license": "MIT",
@@ -27,17 +27,18 @@
27
27
  "access": "public"
28
28
  },
29
29
  "files": [
30
- "dist/**/*.d.ts",
31
- "dist/**/*.js",
32
- "dist/**/*.js.map"
30
+ "dist/*/lib/**/*.d.ts",
31
+ "dist/*/lib/**/*.js",
32
+ "dist/*/lib/**/*.js.map",
33
+ "dist/cjs/package.json"
33
34
  ],
34
35
  "engines": {
35
36
  "node": "^20.19.0 || >=22.12.0"
36
37
  },
37
38
  "scripts": {
38
- "build": "yarn build:ts && yarn build:transpile && yarn build:transpile-spec",
39
+ "build": "yarn build:ts && yarn build:cjs",
39
40
  "build:ts": "node \"../../node_modules/typescript/bin/tsc\" -b",
40
- "build:transpile": "esbuild \"dist/esm/**/*.js\" --outdir=dist/cjs --platform=node --format=cjs",
41
+ "build:cjs": "node \"../../node_modules/typescript/bin/tsc\" -b tsconfig.cjs.json",
41
42
  "spec:base": "rdf-test-suite dist/cjs/spec/parser.js http://w3c.github.io/rdf-tests/sparql/sparql11/manifest-all.ttl -c ../../.rdf-test-suite-cache/",
42
43
  "spec:adjust-spec-tests": "rdf-test-suite dist/cjs/spec/parser.js https://raw.githubusercontent.com/kasei/sparql-12/xsd_datetime_duration/tests/xsd_functions/manifest.ttl -c ../../.rdf-test-suite-cache/",
43
44
  "spec:query": "yarn spec:base -- -s http://www.w3.org/TR/sparql11-query/",
@@ -48,16 +49,16 @@
48
49
  "spec:earl": "yarn spec:earl:query && yarn spec:earl:update"
49
50
  },
50
51
  "dependencies": {
51
- "@traqula/core": "^0.0.22",
52
- "@traqula/parser-sparql-1-1": "^0.0.22",
53
- "@traqula/rules-sparql-1-1": "^0.0.22",
54
- "@traqula/rules-sparql-1-1-adjust": "^0.0.22"
52
+ "@traqula/core": "^0.0.24",
53
+ "@traqula/parser-sparql-1-1": "^0.0.24",
54
+ "@traqula/rules-sparql-1-1": "^0.0.24",
55
+ "@traqula/rules-sparql-1-1-adjust": "^0.0.24"
55
56
  },
56
57
  "devDependencies": {
57
58
  "@rdfjs/types": "^2.0.0",
58
- "@traqula/test-utils": "^0.0.22",
59
+ "@traqula/test-utils": "^0.0.24",
59
60
  "rdf-data-factory": "^2.0.1",
60
61
  "rdf-test-suite": "^2.0.0"
61
62
  },
62
- "gitHead": "e0cf04a50b3558229ebcc5992cf9562b14f9a077"
63
+ "gitHead": "9865fe1fe302819d46e19c6f3250ceef778f434f"
63
64
  }
@@ -1,43 +0,0 @@
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
- parse: () => parse,
22
- query: () => query,
23
- update: () => update
24
- });
25
- module.exports = __toCommonJS(parser_exports);
26
- var import_rdf_test_suite = require("rdf-test-suite");
27
- var import_lib = require("../lib/index.js");
28
- function parse(query2, context = {}) {
29
- const parser = new import_lib.Parser();
30
- parser.parse(query2, context);
31
- }
32
- function query() {
33
- return Promise.reject(new import_rdf_test_suite.ErrorSkipped("Querying is not supported"));
34
- }
35
- function update() {
36
- return Promise.reject(new import_rdf_test_suite.ErrorSkipped("Updating is not supported"));
37
- }
38
- // Annotate the CommonJS export names for ESM import in node:
39
- 0 && (module.exports = {
40
- parse,
41
- query,
42
- update
43
- });
@@ -1,59 +0,0 @@
1
- "use strict";
2
- var import_test_utils = require("@traqula/test-utils");
3
- var import_rdf_data_factory = require("rdf-data-factory");
4
- var import_vitest = require("vitest");
5
- var import_lib = require("../lib/index.js");
6
- (0, import_vitest.describe)("a SPARQL 1.1 + adjust parser", () => {
7
- const parser = new import_lib.Parser();
8
- const context = { prefixes: { ex: "http://example.org/" } };
9
- (0, import_vitest.it)("passes chevrotain validation", () => {
10
- import_lib.adjustParserBuilder.build({
11
- tokenVocabulary: import_lib.adjustLexerBuilder.tokenVocabulary,
12
- lexerConfig: {
13
- skipValidations: false,
14
- ensureOptimizations: true
15
- },
16
- parserConfig: {
17
- skipValidations: false
18
- }
19
- });
20
- });
21
- (0, import_vitest.describe)("positive paths", () => {
22
- for (const { name, statics } of (0, import_test_utils.positiveTest)("paths")) {
23
- (0, import_vitest.it)(`can parse ${name}`, async ({ expect }) => {
24
- const { query, ast } = await statics();
25
- const res = parser.parsePath(query, context);
26
- expect(res).toEqualParsedQuery(ast);
27
- });
28
- }
29
- });
30
- (0, import_vitest.describe)("positive sparql 1.1", () => {
31
- for (const { name, statics } of (0, import_test_utils.positiveTest)("sparql-1-1")) {
32
- (0, import_vitest.it)(`can parse ${name}`, async ({ expect }) => {
33
- const { query, ast } = await statics();
34
- const res = parser.parse(query, context);
35
- expect(res).toEqualParsedQuery(ast);
36
- });
37
- }
38
- });
39
- (0, import_vitest.describe)("negative SPARQL 1.1", () => {
40
- for (const { name, statics } of (0, import_test_utils.negativeTest)("sparql-1-1-invalid")) {
41
- (0, import_vitest.it)(`should NOT parse ${name}`, async ({ expect }) => {
42
- const { query } = await statics();
43
- expect(() => parser.parse(query, context)).toThrow();
44
- });
45
- }
46
- });
47
- (0, import_vitest.describe)("specific sparql 1.1 tests", () => {
48
- (0, import_test_utils.importSparql11NoteTests)(parser, new import_rdf_data_factory.DataFactory());
49
- });
50
- (0, import_vitest.it)("parses ADJUST function", ({ expect }) => {
51
- const query = `
52
- SELECT ?s ?p (ADJUST(?o, "-PT10H"^^<http://www.w3.org/2001/XMLSchema#dayTimeDuration>) as ?adjusted) WHERE {
53
- ?s ?p ?o
54
- }
55
- `;
56
- const res = parser.parse(query);
57
- expect(res).toMatchObject({});
58
- });
59
- });
@@ -1,4 +0,0 @@
1
- import type { SparqlContext } from '@traqula/rules-sparql-1-1';
2
- export declare function parse(query: string, context?: Partial<SparqlContext>): void;
3
- export declare function query(): Promise<never>;
4
- export declare function update(): Promise<never>;
@@ -1,13 +0,0 @@
1
- import { ErrorSkipped } from 'rdf-test-suite';
2
- import { Parser } from '../lib/index.js';
3
- export function parse(query, context = {}) {
4
- const parser = new Parser();
5
- parser.parse(query, context);
6
- }
7
- export function query() {
8
- return Promise.reject(new ErrorSkipped('Querying is not supported'));
9
- }
10
- export function update() {
11
- return Promise.reject(new ErrorSkipped('Updating is not supported'));
12
- }
13
- //# sourceMappingURL=parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../spec/parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,UAAkC,EAAE;IACvE,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AACD,MAAM,UAAU,KAAK;IACnB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,2BAA2B,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,2BAA2B,CAAC,CAAC,CAAC;AACvE,CAAC","sourcesContent":["import type { SparqlContext } from '@traqula/rules-sparql-1-1';\nimport { ErrorSkipped } from 'rdf-test-suite';\nimport { Parser } from '../lib/index.js';\n\nexport function parse(query: string, context: Partial<SparqlContext> = {}): void {\n const parser = new Parser();\n parser.parse(query, context);\n}\nexport function query(): Promise<never> {\n return Promise.reject(new ErrorSkipped('Querying is not supported'));\n}\n\nexport function update(): Promise<never> {\n return Promise.reject(new ErrorSkipped('Updating is not supported'));\n}\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,59 +0,0 @@
1
- import { positiveTest, importSparql11NoteTests, negativeTest } from '@traqula/test-utils';
2
- import { DataFactory } from 'rdf-data-factory';
3
- import { describe, it } from 'vitest';
4
- import { adjustParserBuilder, adjustLexerBuilder, Parser } from '../lib/index.js';
5
- describe('a SPARQL 1.1 + adjust parser', () => {
6
- const parser = new Parser();
7
- const context = { prefixes: { ex: 'http://example.org/' } };
8
- it('passes chevrotain validation', () => {
9
- adjustParserBuilder.build({
10
- tokenVocabulary: adjustLexerBuilder.tokenVocabulary,
11
- lexerConfig: {
12
- skipValidations: false,
13
- ensureOptimizations: true,
14
- },
15
- parserConfig: {
16
- skipValidations: false,
17
- },
18
- });
19
- });
20
- describe('positive paths', () => {
21
- for (const { name, statics } of positiveTest('paths')) {
22
- it(`can parse ${name}`, async ({ expect }) => {
23
- const { query, ast } = await statics();
24
- const res = parser.parsePath(query, context);
25
- expect(res).toEqualParsedQuery(ast);
26
- });
27
- }
28
- });
29
- describe('positive sparql 1.1', () => {
30
- for (const { name, statics } of positiveTest('sparql-1-1')) {
31
- it(`can parse ${name}`, async ({ expect }) => {
32
- const { query, ast } = await statics();
33
- const res = parser.parse(query, context);
34
- expect(res).toEqualParsedQuery(ast);
35
- });
36
- }
37
- });
38
- describe('negative SPARQL 1.1', () => {
39
- for (const { name, statics } of negativeTest('sparql-1-1-invalid')) {
40
- it(`should NOT parse ${name}`, async ({ expect }) => {
41
- const { query } = await statics();
42
- expect(() => parser.parse(query, context)).toThrow();
43
- });
44
- }
45
- });
46
- describe('specific sparql 1.1 tests', () => {
47
- importSparql11NoteTests(parser, new DataFactory());
48
- });
49
- it('parses ADJUST function', ({ expect }) => {
50
- const query = `
51
- SELECT ?s ?p (ADJUST(?o, "-PT10H"^^<http://www.w3.org/2001/XMLSchema#dayTimeDuration>) as ?adjusted) WHERE {
52
- ?s ?p ?o
53
- }
54
- `;
55
- const res = parser.parse(query);
56
- expect(res).toMatchObject({});
57
- });
58
- });
59
- //# sourceMappingURL=statics.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statics.test.js","sourceRoot":"","sources":["../../../test/statics.test.ts"],"names":[],"mappings":"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","sourcesContent":["import type { BaseQuad } from '@rdfjs/types';\nimport { positiveTest, importSparql11NoteTests, negativeTest } from '@traqula/test-utils';\nimport { DataFactory } from 'rdf-data-factory';\nimport { describe, it } from 'vitest';\nimport { adjustParserBuilder, adjustLexerBuilder, Parser } from '../lib/index.js';\n\ndescribe('a SPARQL 1.1 + adjust parser', () => {\n const parser = new Parser();\n const context = { prefixes: { ex: 'http://example.org/' }};\n\n it('passes chevrotain validation', () => {\n adjustParserBuilder.build({\n tokenVocabulary: adjustLexerBuilder.tokenVocabulary,\n lexerConfig: {\n skipValidations: false,\n ensureOptimizations: true,\n },\n parserConfig: {\n skipValidations: false,\n },\n });\n });\n\n describe('positive paths', () => {\n for (const { name, statics } of positiveTest('paths')) {\n it(`can parse ${name}`, async({ expect }) => {\n const { query, ast } = await statics();\n const res: unknown = parser.parsePath(query, context);\n expect(res).toEqualParsedQuery(ast);\n });\n }\n });\n\n describe('positive sparql 1.1', () => {\n for (const { name, statics } of positiveTest('sparql-1-1')) {\n it(`can parse ${name}`, async({ expect }) => {\n const { query, ast } = await statics();\n const res: unknown = parser.parse(query, context);\n expect(res).toEqualParsedQuery(ast);\n });\n }\n });\n\n describe('negative SPARQL 1.1', () => {\n for (const { name, statics } of negativeTest('sparql-1-1-invalid')) {\n it(`should NOT parse ${name}`, async({ expect }) => {\n const { query } = await statics();\n expect(() => parser.parse(query, context)).toThrow();\n });\n }\n });\n\n describe('specific sparql 1.1 tests', () => {\n importSparql11NoteTests(parser, new DataFactory<BaseQuad>());\n });\n\n it('parses ADJUST function', ({ expect }) => {\n const query = `\nSELECT ?s ?p (ADJUST(?o, \"-PT10H\"^^<http://www.w3.org/2001/XMLSchema#dayTimeDuration>) as ?adjusted) WHERE {\n ?s ?p ?o\n}\n`;\n const res: unknown = parser.parse(query);\n expect(res).toMatchObject({});\n });\n});\n"]}