@comunica/actor-query-result-serialize-table 2.7.0 → 2.8.0
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.
|
@@ -166,6 +166,10 @@
|
|
|
166
166
|
"@id": "caqrst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable__member_testHandleChecked",
|
|
167
167
|
"memberFieldName": "testHandleChecked"
|
|
168
168
|
},
|
|
169
|
+
{
|
|
170
|
+
"@id": "caqrst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable__member_termToString",
|
|
171
|
+
"memberFieldName": "termToString"
|
|
172
|
+
},
|
|
169
173
|
{
|
|
170
174
|
"@id": "caqrst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable__member_pad",
|
|
171
175
|
"memberFieldName": "pad"
|
|
@@ -17,6 +17,7 @@ export declare class ActorQueryResultSerializeTable extends ActorQueryResultSeri
|
|
|
17
17
|
constructor(args: IActorQueryResultSerializeTableArgs);
|
|
18
18
|
static repeat(str: string, count: number): string;
|
|
19
19
|
testHandleChecked(action: IActionSparqlSerialize, context: IActionContext): Promise<boolean>;
|
|
20
|
+
termToString(term: RDF.Term): string;
|
|
20
21
|
pad(str: string): string;
|
|
21
22
|
pushHeader(data: Readable, labels: RDF.Variable[]): void;
|
|
22
23
|
pushRow(data: Readable, labels: RDF.Variable[], bindings: Bindings): void;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ActorQueryResultSerializeTable = void 0;
|
|
4
4
|
const bus_query_result_serialize_1 = require("@comunica/bus-query-result-serialize");
|
|
5
5
|
const rdf_data_factory_1 = require("rdf-data-factory");
|
|
6
|
+
const rdf_string_1 = require("rdf-string");
|
|
6
7
|
const rdf_terms_1 = require("rdf-terms");
|
|
7
8
|
const readable_stream_1 = require("readable-stream");
|
|
8
9
|
const DF = new rdf_data_factory_1.DataFactory();
|
|
@@ -29,6 +30,9 @@ class ActorQueryResultSerializeTable extends bus_query_result_serialize_1.ActorQ
|
|
|
29
30
|
}
|
|
30
31
|
return true;
|
|
31
32
|
}
|
|
33
|
+
termToString(term) {
|
|
34
|
+
return term.termType === 'Quad' ? (0, rdf_string_1.termToString)(term) : term.value;
|
|
35
|
+
}
|
|
32
36
|
pad(str) {
|
|
33
37
|
if (str.length <= this.columnWidth) {
|
|
34
38
|
return str + this.padding.slice(str.length);
|
|
@@ -41,7 +45,7 @@ class ActorQueryResultSerializeTable extends bus_query_result_serialize_1.ActorQ
|
|
|
41
45
|
}
|
|
42
46
|
pushRow(data, labels, bindings) {
|
|
43
47
|
data.push(`${labels
|
|
44
|
-
.map(label => bindings.get(label)
|
|
48
|
+
.map(label => bindings.has(label) ? this.termToString(bindings.get(label)) : '')
|
|
45
49
|
.map(label => this.pad(label))
|
|
46
50
|
.join(' ')}\n`);
|
|
47
51
|
}
|
|
@@ -62,7 +66,7 @@ class ActorQueryResultSerializeTable extends bus_query_result_serialize_1.ActorQ
|
|
|
62
66
|
resultStream = action.quadStream;
|
|
63
67
|
this.pushHeader(data, QUAD_TERM_NAMES_VARS);
|
|
64
68
|
resultStream.on('error', error => data.emit('error', error));
|
|
65
|
-
resultStream.on('data', quad => data.push(`${(0, rdf_terms_1.getTerms)(quad).map(term => this.pad(term
|
|
69
|
+
resultStream.on('data', quad => data.push(`${(0, rdf_terms_1.getTerms)(quad).map(term => this.pad(this.termToString(term))).join(' ')}\n`));
|
|
66
70
|
}
|
|
67
71
|
resultStream.on('end', () => data.push(null));
|
|
68
72
|
return { data };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActorQueryResultSerializeTable.js","sourceRoot":"","sources":["ActorQueryResultSerializeTable.ts"],"names":[],"mappings":";;;AAGA,qFAAgG;AAOhG,uDAA+C;AAC/C,yCAAsD;AACtD,qDAA2C;AAE3C,MAAM,EAAE,GAAG,IAAI,8BAAW,EAAE,CAAC;AAC7B,MAAM,oBAAoB,GAAG,2BAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5E;;GAEG;AACH,MAAa,8BAA+B,SAAQ,qEAAwC;IAK1F;;;;OAIG;IACH,YAAmB,IAAyC;QAC1D,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9E,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,GAAW,EAAE,KAAa;QAC7C,OAAO,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,MAA8B,EAAE,OAAuB;QACpF,IAAI,CAAC,CAAE,UAAU,EAAE,OAAO,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAW;QACpB,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE;YAClC,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC7C;QACD,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC;IAClD,CAAC;IAEM,UAAU,CAAC,IAAc,EAAE,MAAsB;QACtD,MAAM,MAAM,GAAW,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,8BAA8B,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzF,CAAC;IAEM,OAAO,CAAC,IAAc,EAAE,MAAsB,EAAE,QAAkB;QACvE,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM;aAChB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"ActorQueryResultSerializeTable.js","sourceRoot":"","sources":["ActorQueryResultSerializeTable.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IActionSparqlSerialize,\n IActorQueryResultSerializeFixedMediaTypesArgs,\n IActorQueryResultSerializeOutput } from '@comunica/bus-query-result-serialize';\nimport { ActorQueryResultSerializeFixedMediaTypes } from '@comunica/bus-query-result-serialize';\nimport type {\n Bindings, IActionContext,\n IQueryOperationResultBindings,\n IQueryOperationResultQuads,\n} from '@comunica/types';\nimport type * as RDF from '@rdfjs/types';\nimport { DataFactory } from 'rdf-data-factory';\nimport { termToString } from 'rdf-string';\nimport { getTerms, QUAD_TERM_NAMES } from 'rdf-terms';\nimport { Readable } from 'readable-stream';\n\nconst DF = new DataFactory();\nconst QUAD_TERM_NAMES_VARS = QUAD_TERM_NAMES.map(name => DF.variable(name));\n\n/**\n * A comunica Table Sparql Serialize Actor.\n */\nexport class ActorQueryResultSerializeTable extends ActorQueryResultSerializeFixedMediaTypes\n implements IActorQueryResultSerializeTableArgs {\n public readonly columnWidth: number;\n public readonly padding: string;\n\n /**\n * @param args -\n * \\ @defaultNested {{ \"table\": 0.6 }} mediaTypePriorities\n * \\ @defaultNested {{ \"table\": \"https://comunica.linkeddatafragments.org/#results_table\" }} mediaTypeFormats\n */\n public constructor(args: IActorQueryResultSerializeTableArgs) {\n super(args);\n this.padding = ActorQueryResultSerializeTable.repeat(' ', this.columnWidth);\n }\n\n public static repeat(str: string, count: number): string {\n return new Array(count + 1).join(str);\n }\n\n public async testHandleChecked(action: IActionSparqlSerialize, context: IActionContext): Promise<boolean> {\n if (![ 'bindings', 'quads' ].includes(action.type)) {\n throw new Error('This actor can only handle bindings or quad streams.');\n }\n return true;\n }\n\n public termToString(term: RDF.Term): string {\n return term.termType === 'Quad' ? termToString(term) : term.value;\n }\n\n public pad(str: string): string {\n if (str.length <= this.columnWidth) {\n return str + this.padding.slice(str.length);\n }\n return `${str.slice(0, this.columnWidth - 1)}…`;\n }\n\n public pushHeader(data: Readable, labels: RDF.Variable[]): void {\n const header: string = labels.map(label => this.pad(label.value)).join(' ');\n data.push(`${header}\\n${ActorQueryResultSerializeTable.repeat('-', header.length)}\\n`);\n }\n\n public pushRow(data: Readable, labels: RDF.Variable[], bindings: Bindings): void {\n data.push(`${labels\n .map(label => bindings.has(label) ? this.termToString(bindings.get(label)!) : '')\n .map(label => this.pad(label))\n .join(' ')}\\n`);\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 let resultStream: NodeJS.EventEmitter;\n if (action.type === 'bindings') {\n resultStream = (<IQueryOperationResultBindings> action).bindingsStream;\n const labels = (await (<IQueryOperationResultBindings> action).metadata()).variables;\n this.pushHeader(data, labels);\n resultStream.on('error', error => data.emit('error', error));\n resultStream.on('data', bindings => this.pushRow(data, labels, bindings));\n } else {\n resultStream = (<IQueryOperationResultQuads> action).quadStream;\n this.pushHeader(data, QUAD_TERM_NAMES_VARS);\n resultStream.on('error', error => data.emit('error', error));\n resultStream.on('data', quad => data.push(\n `${getTerms(quad).map(term => this.pad(this.termToString(term))).join(' ')}\\n`,\n ));\n }\n resultStream.on('end', () => data.push(null));\n\n return { data };\n }\n}\n\nexport interface IActorQueryResultSerializeTableArgs extends IActorQueryResultSerializeFixedMediaTypesArgs {\n /**\n * The table column width in number of characters\n * @range {integer}\n * @default {50}\n */\n columnWidth: number;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@comunica/actor-query-result-serialize-table",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.0",
|
|
4
4
|
"description": "A table query-result-serialize actor",
|
|
5
5
|
"lsd:module": true,
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -32,11 +32,12 @@
|
|
|
32
32
|
"lib/**/*.js.map"
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@comunica/bus-query-result-serialize": "^2.
|
|
36
|
-
"@comunica/types": "^2.
|
|
35
|
+
"@comunica/bus-query-result-serialize": "^2.8.0",
|
|
36
|
+
"@comunica/types": "^2.8.0",
|
|
37
37
|
"@rdfjs/types": "*",
|
|
38
38
|
"rdf-data-factory": "^1.1.1",
|
|
39
|
-
"rdf-
|
|
39
|
+
"rdf-string": "^1.6.3",
|
|
40
|
+
"rdf-terms": "^1.11.0",
|
|
40
41
|
"readable-stream": "^4.2.0"
|
|
41
42
|
},
|
|
42
43
|
"scripts": {
|
|
@@ -44,5 +45,5 @@
|
|
|
44
45
|
"build:ts": "node \"../../node_modules/typescript/bin/tsc\"",
|
|
45
46
|
"build:components": "componentsjs-generator"
|
|
46
47
|
},
|
|
47
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "2459c84cb0ddc959436d8742f1f7b2805ce09825"
|
|
48
49
|
}
|