Add indentString

This commit is contained in:
Angelos Chalaris
2018-09-24 22:14:27 +03:00
parent 680b3a3ac0
commit 28e84d483c
4 changed files with 32 additions and 0 deletions

16
snippets/indentString.md Normal file
View File

@ -0,0 +1,16 @@
### indentString
Indents each line in the provided string.
Use `String.replace` and a regular expression to add the character specified by `indent` `count` times at the start of each line.
Omit the third parameter, `indent`, to use a default indentation character of `' '`.
```js
const indentString = (str, count, indent = ' ') =>
str.replace(/^/mg, indent.repeat(count));
```
```js
indentString('Lorem\nIpsum', 2); // ' Lorem\n Ipsum'
indentString('Lorem\nIpsum', 2, '_'); // '__Lorem\n__Ipsum'
```

View File

@ -113,6 +113,7 @@ httpGet:utility,url,browser,intermediate
httpPost:utility,url,browser,intermediate
httpsRedirect:browser,url,intermediate
hz:function,intermediate
indentString:string,utility,beginner
indexOfAll:array,intermediate
initial:array,beginner
initialize2DArray:array,intermediate

View File

@ -0,0 +1,3 @@
const indentString = (str, count, indent = ' ') =>
str.replace(/^/mg, indent.repeat(count));
module.exports = indentString;

View File

@ -0,0 +1,12 @@
const expect = require('expect');
const indentString = require('./indentString.js');
test('indentString is a Function', () => {
expect(indentString).toBeInstanceOf(Function);
});
test('indentString is a Function', () => {
expect(indentString('Lorem\nIpsum', 2)).toBe(' Lorem\n Ipsum');
});
test('indentString is a Function', () => {
expect(indentString('Lorem\nIpsum', 2, '_')).toBe('__Lorem\n__Ipsum');
});