12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- "use strict";
- exports = module.exports = cliWidth;
- function normalizeOpts(options) {
- let defaultOpts = {
- defaultWidth: 0,
- output: process.stdout,
- tty: require("tty"),
- };
- if (!options) {
- return defaultOpts;
- }
- Object.keys(defaultOpts).forEach(function (key) {
- if (!options[key]) {
- options[key] = defaultOpts[key];
- }
- });
- return options;
- }
- function cliWidth(options) {
- let opts = normalizeOpts(options);
- if (opts.output.getWindowSize) {
- return opts.output.getWindowSize()[0] || opts.defaultWidth;
- }
- if (opts.tty.getWindowSize) {
- return opts.tty.getWindowSize()[1] || opts.defaultWidth;
- }
- if (opts.output.columns) {
- return opts.output.columns;
- }
- if (process.env.CLI_WIDTH) {
- let width = parseInt(process.env.CLI_WIDTH, 10);
- if (!isNaN(width) && width !== 0) {
- return width;
- }
- }
- return opts.defaultWidth;
- }
|