node_modules/pomelo-node-client-websocket/node_modules/pomelo-protobuf/lib/encoder.js
/**
 * Check if the msg follow the defination in the protos
 */
Check if the msg follow the defination in the protos
Check if the msg follow the defination in the protos
function checkMsg(msg, protos){
	if(!protos || !msg){
		console.warn('no protos or msg exist! msg : %j, protos : %j', msg, protos);
		return false;
	}
	for(var name in protos){
		var proto = protos[name];
		switch(proto.option){
			case 'required' :
				if(typeof(msg[name]) === 'undefined'){
					console.warn('no property exist for required! name : %j ,proto : %j, msg : %j, ', name, proto);
					return false;
				}
			case 'optional' :
				if(typeof(msg[name]) !== 'undefined'){
					if(!!protos.__messages[proto.type]){
						checkMsg(msg[name], protos.__messages[proto.type]);
					}
				}
			break;
			case 'repeated' :
				if(!!msg[name] && !!protos.__messages[proto.type]){
					for(var i = 0; i < msg[name].length; i++){
						if(!checkMsg(msg[name][i], protos.__messages[proto.type])){
							return false;
						}
					}
				}
			break;
		}
	}
	return true;
}
function checkMsg ( msg , protos ) { if ( ! protos || ! msg ) { console . warn ( 'no protos or msg exist! msg : %j, protos : %j' , msg , protos ) ; return false ; } for ( var name in protos ) { var proto = protos [ name ] ; switch ( proto . option ) { case 'required' : if ( typeof ( msg [ name ] ) === 'undefined' ) { console . warn ( 'no property exist for required! name : %j ,proto : %j, msg : %j, ' , name , proto ) ; return false ; } case 'optional' : if ( typeof ( msg [ name ] ) !== 'undefined' ) { if ( ! ! protos . __messages [ proto . type ] ) { checkMsg ( msg [ name ] , protos . __messages [ proto . type ] ) ; } } break ; case 'repeated' : if ( ! ! msg [ name ] && ! ! protos . __messages [ proto . type ] ) { for ( var i = 0 ; i < msg [ name ] . length ; i ++ ) { if ( ! checkMsg ( msg [ name ] [ i ] , protos . __messages [ proto . type ] ) ) { return false ; } } } break ; } } return true ; }
Check if the msg follow the defination in the protos
Check if the msg follow the defination in the protos
//All required element must exist //Check nest message in repeated elements