pad - string padding on both sides
This commit is contained in:
16
snippets/pad.md
Normal file
16
snippets/pad.md
Normal file
@ -0,0 +1,16 @@
|
||||
### pad
|
||||
|
||||
Pads `string` on the left and right side if it's shorter than `length`.
|
||||
String is *NOT* truncated on both sides if it exceeds length.
|
||||
|
||||
```js
|
||||
const pad = (string, length = 8, char = ' ') =>
|
||||
string.padStart((string.length + length) / 2, char).padEnd(length, char);
|
||||
module.exports = pad;
|
||||
```
|
||||
|
||||
```js
|
||||
pad('cat'); //> ' cat '
|
||||
pad(String(42), 4, '0'); //> '004200'
|
||||
pad('foobar', 3); //> 'foobar'
|
||||
```
|
||||
@ -177,6 +177,7 @@ onUserInputChange:browser,event,advanced
|
||||
orderBy:object,array
|
||||
over:adapter,function
|
||||
overArgs:adapter,function
|
||||
pad:string
|
||||
palindrome:string
|
||||
parseCookie:utility,string
|
||||
partial:function
|
||||
|
||||
3
test/pad/pad.js
Normal file
3
test/pad/pad.js
Normal file
@ -0,0 +1,3 @@
|
||||
const pad = (string, length = 8, char = ' ') =>
|
||||
string.padStart((string.length + length) / 2, char).padEnd(length, char);
|
||||
module.exports = pad;
|
||||
13
test/pad/pad.test.js
Normal file
13
test/pad/pad.test.js
Normal file
@ -0,0 +1,13 @@
|
||||
const test = require('tape');
|
||||
const pad = require('./pad.js');
|
||||
|
||||
test('Testing pad', (t) => {
|
||||
//For more information on all the methods supported by tape
|
||||
//Please go to https://github.com/substack/tape
|
||||
t.true(typeof pad === 'function', 'pad is a Function');
|
||||
t.equal(pad('cat'), ' cat ', 'cat is padded on both sides');
|
||||
t.equal(pad('cat').length, 8, 'length of string is 8');
|
||||
t.equal(pad(String(42), 6, '0'), '004200', 'pads 42 with "0"');
|
||||
t.equal(pad('foobar', 3), 'foobar', 'does not truncates if string exceeds length');
|
||||
t.end();
|
||||
});
|
||||
Reference in New Issue
Block a user