src/js/libs/spiritual-edb.js
function mapObject(key, value) {
		var c = key.charAt(0);
		if (c === "_" || c === "$") {
			return undefined;
		} else if (isArray(this) && key.match(INTRINSIC)) {
			return undefined;
		} else if (isType(value)) {
			return parse(value);
		} else if (gui.Type.isComplex(value)) {
			switch (value.constructor) {
				case Object:
				case Array:
					return value;
			}
			return undefined;
		} else {
			if (isType(this)) {
				var base = this.constructor.prototype;
				var desc = Object.getOwnPropertyDescriptor(base, key);
				if (desc && (desc.set || desc.get)) {
					return undefined;
				}
			}
			return value;
		}
	}
function mapObject(key, value) {
		var c = key.charAt(0);
		if (c === "_" || c === "$") {
			return undefined;
		} else if (isArray(this) && key.match(INTRINSIC)) {
			return undefined;
		} else if (isType(value)) {
			return parse(value);
		} else if (gui.Type.isComplex(value)) {
			switch (value.constructor) {
				case Object:
				case Array:
					return value;
			}
			return undefined;
		} else {
			if (isType(this)) {
				var base = this.constructor.prototype;
				var desc = Object.getOwnPropertyDescriptor(base, key);
				if (desc && (desc.set || desc.get)) {
					return undefined;
				}
			}
			return value;
		}
	}
function mapObject ( key , value ) { var c = key . charAt ( 0 ) ; if ( c === "_" || c === "$" ) { return undefined ; } else if ( isArray ( this ) && key . match ( INTRINSIC ) ) { return undefined ; } else if ( isType ( value ) ) { return parse ( value ) ; } else if ( gui . Type . isComplex ( value ) ) { switch ( value . constructor ) { case Object : case Array : return value ; } return undefined ; } else { if ( isType ( this ) ) { var base = this . constructor . prototype ; var desc = Object . getOwnPropertyDescriptor ( base , key ) ; if ( desc && ( desc . set || desc . get ) ) { return undefined ; } } return value ; } }
Map the object properties of a type.

- Skip private (underscore) fields.
- Skip all array intrinsic properties.
- Skip what looks like instance objects.
- Skip getters and setters.
@param {String} key
@param {object} value
Map the object properties of a type .