function populateUndefinedArrayEls(x) { var i; if(Array.isArray(x)) { for(i = 0; i < x.length; i++) { x[i] = x[i]; } } else if(Lib.isPlainObject(x)) { var keys = Object.keys(x); for(i = 0; i < keys.length; i++) { populateUndefinedArrayEls(x[keys[i]]); } } return x; }
function shouldHaveEditType(attr, attrName) { // ensure any object (container or regular val object) has editType // array containers have extra nesting where editType would be redundant return Lib.isPlainObject(attr) && attrName !== 'impliedEdits' && attrName !== 'items' && !Lib.isPlainObject(attr.items); }