| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 | | 'use strict'; |  |   |  | module.exports = (string, count = 1, options) => { |  |     options = { |  |         indent: ' ', |  |         includeEmptyLines: false, |  |         ...options |  |     }; |  |   |  |     if (typeof string !== 'string') { |  |         throw new TypeError( |  |             `Expected \`input\` to be a \`string\`, got \`${typeof string}\`` |  |         ); |  |     } |  |   |  |     if (typeof count !== 'number') { |  |         throw new TypeError( |  |             `Expected \`count\` to be a \`number\`, got \`${typeof count}\`` |  |         ); |  |     } |  |   |  |     if (typeof options.indent !== 'string') { |  |         throw new TypeError( |  |             `Expected \`options.indent\` to be a \`string\`, got \`${typeof options.indent}\`` |  |         ); |  |     } |  |   |  |     if (count === 0) { |  |         return string; |  |     } |  |   |  |     const regex = options.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm; |  |   |  |     return string.replace(regex, options.indent.repeat(count)); |  | }; | 
 |