@visulima/ansi
Version:
ANSI escape codes for some terminal swag.
105 lines (102 loc) • 5.17 kB
JavaScript
import { S as SEP, C as CSI, D as DCS, a as ST } from './packem_shared/constants-CE7WkXh_.mjs';
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
class AnsiStatusReportImpl {
constructor(reportCode) {
this.reportCode = reportCode;
}
static {
__name(this, "AnsiStatusReportImpl");
}
isDecReport = false;
}
class DecStatusReportImpl {
constructor(reportCode) {
this.reportCode = reportCode;
}
static {
__name(this, "DecStatusReportImpl");
}
isDecReport = true;
}
const createAnsiStatusReport = /* @__PURE__ */ __name((code) => new AnsiStatusReportImpl(code), "createAnsiStatusReport");
const createDecStatusReport = /* @__PURE__ */ __name((code) => new DecStatusReportImpl(code), "createDecStatusReport");
const deviceStatusReport = /* @__PURE__ */ __name((...reports) => {
if (reports.length === 0) {
return "";
}
let hasDecReport = false;
const reportCodes = reports.map((report) => {
if (report.isDecReport) {
hasDecReport = true;
}
return report.reportCode.toString();
});
let seq = CSI;
if (hasDecReport) {
seq += "?";
}
return `${seq + reportCodes.join(SEP)}n`;
}, "deviceStatusReport");
const DSR = /* @__PURE__ */ __name((report) => deviceStatusReport(report), "DSR");
const requestCursorPositionReport = `${CSI}6n`;
const requestExtendedCursorPositionReport = `${CSI}?6n`;
const cursorPositionReport = /* @__PURE__ */ __name((line, column) => {
const r = Math.max(1, line);
const c = Math.max(1, column);
return `${CSI + r.toString() + SEP + c.toString()}R`;
}, "cursorPositionReport");
const CPR = cursorPositionReport;
const extendedCursorPositionReport = /* @__PURE__ */ __name((line, column, page) => {
const r = Math.max(1, line);
const c = Math.max(1, column);
let seq = `${CSI}?`;
seq += r.toString() + SEP + c.toString();
if (page > 0) {
seq += SEP + page.toString();
}
seq += "R";
return seq;
}, "extendedCursorPositionReport");
const DECXCPR = extendedCursorPositionReport;
const RequestNameVersion = `${CSI}>0q`;
const XTVERSION = RequestNameVersion;
const requestPrimaryDeviceAttributes = `${CSI}c`;
const DA1 = requestPrimaryDeviceAttributes;
const reportPrimaryDeviceAttributes = /* @__PURE__ */ __name((...attributes) => {
if (attributes.length === 0) {
return "";
}
return `${CSI}?${attributes.join(SEP)}c`;
}, "reportPrimaryDeviceAttributes");
const requestSecondaryDeviceAttributes = `${CSI}>c`;
const DA2 = requestSecondaryDeviceAttributes;
const reportSecondaryDeviceAttributes = /* @__PURE__ */ __name((version, level, cartridge = 0) => {
const pv = Math.max(0, version);
const pl = Math.max(0, level);
const pc = Math.max(0, cartridge);
return `${CSI}>${pv}${SEP}${pl}${SEP}${pc}c`;
}, "reportSecondaryDeviceAttributes");
const requestTertiaryDeviceAttributes = `${CSI}=c`;
const DA3 = requestTertiaryDeviceAttributes;
const reportTertiaryDeviceAttributes = /* @__PURE__ */ __name((unitID) => `${DCS}!|${unitID}${ST}`, "reportTertiaryDeviceAttributes");
const requestPrimaryDeviceAttributesParam0 = `${CSI}0c`;
const requestSecondaryDeviceAttributesParam0 = `${CSI}>0c`;
const requestTertiaryDeviceAttributesParam0 = `${CSI}=0c`;
const requestTerminalStatus = createAnsiStatusReport(5);
const DSR_TerminalStatus = deviceStatusReport(requestTerminalStatus);
const reportTerminalOK = `${CSI}0n`;
const reportTerminalNotOK = `${CSI}3n`;
const requestPrinterStatusDEC = createDecStatusReport(15);
const DSR_PrinterStatusDEC = deviceStatusReport(requestPrinterStatusDEC);
const reportPrinterReadyDEC = `${CSI}?10n`;
const reportPrinterNotReadyDEC = `${CSI}?11n`;
const reportPrinterNoPaperDEC = `${CSI}?13n`;
const requestUDKStatusDEC = createDecStatusReport(25);
const DSR_UDKStatusDEC = deviceStatusReport(requestUDKStatusDEC);
const reportUDKLockedDEC = `${CSI}?20n`;
const reportUDKUnlockedDEC = `${CSI}?21n`;
const requestKeyboardLanguageDEC = createDecStatusReport(26);
const DSR_KeyboardLanguageDEC = deviceStatusReport(requestKeyboardLanguageDEC);
const reportKeyboardLanguageDEC = /* @__PURE__ */ __name((langCode) => `${CSI}?27${SEP}${langCode.toString()}n`, "reportKeyboardLanguageDEC");
export { CPR, DA1, DA2, DA3, DECXCPR, DSR, DSR_KeyboardLanguageDEC, DSR_PrinterStatusDEC, DSR_TerminalStatus, DSR_UDKStatusDEC, RequestNameVersion, XTVERSION, createAnsiStatusReport, createDecStatusReport, cursorPositionReport, deviceStatusReport, extendedCursorPositionReport, reportKeyboardLanguageDEC, reportPrimaryDeviceAttributes, reportPrinterNoPaperDEC, reportPrinterNotReadyDEC, reportPrinterReadyDEC, reportSecondaryDeviceAttributes, reportTerminalNotOK, reportTerminalOK, reportTertiaryDeviceAttributes, reportUDKLockedDEC, reportUDKUnlockedDEC, requestCursorPositionReport, requestExtendedCursorPositionReport, requestKeyboardLanguageDEC, requestPrimaryDeviceAttributes, requestPrimaryDeviceAttributesParam0, requestPrinterStatusDEC, requestSecondaryDeviceAttributes, requestSecondaryDeviceAttributesParam0, requestTerminalStatus, requestTertiaryDeviceAttributes, requestTertiaryDeviceAttributesParam0, requestUDKStatusDEC };