<commit_before>var isArray = Array.isArray;

exports.emaNeurt = function emaNeurt(o) {
	return exports.trueName(o, '\u202e');
};

exports.trueName = function trueName(obj, salt) {
	var t = (typeof obj)[0];

	var out = salt ? salt : '';

	var o = obj;

	if (t === 'o' && obj !== null) {
		o = obj.valueOf();
	}

	t = (typeof o)[0];

	if (t !== 'o' || o === null) {
		return out.concat(t, o);
	}

	if (o instanceof Date) {
		return out.concat('d', o.toJSON());
	}

	if (o instanceof RegExp) {
		return out.concat('r', o.toString());
	}<commit_msg>Allow salt to be an object with valueOf() -> string.<commit_after>var isArray = Array.isArray;

exports.emaNeurt = function emaNeurt(o) {
	return exports.trueName(o, '\u202e');
};

exports.trueName = function trueName(obj, salt) {
	var t = (typeof obj)[0];
	var out = '';

	if (salt) {
		if (typeof salt === 'object') {
			salt = salt.valueOf();
		}

		if (typeof salt !== 'string') {
			throw new TypeError('Invalid type for salt: must be a string');
		}

		out = salt;
	}

	var o = obj;

	if (t === 'o' && obj !== null) {
		o = obj.valueOf();
	}

	t = (typeof o)[0];

	if (t !== 'o' || o === null) {
		return out.concat(t, o);
	}

	if (o instanceof Date) {
		return out.concat('d', o.toJSON());
	}

	if (o instanceof RegExp) {
		return out.concat('r', o.toString());
	}
{'fraction_non_alphanumeric': 0.2006079027355623, 'fraction_numerical': 0.007598784194528876, 'mean_word_length': 3.234726688102894, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1830604', 'n_tokens_mistral': 538, 'n_tokens_neox': 499, 'n_words': 142}