@traqula/parser-sparql-1-1-adjust 0.0.21 → 0.0.23
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/dist/cjs/lib/Parser.js +46 -0
- package/dist/cjs/lib/index.js +22 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/spec/parser.js +43 -0
- package/dist/cjs/test/statics.test.js +59 -0
- package/{lib → dist/esm/lib}/Parser.d.ts +123 -123
- package/dist/esm/lib/Parser.js.map +1 -0
- package/dist/esm/lib/index.js.map +1 -0
- package/dist/esm/spec/parser.d.ts +4 -0
- package/dist/esm/spec/parser.js +13 -0
- package/dist/esm/spec/parser.js.map +1 -0
- package/dist/esm/test/statics.test.d.ts +1 -0
- package/dist/esm/test/statics.test.js +59 -0
- package/dist/esm/test/statics.test.js.map +1 -0
- package/package.json +19 -21
- package/lib/Parser.js.map +0 -1
- package/lib/index.cjs +0 -15203
- package/lib/index.js.map +0 -1
- /package/{lib → dist/esm/lib}/Parser.js +0 -0
- /package/{lib → dist/esm/lib}/index.d.ts +0 -0
- /package/{lib → dist/esm/lib}/index.js +0 -0
|
@@ -0,0 +1,46 @@
|
|
|
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
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
42
|
+
0 && (module.exports = {
|
|
43
|
+
Parser,
|
|
44
|
+
adjustLexerBuilder,
|
|
45
|
+
adjustParserBuilder
|
|
46
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
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;
|
|
13
|
+
};
|
|
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
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "type": "commonjs" }
|
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
});
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
});
|