server/ol.js
function selectInside(edits, innerId){
	var inside = false
	//var depth = 0
	//var depthAtInside
	var insideNested = false
	var result = []
	//console.log('selectInside(' + JSON.stringify(innerId) + '): ' + JSON.stringify(edits))
	//_.errout('TODO upgrade to modern state-based paths')
	for(var i=0;i<edits.length;++i){
		var e = edits[i]
		var op = e.op
		if(op === editCodes.selectObject){
			var objId = e.edit.id
			if(objId === innerId){
				inside = true
			}
		}else if(op === editCodes.selectProperty){
		}else if(fp.isKeySelectCode[op]){
		}
		
		if(inside){
			//console.log('*'+inside + ' ' + JSON.stringify(e))
			result.push(e)
		}else{
			//console.log('@'+inside + ' ' + JSON.stringify(e))
		}
	}
	//console.log(JSON.stringify(result))
	return result
}
function selectInside(edits, innerId){
	var inside = false
	//var depth = 0
	//var depthAtInside
	var insideNested = false
	var result = []
	//console.log('selectInside(' + JSON.stringify(innerId) + '): ' + JSON.stringify(edits))
	//_.errout('TODO upgrade to modern state-based paths')
	for(var i=0;i<edits.length;++i){
		var e = edits[i]
		var op = e.op
		if(op === editCodes.selectObject){
			var objId = e.edit.id
			if(objId === innerId){
				inside = true
			}
		}else if(op === editCodes.selectProperty){
		}else if(fp.isKeySelectCode[op]){
		}
		
		if(inside){
			//console.log('*'+inside + ' ' + JSON.stringify(e))
			result.push(e)
		}else{
			//console.log('@'+inside + ' ' + JSON.stringify(e))
		}
	}
	//console.log(JSON.stringify(result))
	return result
}
/*
Ol.prototype.getAllIncludingForked = function(id, cb){//TODO optimize away
_.assertLength(arguments, 2)
_.assertInt(id)

++this.stats.allRequested

var edits = this.olc.get(id)


cb(edits)

}

Ol.prototype.getPartiallyIncludingForked = function(id, filter, eachCb, doneCb){
var local = this

local.getPartially(id, filter, eachCb, doneCb)
}
}
Ol.prototype.getIncludingForked = function(id, startEditId, endEditId, cb){//TODO optimize away
var local = this
this.get(id, startEditId, endEditId, function(edits){

cb(edits)
}
})
}