Sha256: 06fc10fb7018bd156b34b1443d67d0e1ff1986e534878b493ef6095d675ebf33

Contents?: true

Size: 743 Bytes

Versions: 91

Compression:

Stored size: 743 Bytes

Contents

'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));
};

Version data entries

91 entries across 90 versions & 9 rubygems

Version Path
disco_app-0.18.4 test/dummy/node_modules/indent-string/index.js
disco_app-0.18.1 test/dummy/node_modules/indent-string/index.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/indent-string/index.js
disco_app-0.14.0 test/dummy/node_modules/indent-string/index.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/indent-string/index.js
trusty-cms-5.0.1 node_modules/indent-string/index.js
trusty-cms-4.3.5 node_modules/indent-string/index.js
trusty-cms-5.0.0 node_modules/indent-string/index.js
trusty-cms-4.3.4 node_modules/indent-string/index.js
trusty-cms-4.3.3 node_modules/indent-string/index.js
trusty-cms-4.3.2 node_modules/indent-string/index.js
trusty-cms-4.3.1 node_modules/indent-string/index.js
trusty-cms-4.3 node_modules/indent-string/index.js
trusty-cms-4.2.3 node_modules/indent-string/index.js
tang-0.2.1 spec/tang_app/node_modules/indent-string/index.js
trusty-cms-4.2.2 node_modules/indent-string/index.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/indent-string/index.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/aggregate-error/node_modules/indent-string/index.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/indent-string/index.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/indent-string/index.js