@comunica/actor-query-result-serialize-stats 3.0.1 → 3.1.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.
@@ -62,7 +62,7 @@ class ActorQueryResultSerializeStats extends bus_query_result_serialize_1.ActorQ
62
62
  // TODO: remove when we will drop support of Node 14
63
63
  if (typeof performance === 'undefined') {
64
64
  const time = process.hrtime();
65
- return time[0] * 1000 + (time[1] / 1000000);
65
+ return time[0] * 1_000 + (time[1] / 1_000_000);
66
66
  }
67
67
  return performance.now();
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ActorQueryResultSerializeStats.js","sourceRoot":"","sources":["ActorQueryResultSerializeStats.ts"],"names":[],"mappings":"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","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 IQueryOperationResultQuads,\n} from '@comunica/types';\nimport { Readable } from 'readable-stream';\nimport type { ActionObserverHttp } from './ActionObserverHttp';\n\nconst process: NodeJS.Process = require('process/');\n\n/**\n * Serializes SPARQL results for testing and debugging.\n */\nexport class ActorQueryResultSerializeStats extends ActorQueryResultSerializeFixedMediaTypes {\n public readonly httpObserver: ActionObserverHttp;\n\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested {{ \"stats\": 0.5 }} mediaTypePriorities\n * \\ @defaultNested {{ \"stats\": \"https://comunica.linkeddatafragments.org/#results_stats\" }} mediaTypeFormats\n * \\ @defaultNested {<default_observer> a <caqrsst:components/ActionObserverHttp.jsonld#ActionObserverHttp>} httpObserver\n */\n public constructor(args: IActorQueryResultSerializeStatsArgs) {\n super(args);\n }\n /* eslint-enable max-len */\n\n public override 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 streams or quad streams.');\n }\n return true;\n }\n\n public pushHeader(data: Readable): void {\n const header: string = [ 'Result', 'Delay (ms)', 'HTTP requests',\n ].join(',');\n data.push(`${header}\\n`);\n }\n\n public pushStat(data: Readable, startTime: number, result: number): void {\n const row: string = [ result, this.delay(startTime), this.httpObserver.requests,\n ].join(',');\n data.push(`${row}\\n`);\n }\n\n public pushFooter(data: Readable, startTime: number): void {\n const footer: string = [ 'TOTAL', this.delay(startTime), this.httpObserver.requests,\n ].join(',');\n data.push(`${footer}\\n`);\n data.push(null);\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 const resultStream: NodeJS.EventEmitter = action.type === 'bindings' ?\n (<IQueryOperationResultBindings> action).bindingsStream :\n (<IQueryOperationResultQuads> action).quadStream;\n\n const startTime = this.now();\n let result = 1;\n\n this.pushHeader(data);\n resultStream.on('error', error => data.emit('error', error));\n resultStream.on('data', () => this.pushStat(data, startTime, result++));\n resultStream.on('end', () => this.pushFooter(data, startTime));\n\n return { data };\n }\n\n /* istanbul ignore next */\n public now(): number {\n // TODO: remove when we will drop support of Node 14\n if (typeof performance === 'undefined') {\n const time: [number, number] = process.hrtime();\n return time[0] * 1_000 + (time[1] / 1_000_000);\n }\n return performance.now();\n }\n\n public delay(startTime: number): number {\n return this.now() - startTime;\n }\n}\n\nexport interface IActorQueryResultSerializeStatsArgs extends IActorQueryResultSerializeFixedMediaTypesArgs {\n httpObserver: ActionObserverHttp;\n}\n"]}
1
+ {"version":3,"file":"ActorQueryResultSerializeStats.js","sourceRoot":"","sources":["ActorQueryResultSerializeStats.ts"],"names":[],"mappings":"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","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 IQueryOperationResultQuads,\n} from '@comunica/types';\nimport { Readable } from 'readable-stream';\nimport type { ActionObserverHttp } from './ActionObserverHttp';\n\nconst process: NodeJS.Process = require('process/');\n\n/**\n * Serializes SPARQL results for testing and debugging.\n */\nexport class ActorQueryResultSerializeStats extends ActorQueryResultSerializeFixedMediaTypes {\n public readonly httpObserver: ActionObserverHttp;\n\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested {{ \"stats\": 0.5 }} mediaTypePriorities\n * \\ @defaultNested {{ \"stats\": \"https://comunica.linkeddatafragments.org/#results_stats\" }} mediaTypeFormats\n * \\ @defaultNested {<default_observer> a <caqrsst:components/ActionObserverHttp.jsonld#ActionObserverHttp>} httpObserver\n */\n public constructor(args: IActorQueryResultSerializeStatsArgs) {\n super(args);\n }\n /* eslint-enable max-len */\n\n public override 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 streams or quad streams.');\n }\n return true;\n }\n\n public pushHeader(data: Readable): void {\n const header: string = [ 'Result', 'Delay (ms)', 'HTTP requests',\n ].join(',');\n data.push(`${header}\\n`);\n }\n\n public pushStat(data: Readable, startTime: number, result: number): void {\n const row: string = [ result, this.delay(startTime), this.httpObserver.requests,\n ].join(',');\n data.push(`${row}\\n`);\n }\n\n public pushFooter(data: Readable, startTime: number): void {\n const footer: string = [ 'TOTAL', this.delay(startTime), this.httpObserver.requests,\n ].join(',');\n data.push(`${footer}\\n`);\n data.push(null);\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 const resultStream: NodeJS.EventEmitter = action.type === 'bindings' ?\n (<IQueryOperationResultBindings> action).bindingsStream :\n (<IQueryOperationResultQuads> action).quadStream;\n\n const startTime = this.now();\n let result = 1;\n\n this.pushHeader(data);\n resultStream.on('error', error => data.emit('error', error));\n resultStream.on('data', () => this.pushStat(data, startTime, result++));\n resultStream.on('end', () => this.pushFooter(data, startTime));\n\n return { data };\n }\n\n /* istanbul ignore next */\n public now(): number {\n // TODO: remove when we will drop support of Node 14\n if (typeof performance === 'undefined') {\n const time: [number, number] = process.hrtime();\n return time[0] * 1_000 + (time[1] / 1_000_000);\n }\n return performance.now();\n }\n\n public delay(startTime: number): number {\n return this.now() - startTime;\n }\n}\n\nexport interface IActorQueryResultSerializeStatsArgs extends IActorQueryResultSerializeFixedMediaTypesArgs {\n httpObserver: ActionObserverHttp;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comunica/actor-query-result-serialize-stats",
3
- "version": "3.0.1",
3
+ "version": "3.1.0",
4
4
  "description": "A stats query-result-serialize actor",
5
5
  "lsd:module": true,
6
6
  "license": "MIT",
@@ -32,18 +32,18 @@
32
32
  "lib/**/*.js.map"
33
33
  ],
34
34
  "scripts": {
35
- "build": "npm run build:ts && npm run build:components",
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-http": "^3.0.1",
41
- "@comunica/bus-http-invalidate": "^3.0.1",
42
- "@comunica/bus-query-result-serialize": "^3.0.1",
43
- "@comunica/core": "^3.0.1",
44
- "@comunica/types": "^3.0.1",
40
+ "@comunica/bus-http": "^3.1.0",
41
+ "@comunica/bus-http-invalidate": "^3.1.0",
42
+ "@comunica/bus-query-result-serialize": "^3.1.0",
43
+ "@comunica/core": "^3.1.0",
44
+ "@comunica/types": "^3.1.0",
45
45
  "process": "^0.11.10",
46
46
  "readable-stream": "^4.4.2"
47
47
  },
48
- "gitHead": "9c0b537cd927d29590c287fe882185d88a65461b"
48
+ "gitHead": "69d92988644c07b1b4831ba0a52073092d2f43af"
49
49
  }