mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-11 11:27:50 +00:00
More pad optimizations.
This commit is contained in:
35
lodash.js
35
lodash.js
@@ -4622,21 +4622,13 @@
|
|||||||
* is truncated if the number of characters exceeds `length`.
|
* is truncated if the number of characters exceeds `length`.
|
||||||
*
|
*
|
||||||
* @private
|
* @private
|
||||||
* @param {string} string The string to create padding for.
|
* @param {number} length The padding length.
|
||||||
* @param {number} [length=0] The padding length.
|
|
||||||
* @param {string} [chars=' '] The string used as padding.
|
* @param {string} [chars=' '] The string used as padding.
|
||||||
* @returns {string} Returns the padding for `string`.
|
* @returns {string} Returns the padding for `string`.
|
||||||
*/
|
*/
|
||||||
function createPadding(string, length, chars) {
|
function createPadding(length, chars) {
|
||||||
length = toInteger(length);
|
|
||||||
|
|
||||||
var strLength = length ? stringSize(string) : 0;
|
|
||||||
if (!length || strLength >= length) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
chars = chars === undefined ? ' ' : (chars + '');
|
chars = chars === undefined ? ' ' : (chars + '');
|
||||||
chars = chars == '' ? ' ' : chars;
|
chars = chars == '' ? ' ' : chars;
|
||||||
length -= strLength;
|
|
||||||
|
|
||||||
var charsLength = chars.length;
|
var charsLength = chars.length;
|
||||||
if (charsLength == 1) {
|
if (charsLength == 1) {
|
||||||
@@ -13274,14 +13266,11 @@
|
|||||||
if (!length || strLength >= length) {
|
if (!length || strLength >= length) {
|
||||||
return string;
|
return string;
|
||||||
}
|
}
|
||||||
var mid = (length - strLength) / 2,
|
var mid = (length - strLength) / 2;
|
||||||
leftLength = nativeFloor(mid),
|
|
||||||
rightLength = nativeCeil(mid);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
createPadding('', leftLength, chars) +
|
createPadding(nativeFloor(mid), chars) +
|
||||||
string +
|
string +
|
||||||
createPadding('', rightLength, chars)
|
createPadding(nativeCeil(mid), chars)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -13310,7 +13299,12 @@
|
|||||||
*/
|
*/
|
||||||
function padEnd(string, length, chars) {
|
function padEnd(string, length, chars) {
|
||||||
string = toString(string);
|
string = toString(string);
|
||||||
return string + createPadding(string, length, chars);
|
length = toInteger(length);
|
||||||
|
|
||||||
|
var strLength = length ? stringSize(string) : 0;
|
||||||
|
return (length && strLength < length)
|
||||||
|
? (string + createPadding(length - strLength, chars))
|
||||||
|
: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -13338,7 +13332,12 @@
|
|||||||
*/
|
*/
|
||||||
function padStart(string, length, chars) {
|
function padStart(string, length, chars) {
|
||||||
string = toString(string);
|
string = toString(string);
|
||||||
return createPadding(string, length, chars) + string;
|
length = toInteger(length);
|
||||||
|
|
||||||
|
var strLength = length ? stringSize(string) : 0;
|
||||||
|
return (length && strLength < length)
|
||||||
|
? (createPadding(length - strLength, chars) + string)
|
||||||
|
: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user