@comunica/actor-query-result-serialize-table 2.8.2 → 3.0.1-alpha.43.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.
package/README.md CHANGED
@@ -22,7 +22,7 @@ After installing, this package can be added to your engine's configuration as fo
22
22
  {
23
23
  "@context": [
24
24
  ...
25
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-table/^2.0.0/components/context.jsonld"
25
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-table/^3.0.0/components/context.jsonld"
26
26
  ],
27
27
  "actors": [
28
28
  ...
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-table/^2.0.0/components/context.jsonld",
4
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/^2.0.0/components/context.jsonld",
5
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-result-serialize/^2.0.0/components/context.jsonld"
3
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-table/^3.0.0/components/context.jsonld",
4
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/^3.0.0/components/context.jsonld",
5
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-result-serialize/^3.0.0/components/context.jsonld"
6
6
  ],
7
7
  "@id": "npmd:@comunica/actor-query-result-serialize-table",
8
8
  "components": [
@@ -77,29 +77,29 @@
77
77
  "genericTypeInstances": [
78
78
  {
79
79
  "@type": "ParameterRangeGenericTypeReference",
80
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
80
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
81
81
  },
82
82
  {
83
83
  "@type": "ParameterRangeGenericTypeReference",
84
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
84
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
85
85
  },
86
86
  {
87
87
  "@type": "ParameterRangeGenericTypeReference",
88
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
88
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
89
89
  }
90
90
  ]
91
91
  },
92
92
  {
93
93
  "@type": "ParameterRangeGenericTypeReference",
94
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
94
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
95
95
  },
96
96
  {
97
97
  "@type": "ParameterRangeGenericTypeReference",
98
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
98
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
99
99
  },
100
100
  {
101
101
  "@type": "ParameterRangeGenericTypeReference",
102
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
102
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
103
103
  }
104
104
  ]
105
105
  },
@@ -122,15 +122,15 @@
122
122
  "genericTypeInstances": [
123
123
  {
124
124
  "@type": "ParameterRangeGenericTypeReference",
125
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
125
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
126
126
  },
127
127
  {
128
128
  "@type": "ParameterRangeGenericTypeReference",
129
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
129
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
130
130
  },
131
131
  {
132
132
  "@type": "ParameterRangeGenericTypeReference",
133
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
133
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
134
134
  }
135
135
  ]
136
136
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-table/^2.0.0/components/context.jsonld"
3
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-table/^3.0.0/components/context.jsonld"
4
4
  ],
5
5
  "@id": "npmd:@comunica/actor-query-result-serialize-table",
6
6
  "@type": "Module",
@@ -3,7 +3,7 @@
3
3
  "https://linkedsoftwaredependencies.org/bundles/npm/componentsjs/^5.0.0/components/context.jsonld",
