Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'window-size' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
function createUI (market, asks, bids) {
console.clear()
const baseCurrencySymbol = market.split('/')[0].toUpperCase()
const windowWidth = size.get().width
const { mainTableWidth, innerTableWidth } = calculateTableWidths(windowWidth)
const table = new Table({
head: ['ASKS', 'BIDS'],
style: { head: ['gray'] },
colWidths: [mainTableWidth, mainTableWidth]
})
// The extensive options are required because the default for cli-table is to have
// borders between every row and column.
const innerTableOptions = {
head: ['Price', `Depth (${baseCurrencySymbol})`],
style: { head: ['gray'] },
colWidths: [innerTableWidth, innerTableWidth],
chars: {
'top': '',
'top-mid': '',
function createUI (market, asks, bids) {
console.clear()
const windowHeight = size.get().height
// Fill as many orders as the screen allows less other info displayed
const maxLengthPerSide = Math.floor((windowHeight - NON_MARKET_INFO) / 2)
const baseCurrencySymbol = market.split('/')[0].toUpperCase()
const parentTable = new Table({
head: [],
chars: {
'top-mid': '',
'bottom-mid': '',
'left-mid': '',
'mid': '',
'mid-mid': '',
'right-mid': '',
'middle': ''
},
function createUI (market, asks, bids) {
const baseCurrencySymbol = market.split('/')[0].toUpperCase()
const windowWidth = size.get().width
const { mainTableWidth, innerTableWidth } = calculateTableWidths(windowWidth)
const table = new Table({
head: ['ASKS', 'BIDS'],
style: { head: ['gray'] },
colWidths: [mainTableWidth, mainTableWidth]
})
// The extensive options are required because the default for cli-table is to have
// borders between every row and column.
const innerTableOptions = {
head: ['Price', `Depth (${baseCurrencySymbol})`],
style: { head: ['gray'] },
colWidths: [innerTableWidth, innerTableWidth],
chars: {
'top': '',
'top-mid': '',
import globby from 'globby';
import * as inquirer from 'inquirer';
import inquirerAutocomplete from 'inquirer-autocomplete-prompt';
import symbols from 'log-symbols';
import mkdirp from 'mkdirp';
import { emojify } from 'node-emoji';
import * as path from 'path';
import * as windowSize from 'window-size';
import { commonFlags } from '../flags';
import { Compiler } from '../template/compiler';
import { createContext } from '../template/context';
import { Reader, Resource } from '../template/reader';
import { fileExists } from '../utils';
import { Reporter } from '../template/reporter';
const LIST_PAGE_SIZE = windowSize.height - 10;
const searchDir = (directories: string[]) => (_: any, input = ''): Promise => {
return new Promise((resolve) => {
const fuzzyResult = fuzzy.filter(input, directories);
resolve(fuzzyResult.map((el) => el.original));
});
};
// inquirer can fuzzy search
inquirer.registerPrompt('autocomplete', inquirerAutocomplete);
export default class GenerateCommand extends Command {
public static description =
'Scaffold using the specified template. If you do not specify the template name and execute it, interactively select the template.';
public static args = [{ name: 'templateName' }];
Jimp.read(path, function(err, image) {
if (err) return callback('Error loading image: ' + err);
// Percentage based widths
if (opts.width && opts.width.substr(-1) === '%') {
opts.width = Math.floor((parseInt(opts.width.slice(0, -1)) / 100) * (windowSize.width * terminalCharWidth));
}
// Percentage based heights
if (opts.height && opts.height.substr(-1) === '%') {
opts.height = Math.floor((parseInt(opts.height.slice(0, -1)) / 100) * windowSize.height);
}
// Setup options
var options = {
fit: opts.fit ? opts.fit : 'original',
width: opts.width ? parseInt(opts.width) : image.bitmap.width,
height: opts.height ? parseInt(opts.height) : image.bitmap.height,
c_ratio: opts.c_ratio ? parseInt(opts.c_ratio) : 2,
color: opts.color == false ? false : true,
as_string: opts.format === 'array' ? false : true
}
var new_dims = calculate_dims(image, options);
// Resize to requested dimensions
outOption += '\n Options.' + key + ': ' + CFonts.OPTIONS[key];
}
CFonts.debugging.report(outOption, 2);
}
if (CFonts.OPTIONS.font === 'console') {
//console fontface is pretty easy to process
var outputLines = INPUT.replace('\\', '').split('|'); //remove escape characters and split into each line
CFonts.FONTFACE.colors = 1; //console defaults
CFonts.FONTFACE.lines = 1;
for (var line in outputLines) {
//each line needs to be pushed into the output array
lines += Math.ceil(outputLines[line].length / WinSize.width); //count each line even when they overflow
if (CFonts.OPTIONS.colors[0] === "candy") {
//if the color is candy
var character = '';
for (var i = 0; i < outputLines[line].length; i++) {
//iterate through the message
character += Colorize(outputLines[line][i]); //and colorize each character individually
}
output.push(character); //push each line to the output array
} else {
output.push(Colorize(outputLines[line])); //colorize line
}
output = AlignText(output, outputLines[line].length); //calculate alignment based on lineLength
output = output.map(function(element) {
var name = element.name;
var output = ' ' + name + self.buildSpaces(spaces - name.length);
var wrap = wordwrap(output.length, windowsize.width);
var description = wrap(element.description);
output += description.substring(output.length);
return output;
});
console.log(output.join('\n'));
var Canvas = require('drawille');
var line = require('bresenham');
var size = require('window-size');
var width = Math.floor(size.width / 2) * 4;
var height = Math.floor((size.height) / 16) * 36;
var c = new Canvas(width, height);
var m = new Canvas(width, height);
var i = 0;
String.prototype.repeat = function(num) {
return new Array(num + 1).join(this);
};
var drawHeader = function(left, right) {
console.log(left + ' '.repeat(size.width - (left.length + right.length)) + right);
};
module.exports = async function help(args, output) {
if (!output)
output = process.stderr;
output.write('QnA Maker Command line interface - © 2018 Microsoft Corporation\n\n');
const helpContents = await getHelpContents(args, output);
let width = windowSize ? windowSize.width : 250;
let leftColWidth = 0;
for (let hc of helpContents) {
if (hc.table && hc.table[0].length > 0) {
for (let row in hc.table) {
let len = hc.table[row][0].length;
if (len > leftColWidth) {
leftColWidth = Math.min(len, Math.floor(width / 3));
}
}
}
}
helpContents.forEach(helpContent => {
output.write(chalk.white.bold(helpContent.head + '\n'));
if (helpContent.table && helpContent.table[0].length > 0) {
function windowWidth() {
return wsize.width ? Math.min(80, wsize.width) : null;
}