gitweb.js: Provide default values for padding in padLeftStr and padLeft

This means that one can use padLeft(4, 2) and it would be equivalent
to runing padLeft(4, 2, '0'), and it would return '04' i.e. '4' padded
with '0' to width 2, to be used e.g. in formatting date and time.

This should make those functions easier to use.  Current code doesn't
yet make use of this feature.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jakub Narebski
2011-04-28 21:04:03 +02:00
committed by Junio C Hamano
parent e2895de4d8
commit 4dfa207eec

View File

@ -22,11 +22,14 @@
* *
* @param {Number|String} input: number to pad * @param {Number|String} input: number to pad
* @param {Number} width: visible width of output * @param {Number} width: visible width of output
* @param {String} str: string to prefix to string, e.g. '\u00A0' * @param {String} str: string to prefix to string, defaults to '\u00A0'
* @returns {String} INPUT prefixed with STR x (WIDTH - INPUT.length) * @returns {String} INPUT prefixed with STR x (WIDTH - INPUT.length)
*/ */
function padLeftStr(input, width, str) { function padLeftStr(input, width, str) {
var prefix = ''; var prefix = '';
if (typeof str === 'undefined') {
ch = '\u00A0'; // using '&nbsp;' doesn't work in all browsers
}
width -= input.toString().length; width -= input.toString().length;
while (width > 0) { while (width > 0) {
@ -38,16 +41,21 @@ function padLeftStr(input, width, str) {
/** /**
* Pad INPUT on the left to WIDTH, using given padding character CH, * Pad INPUT on the left to WIDTH, using given padding character CH,
* for example padLeft('a', 3, '_') is '__a'. * for example padLeft('a', 3, '_') is '__a'
* padLeft(4, 2) is '04' (same as padLeft(4, 2, '0'))
* *
* @param {String} input: input value converted to string. * @param {String} input: input value converted to string.
* @param {Number} width: desired length of output. * @param {Number} width: desired length of output.
* @param {String} ch: single character to prefix to string. * @param {String} ch: single character to prefix to string, defaults to '0'.
* *
* @returns {String} Modified string, at least SIZE length. * @returns {String} Modified string, at least SIZE length.
*/ */
function padLeft(input, width, ch) { function padLeft(input, width, ch) {
var s = input + ""; var s = input + "";
if (typeof ch === 'undefined') {
ch = '0';
}
while (s.length < width) { while (s.length < width) {
s = ch + s; s = ch + s;
} }