summaryrefslogtreecommitdiff
path: root/node_modules/indent-string/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/indent-string/index.js')
-rw-r--r--node_modules/indent-string/index.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/node_modules/indent-string/index.js b/node_modules/indent-string/index.js
new file mode 100644
index 0000000..e1ab804
--- /dev/null
+++ b/node_modules/indent-string/index.js
@@ -0,0 +1,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));
+};