Sha256: 1b6ab498fcb588a081a96e1865a1cab27c862bebe987f91fb7ac8822c94729eb

Contents?: true

Size: 481 Bytes

Versions: 2

Compression:

Stored size: 481 Bytes

Contents

'use strict';
module.exports = function (str) {
	return str.replace(/(?:\\*)?"([^"\\]*\\.)*[^"]*"/g, function (match) {
		return match
			// unescape double-quotes
			.replace(/\\"/g, '"')
			// escape escapes
			.replace(/(^|[^\\])(\\+)'/g, '$1$2\\\'')
			// escape single-quotes - round 1
			.replace(/([^\\])'/g, '$1\\\'')
			// escape single-quotes - round 2 (for consecutive single-quotes)
			.replace(/([^\\])'/g, '$1\\\'')
			// convert
			.replace(/^"|"$/g, '\'');
	});
};

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
eslint_node_modules-1.6.0.1 vendor/node_modules/eslint/node_modules/to-single-quotes/index.js
eslint_node_modules-1.6.0 vendor/node_modules/eslint/node_modules/to-single-quotes/index.js