ui
This commit is contained in:
+35
@@ -0,0 +1,35 @@
|
||||
'use strict';
|
||||
|
||||
var clone = require('../helpers/clone');
|
||||
|
||||
module.exports = function pad(size, value) {
|
||||
var abs = Math.abs(size);
|
||||
var count = this.count();
|
||||
|
||||
if (abs <= count) {
|
||||
return this;
|
||||
}
|
||||
|
||||
var diff = abs - count;
|
||||
var items = clone(this.items);
|
||||
var isArray = Array.isArray(this.items);
|
||||
var prepend = size < 0;
|
||||
|
||||
for (var iterator = 0; iterator < diff;) {
|
||||
if (!isArray) {
|
||||
if (items[iterator] !== undefined) {
|
||||
diff += 1;
|
||||
} else {
|
||||
items[iterator] = value;
|
||||
}
|
||||
} else if (prepend) {
|
||||
items.unshift(value);
|
||||
} else {
|
||||
items.push(value);
|
||||
}
|
||||
|
||||
iterator += 1;
|
||||
}
|
||||
|
||||
return new this.constructor(items);
|
||||
};
|
||||
Reference in New Issue
Block a user