').appendTo(arrayRows);
header = $('').appendTo(row);
$(' ').appendTo(header);
makeExpandable(header, (function() {
var min = minRange;
var max = Math.min(fullLength-1,(minRange+9));
var parent = row;
return function() {
for (var i=min;i<=max;i++) {
var row = $('').appendTo(parent);
buildMessageElement(data[i],""+i,type==='buffer'?'hex':false,false,path+"["+i+"]",sourceId,rootPath,expandPaths).appendTo(row);
}
}
})(),checkExpanded(strippedKey,expandPaths,minRange,Math.min(fullLength-1,(minRange+9))));
$('').html("["+minRange+" … "+Math.min(fullLength-1,(minRange+9))+"]").appendTo(header);
}
if (fullLength < originalLength) {
$('['+fullLength+' … '+originalLength+']
').appendTo(arrayRows);
}
}
},checkExpanded(strippedKey,expandPaths));
}
} else if (typeof obj === 'object') {
element.addClass('collapsed');
var keys = Object.keys(obj);
if (key || keys.length > 0) {
$(' ').prependTo(header);
makeExpandable(header, function() {
if (!key) {
$('').html('object').appendTo(header);
}
for (i=0;i').appendTo(element);
var newPath = path;
if (/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(keys[i])) {
newPath += (newPath.length > 0?".":"")+keys[i];
} else {
newPath += "[\""+keys[i].replace(/"/,"\\\"")+"\"]"
}
buildMessageElement(obj[keys[i]],keys[i],false,false,newPath,sourceId,rootPath,expandPaths).appendTo(row);
}
if (keys.length === 0) {
$('').text("empty").appendTo(element);
}
},checkExpanded(strippedKey,expandPaths));
}
if (key) {
$('').html('object').appendTo(entryObj);
} else {
headerHead = $('').appendTo(entryObj);
$('{ ').appendTo(headerHead);
var keysLength = Math.min(keys.length,5);
for (i=0;i').text(keys[i]).appendTo(headerHead);
$(': ').appendTo(headerHead);
buildMessageSummaryValue(obj[keys[i]]).appendTo(headerHead);
if (i < keysLength-1) {
$(', ').appendTo(headerHead);
}
}
if (keys.length > keysLength) {
$(' …').appendTo(headerHead);
}
if (keysLength === 0) {
$('empty').appendTo(headerHead);
}
$(' }').appendTo(headerHead);
}
} else {
$('').text(""+obj).appendTo(entryObj);
}
return element;
}
function normalisePropertyExpression(str) {
// This must be kept in sync with validatePropertyExpression
// in editor/js/ui/utils.js
var length = str.length;
if (length === 0) {
throw new Error("Invalid property expression: zero-length");
}
var parts = [];
var start = 0;
var inString = false;
var inBox = false;
var quoteChar;
var v;
for (var i=0;i