XuqmGroup-H5SDK/node_modules/@rushstack/terminal/lib-commonjs/TerminalStreamWritable.js
徐勤民 e34fa2052a feat(private): add private deployment SDK module
Adds @xuqm/h5-sdk/private entry point with JSON-based initialization,
feature gating, and error codes for private deployment scenarios.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 21:08:08 +08:00

53 行
2.1 KiB
JavaScript

"use strict";
// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
// See LICENSE in the project root for license information.
Object.defineProperty(exports, "__esModule", { value: true });
exports.TerminalStreamWritable = void 0;
const node_stream_1 = require("node:stream");
const ITerminalProvider_1 = require("./ITerminalProvider");
/**
* A adapter to allow writing to a provided terminal using Writable streams.
*
* @beta
*/
class TerminalStreamWritable extends node_stream_1.Writable {
constructor(options) {
const { terminal, severity, writableOptions } = options;
super(writableOptions);
this._writev = undefined;
switch (severity) {
case ITerminalProvider_1.TerminalProviderSeverity.log:
this._writeMethod = terminal.write.bind(terminal);
break;
case ITerminalProvider_1.TerminalProviderSeverity.verbose:
this._writeMethod = terminal.writeVerbose.bind(terminal);
break;
case ITerminalProvider_1.TerminalProviderSeverity.debug:
this._writeMethod = terminal.writeDebug.bind(terminal);
break;
case ITerminalProvider_1.TerminalProviderSeverity.warning:
this._writeMethod = terminal.writeWarning.bind(terminal);
break;
case ITerminalProvider_1.TerminalProviderSeverity.error:
this._writeMethod = terminal.writeError.bind(terminal);
break;
default:
throw new Error(`Unknown severity: ${severity}`);
}
}
_write(chunk, encoding,
// eslint-disable-next-line @rushstack/no-new-null
callback) {
try {
const chunkData = typeof chunk === 'string' ? chunk : Buffer.from(chunk);
this._writeMethod(chunkData.toString());
}
catch (e) {
callback(e);
return;
}
callback();
}
}
exports.TerminalStreamWritable = TerminalStreamWritable;
//# sourceMappingURL=TerminalStreamWritable.js.map