Files
infocom-systems-design/node_modules/pino-abstract-transport/test/fixtures/transport-transform.js
2025-10-03 22:27:28 +03:00

25 lines
704 B
JavaScript

'use strict'
const { Transform, pipeline } = require('stream')
const build = require('../..')
module.exports = function (threadStreamOpts) {
const { opts = {} } = threadStreamOpts
return build(function (source) {
const transform = new Transform({
objectMode: true,
autoDestroy: true,
transform (chunk, enc, cb) {
chunk.service = 'from transform'
chunk.level = `${source.levels.labels[chunk.level]}(${chunk.level})`
chunk[source.messageKey] = chunk[source.messageKey].toUpperCase()
cb(null, JSON.stringify(chunk) + '\n')
}
})
pipeline(source, transform, () => {})
return transform
}, { ...opts, enablePipelining: true })
}