|
1234567891011121314151617181920212223242526272829 |
- import slice from 'slice-ansi';
- import stringWidth from 'string-width';
-
- /**
- * Creates an array of strings split into groups the length of size.
- * This function works with strings that contain ASCII characters.
- *
- * wrapText is different from would-be "chunk" implementation
- * in that whitespace characters that occur on a chunk size limit are trimmed.
- *
- * @param {string} subject
- * @param {number} size
- * @returns {Array}
- */
- export default (subject, size) => {
- let subjectSlice;
-
- subjectSlice = subject;
-
- const chunks = [];
-
- do {
- chunks.push(slice(subjectSlice, 0, size));
-
- subjectSlice = slice(subjectSlice, size).trim();
- } while (stringWidth(subjectSlice));
-
- return chunks;
- };
|