<commit_before>'use strict';

var getPrototypeOf = Object.getPrototypeOf

  , Constructor, Property, isProperty, isNamespace, getConstructor;

isNamespace = function (value) { return value && value.__id && !value.__ns; };

getConstructor = function () {
	return function (obj, value, name) {
		this.obj = obj;
		if (name) (this.name = name);
		this.set(value);
	};
};

Constructor = getConstructor();
module.exports = Property = getConstructor();
Property.prototype = {
	ns: null,
	isProperty: true,
	create: function (obj, value) {
		// Avoid Object.create for performance reasons
		Constructor.prototype = this;
		return new Constructor(obj, value);
	},
	set: function (value) {
		var ns, validate, proto;
		if (value == null) {
			if (this.required) throw new TypeError(value + ' is not a value');
			if (this.hasOwnProperty('ns')) delete this.ns;
			return (this.value = null);
		}
		if (isNamespace(value)) {
			this.ns = value;
		} else if (this.hasOwnProperty('ns')) {
			proto = getPrototypeOf(this);
			if (proto.ns) (value = proto.ns(value));
			if (proto.validate) (value = proto.validate.call(this, value, proto.ns));
			delete this.ns
		} else {
			if (this.ns) (value = this.ns(value));
			if (this.validate) (value = this.validate(value, this.ns));
		}
		return (this.value = value);
	},
	validateUndefinedExt: function () {
		// console.log("VAL UNDEF", this.required, this.ns, this.value);
		if (this.required && (this.ns && (this.ns === this.value))) {
			throw new TypeError('undefined is not a value');
		}
	}
};

isProperty = Property.isProperty = function (value) {
	return Boolean(value && value.isProperty && value.set);
};
<commit_msg>-- Remove commented out log<commit_after>'use strict';

var getPrototypeOf = Object.getPrototypeOf

  , Constructor, Property, isProperty, isNamespace, getConstructor;

isNamespace = function (value) { return value && value.__id && !value.__ns; };

getConstructor = function () {
	return function (obj, value, name) {
		this.obj = obj;
		if (name) (this.name = name);
		this.set(value);
	};
};

Constructor = getConstructor();
module.exports = Property = getConstructor();
Property.prototype = {
	ns: null,
	isProperty: true,
	create: function (obj, value) {
		// Avoid Object.create for performance reasons
		Constructor.prototype = this;
		return new Constructor(obj, value);
	},
	set: function (value) {
		var ns, validate, proto;
		if (value == null) {
			if (this.required) throw new TypeError(value + ' is not a value');
			if (this.hasOwnProperty('ns')) delete this.ns;
			return (this.value = null);
		}
		if (isNamespace(value)) {
			this.ns = value;
		} else if (this.hasOwnProperty('ns')) {
			proto = getPrototypeOf(this);
			if (proto.ns) (value = proto.ns(value));
			if (proto.validate) (value = proto.validate.call(this, value, proto.ns));
			delete this.ns
		} else {
			if (this.ns) (value = this.ns(value));
			if (this.validate) (value = this.validate(value, this.ns));
		}
		return (this.value = value);
	},
	validateUndefinedExt: function () {
		if (this.required && (this.ns && (this.ns === this.value))) {
			throw new TypeError('undefined is not a value');
		}
	}
};

isProperty = Property.isProperty = function (value) {
	return Boolean(value && value.isProperty && value.set);
};

{'fraction_non_alphanumeric': 0.15855524946434038, 'fraction_numerical': 0.0, 'mean_word_length': 3.9440242057488653, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '1823356', 'n_tokens_mistral': 1127, 'n_tokens_neox': 1057, 'n_words': 285}