Created
July 14, 2017 12:57
-
-
Save jeremyckahn/74f2e34b47bd946ee654f016e1bce35c to your computer and use it in GitHub Desktop.
What going from ES5 to ES6 can look like
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! | |
* @param {Rekapi.Actor} actor | |
* @param {string} animName | |
* @param {number} steps | |
* @param {boolean} doCombineProperties | |
* @param {Array.<string>=} opt_vendors | |
* @return {string} | |
*/ | |
function generateBoilerplatedKeyframes ( | |
actor, animName, steps, doCombineProperties, opt_vendors) { | |
var trackNames = actor.getTrackNames(); | |
var cssTracks = []; | |
if (doCombineProperties) { | |
cssTracks.push(generateCombinedActorKeyframes(actor, steps)); | |
} else { | |
_.each(trackNames, function (trackName) { | |
cssTracks.push( | |
generateActorKeyframes(actor, steps, trackName)); | |
}); | |
} | |
var boilerplatedKeyframes = []; | |
if (doCombineProperties) { | |
boilerplatedKeyframes.push(applyVendorBoilerplates( | |
cssTracks[0], (animName), opt_vendors)); | |
} else { | |
_.each(trackNames, function (trackName, i) { | |
boilerplatedKeyframes.push(applyVendorBoilerplates( | |
cssTracks[i], (animName + '-' + trackName), opt_vendors)); | |
}); | |
} | |
boilerplatedKeyframes = boilerplatedKeyframes.join('\n'); | |
return boilerplatedKeyframes; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! | |
* @param {Rekapi.Actor} actor | |
* @param {string} animName | |
* @param {number} steps | |
* @param {boolean} doCombineProperties | |
* @param {Array.<string>=} vendors | |
* @return {string} | |
*/ | |
const generateBoilerplatedKeyframes = ( | |
actor, animName, steps, doCombineProperties, vendors = undefined) => | |
doCombineProperties ? | |
applyVendorBoilerplates( | |
generateCombinedActorKeyframes(actor, steps), | |
animName, | |
vendors | |
) : | |
actor.getTrackNames().map(trackName => | |
applyVendorBoilerplates( | |
generateActorKeyframes(actor, steps, trackName), | |
`${animName}-${trackName}`, | |
vendors | |
) | |
).join('\n'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment