src/types/keys-and.js
function KeysAnd(values) {
	var vals = this.values = {};
	canReflect.eachKey(values, function(value, key) {
		if (canReflect.isPlainObject(value) && !set.isSpecial(value)) {
			vals[key] = new KeysAnd(value);
		} else {
			vals[key] = value;
		}
	});
}
function KeysAnd(values) {
	var vals = this.values = {};
	canReflect.eachKey(values, function(value, key) {
		if (canReflect.isPlainObject(value) && !set.isSpecial(value)) {
			vals[key] = new KeysAnd(value);
		} else {
			vals[key] = value;
		}
	});
}
function KeysAnd ( values ) { var vals = this . values = { } ; canReflect . eachKey ( values , function ( value , key ) { if ( canReflect . isPlainObject ( value ) && ! set . isSpecial ( value ) ) { vals [ key ] = new KeysAnd ( value ) ; } else { vals [ key ] = value ; } } ) ; }
Define the sub-types that BasicQuery will use
Define the sub - types that BasicQuery will use