+++ /dev/null
-'use strict';
-module.exports = (str, count, opts) => {
- // Support older versions: use the third parameter as options.indent
- // TODO: Remove the workaround in the next major version
- const options = typeof opts === 'object' ? Object.assign({indent: ' '}, opts) : {indent: opts || ' '};
- count = count === undefined ? 1 : count;
-
- if (typeof str !== 'string') {
- throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof str}\``);
- }
-
- 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 str;
- }
-
- const regex = options.includeEmptyLines ? /^/mg : /^(?!\s*$)/mg;
- return str.replace(regex, options.indent.repeat(count));
-}
-;