21 lines
489 B
JavaScript
21 lines
489 B
JavaScript
'use strict';
|
|
|
|
var repeat = require('repeat-string');
|
|
|
|
module.exports = function padLeft(val, num, str) {
|
|
var padding = '';
|
|
var diff = num - val.length;
|
|
|
|
// Breakpoints based on benchmarks to use the fastest approach
|
|
// for the given number of zeros
|
|
if (diff <= 5 && !str) {
|
|
padding = '00000';
|
|
} else if (diff <= 25 && !str) {
|
|
padding = '000000000000000000000000000';
|
|
} else {
|
|
return val + repeat(str || '0', diff);
|
|
}
|
|
|
|
return val + padding.slice(0, diff);
|
|
};
|