Sha256: 5717342b928e6ee1a2f2dffb7d5f5bc3be9924334d2f834d6eea5c8808888069

Contents?: true

Size: 1.64 KB

Versions: 120

Compression:

Stored size: 1.64 KB

Contents

/*!
	strip-json-comments
	Strip comments from JSON. Lets you use comments in your JSON files!
	https://github.com/sindresorhus/strip-json-comments
	by Sindre Sorhus
	MIT License
*/
(function () {
	'use strict';

	var singleComment = 1;
	var multiComment = 2;

	function stripJsonComments(str) {
		var currentChar;
		var nextChar;
		var insideString = false;
		var insideComment = false;
		var ret = '';

		for (var i = 0; i < str.length; i++) {
			currentChar = str[i];
			nextChar = str[i + 1];

			if (!insideComment && currentChar === '"') {
				var escaped = str[i - 1] === '\\' && str[i - 2] !== '\\';
				if (!insideComment && !escaped && currentChar === '"') {
					insideString = !insideString;
				}
			}

			if (insideString) {
				ret += currentChar;
				continue;
			}

			if (!insideComment && currentChar + nextChar === '//') {
				insideComment = singleComment;
				i++;
			} else if (insideComment === singleComment && currentChar + nextChar === '\r\n') {
				insideComment = false;
				i++;
				ret += currentChar;
				ret += nextChar;
				continue;
			} else if (insideComment === singleComment && currentChar === '\n') {
				insideComment = false;
			} else if (!insideComment && currentChar + nextChar === '/*') {
				insideComment = multiComment;
				i++;
				continue;
			} else if (insideComment === multiComment && currentChar + nextChar === '*/') {
				insideComment = false;
				i++;
				continue;
			}

			if (insideComment) {
				continue;
			}

			ret += currentChar;
		}

		return ret;
	}

	if (typeof module !== 'undefined' && module.exports) {
		module.exports = stripJsonComments;
	} else {
		window.stripJsonComments = stripJsonComments;
	}
})();

Version data entries

120 entries across 120 versions & 7 rubygems

Version Path
trusty-festivity-extension-2.5.9 node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url/node_modules/rc/node_modules/strip-json-comments/strip-json-comments.js
trusty-festivity-extension-2.5.8 node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url/node_modules/rc/node_modules/strip-json-comments/strip-json-comments.js
trusty-festivity-extension-2.5.7 node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url/node_modules/rc/node_modules/strip-json-comments/strip-json-comments.js
brwy_rails-0.0.6 test/dummy/node_modules/fsevents/node_modules/strip-json-comments/strip-json-comments.js
brwy_rails-0.0.5 test/dummy/node_modules/fsevents/node_modules/strip-json-comments/strip-json-comments.js
trusty-festivity-extension-2.5.6 node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url/node_modules/rc/node_modules/strip-json-comments/strip-json-comments.js
xcodebuild-helper-1.2.3 externals/ios-sim-master/node_modules/strip-json-comments/strip-json-comments.js
trusty-festivity-extension-2.5.5 node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url/node_modules/rc/node_modules/strip-json-comments/strip-json-comments.js
trusty-festivity-extension-2.5.4 node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url/node_modules/rc/node_modules/strip-json-comments/strip-json-comments.js
brwy_rails-0.0.4 test/dummy/node_modules/fsevents/node_modules/strip-json-comments/strip-json-comments.js
brwy_rails-0.0.3 test/dummy/node_modules/fsevents/node_modules/strip-json-comments/strip-json-comments.js
brwy_rails-0.0.2 test/dummy/node_modules/fsevents/node_modules/strip-json-comments/strip-json-comments.js
brwy_rails-0.0.1 test/dummy/node_modules/fsevents/node_modules/strip-json-comments/strip-json-comments.js
trusty-festivity-extension-2.5.3 node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url/node_modules/rc/node_modules/strip-json-comments/strip-json-comments.js
trusty-festivity-extension-2.5.2 node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url/node_modules/rc/node_modules/strip-json-comments/strip-json-comments.js
trusty-festivity-extension-2.5.1 node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url/node_modules/rc/node_modules/strip-json-comments/strip-json-comments.js
trusty-festivity-extension-2.5.0 node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url/node_modules/rc/node_modules/strip-json-comments/strip-json-comments.js
trusty-festivity-extension-2.4.6 node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url/node_modules/rc/node_modules/strip-json-comments/strip-json-comments.js
trusty-festivity-extension-2.4.5 node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url/node_modules/rc/node_modules/strip-json-comments/strip-json-comments.js
trusty-festivity-extension-2.4.4 node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url/node_modules/rc/node_modules/strip-json-comments/strip-json-comments.js