code: function( jsonKeys, times, values, valuePropertyName ) {
  
  		var i = 1, key = jsonKeys[ 0 ];
  
  		while ( key !== undefined && key[ valuePropertyName ] === undefined ) {
  
  			key = jsonKeys[ i ++ ];
  
  		}
  
  		if ( key === undefined ) return; // no data
  
  		var value = key[ valuePropertyName ];
  		if ( value === undefined ) return; // no data
  
  		if ( Array.isArray( value ) ) {
  
  			do {
  
  				value = key[ valuePropertyName ];
  
  				if ( value !== undefined ) {
  
  					times.push( key.time );
  					values.push.apply( values, value ); // push all elements
  
  				}
  
  				key = jsonKeys[ i ++ ];
  
  			} while ( key !== undefined );
  
  		} else if ( value.toArray !== undefined ) {
  			// ...assume THREE.Math-ish
  
  			do {
  
  				value = key[ valuePropertyName ];
  
  				if ( value !== undefined ) {
  
  					times.push( key.time );
  					value.toArray( values, values.length );
  
  				}
  
  				key = jsonKeys[ i ++ ];
  
  			} while ( key !== undefined );
  
  		} else {
  			// otherwise push as-is
  
  			do {
  
  				value = key[ valuePropertyName ];
  
  				if ( value !== undefined ) {
  
  					times.push( key.time );
  					values.push( value );
  
  				}
  
  				key = jsonKeys[ i ++ ];
  
  			} while ( key !== undefined );
  
  		}
  
  	}
docs: function for parsing AOS keyframe formats