4
4
  {
5
5
  "npmd": "https://linkedsoftwaredependencies.org/bundles/npm/",
6
- "caqrst": "npmd:@comunica/actor-query-result-serialize-table/^2.0.0/",
6
+ "caqrst": "npmd:@comunica/actor-query-result-serialize-table/^3.0.0/",
7
7
  "ActorQueryResultSerializeTable": {
8
8
  "@id": "caqrst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable",
9
9
  "@prefix": true,
@@ -22,7 +22,7 @@ class ActorQueryResultSerializeTable extends bus_query_result_serialize_1.ActorQ
22
22
  this.padding = ActorQueryResultSerializeTable.repeat(' ', this.columnWidth);
23
23
  }
24
24
  static repeat(str, count) {
25
- return new Array(count + 1).join(str);
25
+ return str.repeat(count);
26
26
  }
27
27
  async testHandleChecked(action, context) {
28
28
  if (!['bindings', 'quads'].includes(action.type)) {
@@ -1 +1 @@
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"]}
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 str.repeat(count);\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.8.2",
3
+ "version": "3.0.1-alpha.43.0",
4
4
  "description": "A table query-result-serialize actor",
5
5
  "lsd:module": true,
6
6
  "main": "lib/index.js",
@@ -32,18 +32,18 @@
32
32
  "lib/**/*.js.map"
33
33
  ],
34
34
  "dependencies": {
35
- "@comunica/bus-query-result-serialize": "^2.8.2",
36
- "@comunica/types": "^2.8.2",
35
+ "@comunica/bus-query-result-serialize": "3.0.1-alpha.43.0",
36
+ "@comunica/types": "3.0.1-alpha.43.0",
37
37
  "@rdfjs/types": "*",
38
38
  "rdf-data-factory": "^1.1.1",
39
39
  "rdf-string": "^1.6.3",
40
40
  "rdf-terms": "^1.11.0",
41
- "readable-stream": "^4.2.0"
41
+ "readable-stream": "^4.4.2"
42
42
  },
43
43
  "scripts": {
44
44
  "build": "npm run build:ts && npm run build:components",
45
45
  "build:ts": "node \"../../node_modules/typescript/bin/tsc\"",
46
46
  "build:components": "componentsjs-generator"
47
47
  },
48
- "gitHead": "293cf4edac83099ee3146a68161bea6b77edf300"
48
+ "gitHead": "d11e44cf07d4699f9d2c51d5851b5ed443de1997"
49
49
  }
@@ -1,221 +0,0 @@
1
- {
2
- "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-table/^2.0.0/components/context.jsonld",
4
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/^2.0.0/components/context.jsonld",
5
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-result-serialize/^2.0.0/components/context.jsonld"
6
- ],
7
- "@id": "npmd:@comunica/actor-query-result-serialize-table",
8
- "components": [
9
- {
10
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable",
11
- "@type": "Class",
12
- "requireElement": "ActorQueryResultSerializeTable",
13
- "extends": [
14
- "cbss:components/ActorQueryResultSerializeFixedMediaTypes.jsonld#ActorQueryResultSerializeFixedMediaTypes",
15
- "casst:components/ActorQueryResultSerializeTable.jsonld#IActorQueryResultSerializeTableArgs"
16
- ],
17
- "comment": "A comunica Table Sparql Serialize Actor.",
18
- "parameters": [
19
- {
20
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_columnWidth",
21
- "range": "xsd:integer",
22
- "default": "50",
23
- "comment": "The table column width in number of characters"
24
- },
25
- {
26
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_mediaTypePriorities",
27
- "range": "rdf:JSON",
28
- "default": {
29
- "@type": "@json",
30
- "@value": {
31
- "table": 0.6
32
- }
33
- },
34
- "comment": "A record of media types, with media type name as key, and its priority as value. Priorities are numbers between [0, 1]."
35
- },
36
- {
37
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_mediaTypeFormats",
38
- "range": "rdf:JSON",
39
- "default": {
40
- "@type": "@json",
41
- "@value": {
42
- "table": "https://comunica.linkeddatafragments.org/#results_table"
43
- }
44
- },
45
- "comment": "A record of media types, with media type name as key, and its format IRI as value."
46
- },
47
- {
48
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_priorityScale",
49
- "range": {
50
- "@type": "ParameterRangeUnion",
51
- "parameterRangeElements": [
52
- "xsd:double",
53
- {
54
- "@type": "ParameterRangeUndefined"
55
- }
56
- ]
57
- },
58
- "comment": "A multiplier for media type priorities. This can be used for keeping the original media types in place, but scaling all of their scores with a certain value."
59
- },
60
- {
61
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_name",
62
- "range": "xsd:string",
63
- "default": {
64
- "@id": "rdf:subject"
65
- },
66
- "comment": "The name for this actor."
67
- },
68
- {
69
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_bus",
70
- "range": {
71
- "@type": "ParameterRangeGenericComponent",
72
- "component": "cc:components/Bus.jsonld#Bus",
73
- "genericTypeInstances": [
74
- {
75
- "@type": "ParameterRangeGenericComponent",
76
- "component": "cc:components/Actor.jsonld#Actor",
77
- "genericTypeInstances": [
78
- {
79
- "@type": "ParameterRangeGenericTypeReference",
80
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
81
- },
82
- {
83
- "@type": "ParameterRangeGenericTypeReference",
84
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
85
- },
86
- {
87
- "@type": "ParameterRangeGenericTypeReference",
88
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
89
- }
90
- ]
91
- },
92
- {
93
- "@type": "ParameterRangeGenericTypeReference",
94
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
95
- },
96
- {
97
- "@type": "ParameterRangeGenericTypeReference",
98
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
99
- },
100
- {
101
- "@type": "ParameterRangeGenericTypeReference",
102
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
103
- }
104
- ]
105
- },
106
- "default": {
107
- "@id": "cbss:components/ActorQueryResultSerialize.jsonld#ActorQueryResultSerialize_default_bus",
108
- "@type": "cc:components/Bus.jsonld#Bus"
109
- },
110
- "comment": "The bus this actor subscribes to."
111
- },
112
- {
113
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_beforeActors",
114
- "range": {
115
- "@type": "ParameterRangeUnion",
116
- "parameterRangeElements": [
117
- {
118
- "@type": "ParameterRangeArray",
119
- "parameterRangeValue": {
120
- "@type": "ParameterRangeGenericComponent",
121
- "component": "cc:components/Actor.jsonld#Actor",
122
- "genericTypeInstances": [
123
- {
124
- "@type": "ParameterRangeGenericTypeReference",
125
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
126
- },
127
- {
128
- "@type": "ParameterRangeGenericTypeReference",
129
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
130
- },
131
- {
132
- "@type": "ParameterRangeGenericTypeReference",
133
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
134
- }
135
- ]
136
- }
137
- },
138
- {
139
- "@type": "ParameterRangeUndefined"
140
- }
141
- ]
142
- },
143
- "comment": "Actor that must be registered in the bus before this actor."
144
- }
145
- ],
146
- "memberKeys": [
147
- "columnWidth",
148
- "padding",
149
- "constructor",
150
- "repeat",
151
- "testHandleChecked",
152
- "pad",
153
- "pushHeader",
154
- "pushRow",
155
- "runHandle"
156
- ],
157
- "constructorArguments": [
158
- {
159
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args__constructorArgument",
160
- "fields": [
161
- {
162
- "keyRaw": "columnWidth",
163
- "value": {
164
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_columnWidth"
165
- }
166
- },
167
- {
168
- "keyRaw": "mediaTypePriorities",
169
- "value": {
170
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_mediaTypePriorities"
171
- }
172
- },
173
- {
174
- "keyRaw": "mediaTypeFormats",
175
- "value": {
176
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_mediaTypeFormats"
177
- }
178
- },
179
- {
180
- "keyRaw": "priorityScale",
181
- "value": {
182
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_priorityScale"
183
- }
184
- },
185
- {
186
- "keyRaw": "name",
187
- "value": {
188
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_name"
189
- }
190
- },
191
- {
192
- "keyRaw": "bus",
193
- "value": {
194
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_bus"
195
- }
196
- },
197
- {
198
- "keyRaw": "beforeActors",
199
- "value": {
200
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#ActorQueryResultSerializeTable_args_beforeActors"
201
- }
202
- }
203
- ]
204
- }
205
- ]
206
- },
207
- {
208
- "@id": "casst:components/ActorQueryResultSerializeTable.jsonld#IActorQueryResultSerializeTableArgs",
209
- "@type": "AbstractClass",
210
- "requireElement": "IActorQueryResultSerializeTableArgs",
211
- "extends": [
212
- "cbss:components/ActorQueryResultSerializeFixedMediaTypes.jsonld#IActorQueryResultSerializeFixedMediaTypesArgs"
213
- ],
214
- "parameters": [],
215
- "memberKeys": [
216
- "columnWidth"
217
- ],
218
- "constructorArguments": []
219
- }
220
- ]
221
- }