@comunica/actor-query-result-serialize-json 3.0.3 → 3.1.2
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.
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ActorQueryResultSerializeJson = void 0;
|
|
4
4
|
const bus_query_result_serialize_1 = require("@comunica/bus-query-result-serialize");
|
|
5
|
+
const asynciterator_1 = require("asynciterator");
|
|
5
6
|
const RdfString = require("rdf-string");
|
|
6
7
|
const readable_stream_1 = require("readable-stream");
|
|
7
8
|
/**
|
|
@@ -31,35 +32,20 @@ class ActorQueryResultSerializeJson extends bus_query_result_serialize_1.ActorQu
|
|
|
31
32
|
data._read = () => {
|
|
32
33
|
// Do nothing
|
|
33
34
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
if (action.type === 'bindings' || action.type === 'quads') {
|
|
36
|
+
let stream = action.type === 'bindings' ?
|
|
37
|
+
(0, asynciterator_1.wrap)(action.bindingsStream)
|
|
38
|
+
.map(element => JSON.stringify(Object.fromEntries([...element]
|
|
39
|
+
.map(([key, value]) => [key.value, RdfString.termToString(value)])))) :
|
|
40
|
+
(0, asynciterator_1.wrap)(action.quadStream)
|
|
41
|
+
.map(element => JSON.stringify(RdfString.quadToStringQuad(element)));
|
|
42
|
+
let empty = true;
|
|
43
|
+
stream = stream.map((element) => {
|
|
44
|
+
const ret = `${empty ? '' : ','}\n${element}`;
|
|
43
45
|
empty = false;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
data.push(null);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
else if (action.type === 'quads') {
|
|
51
|
-
const resultStream = action.quadStream;
|
|
52
|
-
data.push('[');
|
|
53
|
-
resultStream.on('error', error => data.emit('error', error));
|
|
54
|
-
resultStream.on('data', (element) => {
|
|
55
|
-
data.push(empty ? '\n' : ',\n');
|
|
56
|
-
data.push(JSON.stringify(RdfString.quadToStringQuad(element)));
|
|
57
|
-
empty = false;
|
|
58
|
-
});
|
|
59
|
-
resultStream.on('end', () => {
|
|
60
|
-
data.push(empty ? ']\n' : '\n]\n');
|
|
61
|
-
data.push(null);
|
|
62
|
-
});
|
|
46
|
+
return ret;
|
|
47
|
+
}).prepend(['[']).append(['\n]\n']);
|
|
48
|
+
data.wrap(stream);
|
|
63
49
|
}
|
|
64
50
|
else {
|
|
65
51
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActorQueryResultSerializeJson.js","sourceRoot":"","sources":["ActorQueryResultSerializeJson.ts"],"names":[],"mappings":";;;AAKA,qFAAgG;
|
|
1
|
+
{"version":3,"file":"ActorQueryResultSerializeJson.js","sourceRoot":"","sources":["ActorQueryResultSerializeJson.ts"],"names":[],"mappings":";;;AAKA,qFAAgG;AAOhG,iDAAqC;AACrC,wCAAwC;AACxC,qDAA2C;AAE3C;;GAEG;AACH,MAAa,6BAA8B,SAAQ,qEAAwC;IACzF;;;;;;;;OAQG;IACH,YAAmB,IAAmD;QACpE,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,iBAAiB,CAAC,MAA8B,EAAE,QAAwB;QAC9F,IAAI,CAAC,CAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAA8B,EAAE,UAAkB,EAAE,QAAwB;QAEjG,MAAM,IAAI,GAAG,IAAI,0BAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE;YAChB,aAAa;QACf,CAAC,CAAC;QAEF,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1D,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;gBACvC,IAAA,oBAAI,EAAkC,MAAO,CAAC,cAAc,CAAC;qBAC1D,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAE,GAAG,OAAO,CAAE;qBAC7D,GAAG,CAAC,CAAC,CAAE,GAAG,EAAE,KAAK,CAAE,EAAE,EAAE,CAAC,CAAE,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,IAAA,oBAAI,EAA+B,MAAO,CAAC,UAAU,CAAC;qBACnD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEzE,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC9B,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC9C,KAAK,GAAG,KAAK,CAAC;gBACd,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,GAAG,CAAE,CAAC,CAAC,MAAM,CAAC,CAAE,OAAO,CAAE,CAAC,CAAC;YAExC,IAAI,CAAC,IAAI,CAAO,MAAM,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAsC,MAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC1F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;CACF;AAvDD,sEAuDC","sourcesContent":["import type {\n IActionSparqlSerialize,\n IActorQueryResultSerializeFixedMediaTypesArgs,\n IActorQueryResultSerializeOutput,\n} from '@comunica/bus-query-result-serialize';\nimport { ActorQueryResultSerializeFixedMediaTypes } from '@comunica/bus-query-result-serialize';\nimport type {\n IActionContext,\n IQueryOperationResultBindings,\n IQueryOperationResultBoolean,\n IQueryOperationResultQuads,\n} from '@comunica/types';\nimport { wrap } from 'asynciterator';\nimport * as RdfString from 'rdf-string';\nimport { Readable } from 'readable-stream';\n\n/**\n * A comunica JSON Query Result Serialize Actor.\n */\nexport class ActorQueryResultSerializeJson extends ActorQueryResultSerializeFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"application/json\": 1.0\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"application/json\": \"https://comunica.linkeddatafragments.org/#results_JSON\"\n * }} mediaTypeFormats\n */\n public constructor(args: IActorQueryResultSerializeFixedMediaTypesArgs) {\n super(args);\n }\n\n public override async testHandleChecked(action: IActionSparqlSerialize, _context: IActionContext): Promise<boolean> {\n if (![ 'bindings', 'quads', 'boolean' ].includes(action.type)) {\n throw new Error('This actor can only handle bindings or quad streams.');\n }\n return true;\n }\n\n public async runHandle(action: IActionSparqlSerialize, _mediaType: string, _context: IActionContext):\n Promise<IActorQueryResultSerializeOutput> {\n const data = new Readable();\n data._read = () => {\n // Do nothing\n };\n\n if (action.type === 'bindings' || action.type === 'quads') {\n let stream = action.type === 'bindings' ?\n wrap((<IQueryOperationResultBindings> action).bindingsStream)\n .map(element => JSON.stringify(Object.fromEntries([ ...element ]\n .map(([ key, value ]) => [ key.value, RdfString.termToString(value) ])))) :\n wrap((<IQueryOperationResultQuads> action).quadStream)\n .map(element => JSON.stringify(RdfString.quadToStringQuad(element)));\n\n let empty = true;\n stream = stream.map((element) => {\n const ret = `${empty ? '' : ','}\\n${element}`;\n empty = false;\n return ret;\n }).prepend([ '[' ]).append([ '\\n]\\n' ]);\n\n data.wrap(<any> stream);\n } else {\n try {\n data.push(`${JSON.stringify(await (<IQueryOperationResultBoolean> action).execute())}\\n`);\n data.push(null);\n } catch (error: unknown) {\n setTimeout(() => data.emit('error', error));\n }\n }\n\n return { data };\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@comunica/actor-query-result-serialize-json",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.2",
|
|
4
4
|
"description": "A json query-result-serialize actor",
|
|
5
5
|
"lsd:module": true,
|
|
6
6
|
"license": "MIT",
|
|
@@ -32,15 +32,16 @@
|
|
|
32
32
|
"lib/**/*.js.map"
|
|
33
33
|
],
|
|
34
34
|
"scripts": {
|
|
35
|
-
"build": "
|
|
35
|
+
"build": "yarn run build:ts && yarn run build:components",
|
|
36
36
|
"build:ts": "node \"../../node_modules/typescript/bin/tsc\"",
|
|
37
37
|
"build:components": "componentsjs-generator"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@comunica/bus-query-result-serialize": "^3.0
|
|
41
|
-
"@comunica/types": "^3.0
|
|
40
|
+
"@comunica/bus-query-result-serialize": "^3.1.0",
|
|
41
|
+
"@comunica/types": "^3.1.0",
|
|
42
|
+
"asynciterator": "^3.9.0",
|
|
42
43
|
"rdf-string": "^1.6.1",
|
|
43
44
|
"readable-stream": "^4.4.2"
|
|
44
45
|
},
|
|
45
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "db31677bdef5400194783048840c147e04b793e5"
|
|
46
47
|
}
|