minimal adjustments
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / table / dist / wrapWord.js
1 "use strict";
2
3 Object.defineProperty(exports, "__esModule", {
4   value: true
5 });
6 exports.default = void 0;
7
8 var _sliceAnsi = _interopRequireDefault(require("slice-ansi"));
9
10 var _stringWidth = _interopRequireDefault(require("string-width"));
11
12 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14 /**
15  * @param {string} input
16  * @param {number} size
17  * @returns {Array}
18  */
19 const wrapWord = (input, size) => {
20   let subject;
21   subject = input;
22   const chunks = []; // https://regex101.com/r/gY5kZ1/1
23
24   const re = new RegExp('(^.{1,' + size + '}(\\s+|$))|(^.{1,' + (size - 1) + '}(\\\\|/|_|\\.|,|;|-))');
25
26   do {
27     let chunk;
28     chunk = subject.match(re);
29
30     if (chunk) {
31       chunk = chunk[0];
32       subject = (0, _sliceAnsi.default)(subject, (0, _stringWidth.default)(chunk));
33       chunk = chunk.trim();
34     } else {
35       chunk = (0, _sliceAnsi.default)(subject, 0, size);
36       subject = (0, _sliceAnsi.default)(subject, size);
37     }
38
39     chunks.push(chunk);
40   } while ((0, _stringWidth.default)(subject));
41
42   return chunks;
43 };
44
45 var _default = wrapWord;
46 exports.default = _default;
47 //# sourceMappingURL=wrapWord.js.map