example/threejs/asset/three.js
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 );

		}

	}
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 );

		}

	}
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 ) ; } }
function for parsing AOS keyframe formats
function for parsing AOS keyframe formats