in PartsUnlimited-aspnet45/src/PartsUnlimitedWebsite/Scripts/ai.0.15.0-build58334.js [325:389]
Serializer._serializeObject = function (source, name) {
var circularReferenceCheck = "__aiCircularRefCheck";
var output = {};
if (!source) {
ApplicationInsights._InternalLogging.throwInternalUserActionable(0 /* CRITICAL */, "cannot serialize " + name + " because it is null or undefined");
return output;
}
if (source[circularReferenceCheck]) {
ApplicationInsights._InternalLogging.throwInternalUserActionable(1 /* WARNING */, "Circular reference detected while serializing: '" + name);
return output;
}
if (!source.aiDataContract) {
if (name === "measurements") {
output = Serializer._serializeStringMap(source, "number", name);
}
else if (name === "properties") {
output = Serializer._serializeStringMap(source, "string", name);
}
else if (name === "tags") {
output = Serializer._serializeStringMap(source, "string", name);
}
else if (ApplicationInsights.Util.isArray(source)) {
output = Serializer._serializeArray(source, name);
}
else {
ApplicationInsights._InternalLogging.throwInternalUserActionable(1 /* WARNING */, "Attempting to serialize an object which does not implement ISerializable: " + name);
try {
JSON.stringify(source);
output = source;
}
catch (e) {
ApplicationInsights._InternalLogging.throwInternalUserActionable(0 /* CRITICAL */, e && typeof e.toString === 'function' ? e.toString() : "Error serializing object");
}
}
return output;
}
source[circularReferenceCheck] = true;
for (var field in source.aiDataContract) {
var isRequired = source.aiDataContract[field];
var isArray = typeof isRequired !== "boolean";
var isPresent = source[field] !== undefined;
var isObject = typeof source[field] === "object" && source[field] !== null;
if (isRequired && !isPresent && !isArray) {
ApplicationInsights._InternalLogging.throwInternalNonUserActionable(0 /* CRITICAL */, "Missing required field specification: The field '" + field + "' on '" + name + "' is required but not present on source");
continue;
}
var value;
if (isObject) {
if (isArray) {
value = Serializer._serializeArray(source[field], field);
}
else {
value = Serializer._serializeObject(source[field], field);
}
}
else {
value = source[field];
}
if (value !== undefined) {
output[field] = value;
}
}
delete source[circularReferenceCheck];
return output;
};