Sha256: f7784da384f710b3e7a19fe54a7b4dcc3dfb905355e9c1a349aae3a8a9cf99f2

Contents?: true

Size: 440 Bytes

Versions: 4

Compression:

Stored size: 440 Bytes

Contents

export default function locate(source, index) {
	var lines = source.split('\n');
	var len = lines.length;

	var lineStart = 0;
	var i;

	for (i = 0; i < len; i += 1) {
		var line = lines[i];
		var lineEnd = lineStart + line.length + 1; // +1 for newline

		if (lineEnd > index) {
			return { line: i + 1, column: index - lineStart, char: i };
		}

		lineStart = lineEnd;
	}

	throw new Error('Could not determine location of character');
}

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jass-0.9.5 vendor/node_modules/buble/src/utils/locate.js
jass-0.9.4 vendor/node_modules/buble/src/utils/locate.js
jass-0.9.3 vendor/node_modules/buble/src/utils/locate.js
jass-0.9.1 vendor/node_modules/buble/src/utils/locate.js