_addStream()

in packages/opentelemetry-node/lib/luggite.js [140:183]


    _addStream(s, defaultLevel) {
        if (defaultLevel === null || defaultLevel === undefined) {
            defaultLevel = INFO;
        }

        s = Object.assign({}, s);

        // Implicit 'type' from other args.
        if (!s.type) {
            if (s.stream) {
                s.type = 'stream';
            }
        }
        // @ts-expect-error -- adding a property `raw` which is not part of the param
        s.raw = s.type === 'raw'; // PERF: Allow for faster check in `_emit`.

        if (s.level !== undefined) {
            s.level = resolveLevel(s.level);
        } else {
            s.level = resolveLevel(defaultLevel);
        }
        if (s.level < this._level) {
            this._level = s.level;
        }

        switch (s.type) {
            case 'stream':
                assert.ok(
                    isWritable(s.stream),
                    '"stream" stream is not writable: ' + inspect(s.stream)
                );
                break;
            case 'raw':
                break;
            default:
                throw new TypeError('unknown stream type "' + s.type + '"');
        }

        this._streams.push(s);
        // @ts-expect-error -- inspecting the previously added `raw` property
        if (!this._haveNonRawStreams && !s.raw) {
            this._haveNonRawStreams = true;
        }
    }