.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / stylelint / node_modules / table / dist / calculateCellHeight.js
1 'use strict';
2
3 Object.defineProperty(exports, "__esModule", {
4   value: true
5 });
6
7 var _lodash = require('lodash');
8
9 var _lodash2 = _interopRequireDefault(_lodash);
10
11 var _stringWidth = require('string-width');
12
13 var _stringWidth2 = _interopRequireDefault(_stringWidth);
14
15 var _wrapWord = require('./wrapWord');
16
17 var _wrapWord2 = _interopRequireDefault(_wrapWord);
18
19 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
21 /**
22  * @param {string} value
23  * @param {number} columnWidth
24  * @param {boolean} useWrapWord
25  * @returns {number}
26  */
27 exports.default = function (value, columnWidth) {
28   let useWrapWord = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
29
30   if (!_lodash2.default.isString(value)) {
31     throw new TypeError('Value must be a string.');
32   }
33
34   if (!Number.isInteger(columnWidth)) {
35     throw new TypeError('Column width must be an integer.');
36   }
37
38   if (columnWidth < 1) {
39     throw new Error('Column width must be greater than 0.');
40   }
41
42   if (useWrapWord) {
43     return (0, _wrapWord2.default)(value, columnWidth).length;
44   }
45
46   return Math.ceil((0, _stringWidth2.default)(value) / columnWidth);
47 };