src/sap.ui.core/src/sap/ui/model/odata/v4/lib/_Helper.js
function (sLiteral, sType, sPath) {

			function checkNaN(nValue) {
				if (!isFinite(nValue)) { // this rejects NaN, Infinity, -Infinity
					throw new Error(sPath + ": Not a valid " + sType + " literal: " + sLiteral);
				}
				return nValue;
			}

			if (sLiteral === "null") {
				return null;
			}

			switch (sType) {
			case "Edm.Boolean":
				return sLiteral === "true";
			case "Edm.Byte":
			case "Edm.Int16":
			case "Edm.Int32":
			case "Edm.SByte":
				return checkNaN(parseInt(sLiteral));
			case "Edm.Date":
			case "Edm.DateTimeOffset":
			case "Edm.Decimal":
			case "Edm.Guid":
			case "Edm.Int64":
			case "Edm.TimeOfDay":
				return sLiteral;
			case "Edm.Double":
			case "Edm.Single":
				return sLiteral === "INF" || sLiteral === "-INF" || sLiteral === "NaN"
					? sLiteral
					: checkNaN(parseFloat(sLiteral));
			default:
				throw new Error(sPath + ": Unsupported type: " + sType);
			}
		}
function (sLiteral, sType, sPath) {

			function checkNaN(nValue) {
				if (!isFinite(nValue)) { // this rejects NaN, Infinity, -Infinity
					throw new Error(sPath + ": Not a valid " + sType + " literal: " + sLiteral);
				}
				return nValue;
			}

			if (sLiteral === "null") {
				return null;
			}

			switch (sType) {
			case "Edm.Boolean":
				return sLiteral === "true";
			case "Edm.Byte":
			case "Edm.Int16":
			case "Edm.Int32":
			case "Edm.SByte":
				return checkNaN(parseInt(sLiteral));
			case "Edm.Date":
			case "Edm.DateTimeOffset":
			case "Edm.Decimal":
			case "Edm.Guid":
			case "Edm.Int64":
			case "Edm.TimeOfDay":
				return sLiteral;
			case "Edm.Double":
			case "Edm.Single":
				return sLiteral === "INF" || sLiteral === "-INF" || sLiteral === "NaN"
					? sLiteral
					: checkNaN(parseFloat(sLiteral));
			default:
				throw new Error(sPath + ": Unsupported type: " + sType);
			}
		}
function ( sLiteral , sType , sPath ) { function checkNaN ( nValue ) { if ( ! isFinite ( nValue ) ) { // this rejects NaN, Infinity, -Infinity throw new Error ( sPath + ": Not a valid " + sType + " literal: " + sLiteral ) ; } return nValue ; } if ( sLiteral === "null" ) { return null ; } switch ( sType ) { case "Edm.Boolean" : return sLiteral === "true" ; case "Edm.Byte" : case "Edm.Int16" : case "Edm.Int32" : case "Edm.SByte" : return checkNaN ( parseInt ( sLiteral ) ) ; case "Edm.Date" : case "Edm.DateTimeOffset" : case "Edm.Decimal" : case "Edm.Guid" : case "Edm.Int64" : case "Edm.TimeOfDay" : return sLiteral ; case "Edm.Double" : case "Edm.Single" : return sLiteral === "INF" || sLiteral === "-INF" || sLiteral === "NaN" ? sLiteral : checkNaN ( parseFloat ( sLiteral ) ) ; default : throw new Error ( sPath + ": Unsupported type: " + sType ) ; } }
Parses a literal to the model value. The types "Edm.Binary" and "Edm.String" are
unsupported.

@param {string} sLiteral The literal value
@param {string} sType The type
@param {string} sPath The path for this literal (for error messages)
@returns {*} The model value
@throws {Error} If the type is invalid or unsupported; the function only validates when a
conversion is required
Parses a literal to the model value . The types Edm . Binary and Edm . String are unsupported .