Every new change
This commit is contained in:
39
node_modules/table/dist/wrapWord.js.flow
generated
vendored
Normal file
39
node_modules/table/dist/wrapWord.js.flow
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
import slice from 'slice-ansi';
|
||||
import stringWidth from 'string-width';
|
||||
|
||||
/**
|
||||
* @param {string} input
|
||||
* @param {number} size
|
||||
* @returns {Array}
|
||||
*/
|
||||
export default (input, size) => {
|
||||
let subject;
|
||||
|
||||
subject = input;
|
||||
|
||||
const chunks = [];
|
||||
|
||||
// https://regex101.com/r/gY5kZ1/1
|
||||
const re = new RegExp('(^.{1,' + size + '}(\\s+|$))|(^.{1,' + (size - 1) + '}(\\\\|/|_|\\.|,|;|-))');
|
||||
|
||||
do {
|
||||
let chunk;
|
||||
|
||||
chunk = subject.match(re);
|
||||
|
||||
if (chunk) {
|
||||
chunk = chunk[0];
|
||||
|
||||
subject = slice(subject, stringWidth(chunk));
|
||||
|
||||
chunk = chunk.trim();
|
||||
} else {
|
||||
chunk = slice(subject, 0, size);
|
||||
subject = slice(subject, size);
|
||||
}
|
||||
|
||||
chunks.push(chunk);
|
||||
} while (stringWidth(subject));
|
||||
|
||||
return chunks;
|
||||
};
|
Reference in New Issue
Block a user