@comunica/actor-query-result-serialize-simple 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.ActorQueryResultSerializeSimple = 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 rdf_string_1 = require("rdf-string");
|
|
6
7
|
const readable_stream_1 = require("readable-stream");
|
|
7
8
|
/**
|
|
@@ -27,41 +28,19 @@ class ActorQueryResultSerializeSimple extends bus_query_result_serialize_1.Actor
|
|
|
27
28
|
}
|
|
28
29
|
async runHandle(action, _mediaType, _context) {
|
|
29
30
|
const data = new readable_stream_1.Readable();
|
|
30
|
-
data._read = () => {
|
|
31
|
-
// Do nothing
|
|
32
|
-
};
|
|
33
|
-
let resultStream;
|
|
34
31
|
if (action.type === 'bindings') {
|
|
35
|
-
|
|
36
|
-
resultStream.on('error', error => data.emit('error', error));
|
|
37
|
-
resultStream.on('data', (bindings) => data.push(`${[...bindings].map(([key, value]) => `?${key.value}: ${ActorQueryResultSerializeSimple.termToString(value)}`).join('\n')}\n\n`));
|
|
38
|
-
resultStream.on('end', () => data.push(null));
|
|
32
|
+
data.wrap(action.bindingsStream.map((bindings) => `${[...bindings].map(([key, value]) => `?${key.value}: ${ActorQueryResultSerializeSimple.termToString(value)}`).join('\n')}\n\n`));
|
|
39
33
|
}
|
|
40
34
|
else if (action.type === 'quads') {
|
|
41
|
-
|
|
42
|
-
resultStream.on('error', error => data.emit('error', error));
|
|
43
|
-
resultStream.on('data', quad => data.push(`subject: ${ActorQueryResultSerializeSimple.termToString(quad.subject)}\n` +
|
|
35
|
+
data.wrap(action.quadStream.map(quad => `subject: ${ActorQueryResultSerializeSimple.termToString(quad.subject)}\n` +
|
|
44
36
|
`predicate: ${ActorQueryResultSerializeSimple.termToString(quad.predicate)}\n` +
|
|
45
37
|
`object: ${ActorQueryResultSerializeSimple.termToString(quad.object)}\n` +
|
|
46
38
|
`graph: ${ActorQueryResultSerializeSimple.termToString(quad.graph)}\n\n`));
|
|
47
|
-
resultStream.on('end', () => data.push(null));
|
|
48
|
-
}
|
|
49
|
-
else if (action.type === 'boolean') {
|
|
50
|
-
try {
|
|
51
|
-
data.push(`${JSON.stringify(await action.execute())}\n`);
|
|
52
|
-
data.push(null);
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
setTimeout(() => data.emit('error', error));
|
|
56
|
-
}
|
|
57
39
|
}
|
|
58
40
|
else {
|
|
59
|
-
|
|
60
|
-
.then(
|
|
61
|
-
|
|
62
|
-
data.push(null);
|
|
63
|
-
})
|
|
64
|
-
.catch(error => setTimeout(() => data.emit('error', error)));
|
|
41
|
+
data.wrap((0, asynciterator_1.wrap)(action.type === 'boolean' ?
|
|
42
|
+
action.execute().then(value => [`${value}\n`]) :
|
|
43
|
+
action.execute().then(() => ['ok\n'])));
|
|
65
44
|
}
|
|
66
45
|
return { data };
|
|
67
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActorQueryResultSerializeSimple.js","sourceRoot":"","sources":["ActorQueryResultSerializeSimple.ts"],"names":[],"mappings":";;;AAKA,qFAAgG;AAShG,2CAA0C;AAC1C,qDAA2C;AAE3C;;GAEG;AACH,MAAa,+BAAgC,SAAQ,qEAAwC;IAC3F;;;;OAIG;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,EAAE,MAAM,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,MAAM,CAAC,YAAY,CAAC,IAAc;QAC1C,OAAO,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,yBAAY,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACpE,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAA8B,EAAE,UAAkB,EAAE,QAAwB;QAEjG,MAAM,IAAI,GAAG,IAAI,0BAAQ,EAAE,CAAC;QAC5B,IAAI,
|
|
1
|
+
{"version":3,"file":"ActorQueryResultSerializeSimple.js","sourceRoot":"","sources":["ActorQueryResultSerializeSimple.ts"],"names":[],"mappings":";;;AAKA,qFAAgG;AAShG,iDAAqC;AACrC,2CAA0C;AAC1C,qDAA2C;AAE3C;;GAEG;AACH,MAAa,+BAAgC,SAAQ,qEAAwC;IAC3F;;;;OAIG;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,EAAE,MAAM,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,MAAM,CAAC,YAAY,CAAC,IAAc;QAC1C,OAAO,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,yBAAY,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACpE,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAA8B,EAAE,UAAkB,EAAE,QAAwB;QAEjG,MAAM,IAAI,GAAG,IAAI,0BAAQ,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAuC,MAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAsB,EAAE,EAAE,CAAC,GAAG,CAAE,GAAG,QAAQ,CAAE,CAAC,GAAG,CAC3H,CAAC,CAAE,GAAG,EAAE,KAAK,CAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,+BAA+B,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAoC,MAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACzE,YAAY,+BAA+B,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;gBAC1E,cAAc,+BAA+B,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI;gBAC9E,WAAW,+BAA+B,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;gBACxE,UAAU,+BAA+B,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAO,IAAA,oBAAI,EAClB,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;gBACS,MAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAE,GAAG,KAAK,IAAI,CAAE,CAAC,CAAC,CAAC;gBACvD,MAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAE,MAAM,CAAE,CAAC,CACzE,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;CACF;AA5CD,0EA4CC","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 IQueryOperationResultVoid,\n} from '@comunica/types';\nimport type * as RDF from '@rdfjs/types';\nimport { wrap } from 'asynciterator';\nimport { termToString } from 'rdf-string';\nimport { Readable } from 'readable-stream';\n\n/**\n * A comunica Simple Sparql Serialize Actor.\n */\nexport class ActorQueryResultSerializeSimple extends ActorQueryResultSerializeFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{ \"simple\": 0.9 }} mediaTypePriorities\n * \\ @defaultNested {{ \"simple\": \"https://comunica.linkeddatafragments.org/#results_simple\" }} 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', 'void' ].includes(action.type)) {\n throw new Error('This actor can only handle bindings streams, quad streams, booleans, or updates.');\n }\n return true;\n }\n\n protected static termToString(term: RDF.Term): string {\n return term.termType === 'Quad' ? termToString(term) : term.value;\n }\n\n public async runHandle(action: IActionSparqlSerialize, _mediaType: string, _context: IActionContext):\n Promise<IActorQueryResultSerializeOutput> {\n const data = new Readable();\n if (action.type === 'bindings') {\n data.wrap(<any> (<IQueryOperationResultBindings>action).bindingsStream.map((bindings: RDF.Bindings) => `${[ ...bindings ].map(\n ([ key, value ]) => `?${key.value}: ${ActorQueryResultSerializeSimple.termToString(value)}`,\n ).join('\\n')}\\n\\n`));\n } else if (action.type === 'quads') {\n data.wrap(<any> (<IQueryOperationResultQuads>action).quadStream.map(quad =>\n `subject: ${ActorQueryResultSerializeSimple.termToString(quad.subject)}\\n` +\n `predicate: ${ActorQueryResultSerializeSimple.termToString(quad.predicate)}\\n` +\n `object: ${ActorQueryResultSerializeSimple.termToString(quad.object)}\\n` +\n `graph: ${ActorQueryResultSerializeSimple.termToString(quad.graph)}\\n\\n`));\n } else {\n data.wrap(<any> wrap(\n action.type === 'boolean' ?\n (<IQueryOperationResultBoolean> action).execute().then(value => [ `${value}\\n` ]) :\n (<IQueryOperationResultVoid>action).execute().then(() => [ 'ok\\n' ]),\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-simple",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.2",
|
|
4
4
|
"description": "A simple query-result-serialize actor",
|
|
5
5
|
"lsd:module": true,
|
|
6
6
|
"license": "MIT",
|
|
@@ -32,16 +32,17 @@
|
|
|
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
42
|
"@rdfjs/types": "*",
|
|
43
|
+
"asynciterator": "^3.9.0",
|
|
43
44
|
"rdf-string": "^1.6.3",
|
|
44
45
|
"readable-stream": "^4.4.2"
|
|
45
46
|
},
|
|
46
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "db31677bdef5400194783048840c147e04b793e5"
|
|
47
48
|
}
|