MCPcopy
hub / github.com/mifi/editly / calcTransition

Function calcTransition

transitions.js:27–62  ·  view source on GitHub ↗
(defaults, transition, isLastClip)

Source from the content-addressed store, hash-verified

25}
26
27export function calcTransition(defaults, transition, isLastClip) {
28 if (transition === null || isLastClip) return { duration: 0 };
29
30 const getTransitionDefault = (key) => (defaults.transition ? defaults.transition[key] : undefined);
31
32 let transitionOrDefault = {
33 name: (transition && transition.name) || getTransitionDefault('name'),
34 duration: (transition && transition.duration != null) ? transition.duration : getTransitionDefault('duration'),
35 params: (transition && transition.params) || getTransitionDefault('params'),
36 easing: (transition && transition.easing !== undefined) ? transition.easing : getTransitionDefault('easing'),
37 audioOutCurve: (transition && transition.audioOutCurve) || getTransitionDefault('audioOutCurve'),
38 audioInCurve: (transition && transition.audioInCurve) || getTransitionDefault('audioInCurve'),
39 };
40
41 assert(!transitionOrDefault.duration || transitionOrDefault.name, 'Please specify transition name or set duration to 0');
42
43 if (transitionOrDefault.name === 'random' && transitionOrDefault.duration) {
44 transitionOrDefault = { ...transitionOrDefault, name: getRandomTransition() };
45 }
46
47 const aliasedTransition = {
48 'directional-left': { name: 'directional', params: { direction: [1, 0] } },
49 'directional-right': { name: 'directional', params: { direction: [-1, 0] } },
50 'directional-down': { name: 'directional', params: { direction: [0, 1] } },
51 'directional-up': { name: 'directional', params: { direction: [0, -1] } },
52 }[transitionOrDefault.name];
53 if (aliasedTransition) {
54 transitionOrDefault = { ...transitionOrDefault, ...aliasedTransition };
55 }
56
57 return {
58 ...transitionOrDefault,
59 duration: transitionOrDefault.duration || 0,
60 easingFunction: getTransitionEasingFunction(transitionOrDefault.easing, transitionOrDefault.name),
61 };
62}

Callers 1

parseConfigFunction · 0.90

Calls 3

getTransitionDefaultFunction · 0.85
getRandomTransitionFunction · 0.85

Tested by

no test coverage detected