function wrapLabeling(taskName, source, labelState) {
    if (source == null || !labelState.enabled) {
        return source
    }

    const label = padEnd(taskName, labelState.width)
    const color = source.isTTY ? selectColor(taskName) : (x) => x
    const prefix = color(`[${label}] `)
    const stream = createPrefixTransform(prefix, labelState)

    stream.pipe(source)

    return stream
}
Wraps stdout/stderr with a transform stream to add the task name as prefix.

@param {string} taskName - The task name.
@param {stream.Writable} source - An output stream to be wrapped.
@param {object} labelState - An label state for the transform stream.
@returns {stream.Writable} `source` or the created wrapped stream.