UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

33 lines (32 loc) 1.49 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const baseRepeat_1 = require("./baseRepeat"); const baseToString_1 = __importDefault(require("./baseToString")); const castSlice_1 = __importDefault(require("./castSlice")); const hasUnicode_1 = __importDefault(require("./hasUnicode")); const stringSize_1 = __importDefault(require("./stringSize")); const stringToArray_1 = __importDefault(require("./stringToArray")); /** * Creates the padding for `string` based on `length`. The `chars` string * is truncated if the number of characters exceeds `length`. * * @private * @param {number} length The padding length. * @param {string} [chars=' '] The string used as padding. * @returns {string} Returns the padding for `string`. */ function createPadding(length, chars) { chars = chars === undefined ? ' ' : (0, baseToString_1.default)(chars); var charsLength = chars.length; if (charsLength < 2) { return charsLength ? (0, baseRepeat_1.baseRepeat)(chars, length) : chars; } var result = (0, baseRepeat_1.baseRepeat)(chars, Math.ceil(length / (0, stringSize_1.default)(chars))); return (0, hasUnicode_1.default)(chars) ? (0, castSlice_1.default)((0, stringToArray_1.default)(result), 0, length).join('') : result.slice(0, length); } exports.default = createPadding;