version-up-action/node_modules/undici/lib/mock/pending-interceptors-formatter.js
Philipp Horstenkamp c3b63b7fea
Some checks failed
Try out action / pre-commit Autoupdate (push) Failing after 33s
Lint / pre-commit Autoupdate (push) Failing after 41s
Trying a first version.
2024-05-28 22:09:02 +02:00

41 lines
1.0 KiB
JavaScript

'use strict'
const { Transform } = require('stream')
const { Console } = require('console')
/**
* Gets the output of `console.table(…)` as a string.
*/
module.exports = class PendingInterceptorsFormatter {
constructor ({ disableColors } = {}) {
this.transform = new Transform({
transform (chunk, _enc, cb) {
cb(null, chunk)
}
})
this.logger = new Console({
stdout: this.transform,
inspectOptions: {
colors: !disableColors && !process.env.CI
}
})
}
format (pendingInterceptors) {
const withPrettyHeaders = pendingInterceptors.map(
({ method, path, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
Method: method,
Origin: origin,
Path: path,
'Status code': statusCode,
Persistent: persist ? '✅' : '❌',
Invocations: timesInvoked,
Remaining: persist ? Infinity : times - timesInvoked
}))
this.logger.table(withPrettyHeaders)
return this.transform.read().toString()
}
}