nl_tokens: / * function translateWithTemporaries ( path syncId ) { var ti = temporaryIdsBySync [ syncId ] ;
pl_tokens: function saveEdit ( typeCode , <mask> , op , e , syncId , timestamp ) { _ . assertNumber ( timestamp ) _ . assertInt ( op ) //TODO selectTopObject? //console.log('saving edit: ', id, op, e, syncId) /*if(op === editCodes.selectObject){
  			if(e.id < 0) e.id = translateTemporary(e.id, syncId)
  		}else if(op === editCodes.selectSubObject){
  			if(e.id < 0) e.id = translateTemporary(e.id, syncId)
  		}else if(op === editCodes.selectObjectKey){
  			//console.log('key: ' + e.key)
  			if(e.key < 0) e.key = translateTemporary(e.key, syncId)
  		}*/ if ( currentId !== id && id !== - 1 ) { ap . selectTopObject ( { id : id } ) //log('wrote selectTopObject(' + id + ')') currentId = id } ap [ editNames [ op ] ] ( e ) /*var n = */ ol . persist ( op , e , syncId , timestamp , id ) //{top: id, topTypeCode: typeCode}) //log(n.editId, id, op, e, syncId) //TODO stop doing this here? - who cares if the path has been changed? //broadcaster.input.objectUpdated(typeCode, id, op, e, syncId, n.editId)	 }