UNPKG

@belvo-finance/belvo-vue-components

Version:

## Project setup ``` npm install ```

51 lines (49 loc) 1.87 kB
function ExpressionValue(elementProp, mult, type) { mult = mult || 1; var expressionValue, arrayValue; if (elementProp.k) { elementProp.getValue(); } var i, len, arrValue, val; if (type) { if(type === 'color') { len = 4; expressionValue = createTypedArray('float32', len); arrValue = createTypedArray('float32', len); for (i = 0; i < len; i += 1) { expressionValue[i] = arrValue[i] = (i < 3) ? elementProp.v[i] * mult : 1; } expressionValue.value = arrValue; } } else if (elementProp.propType === 'unidimensional'){ val = elementProp.v * mult; expressionValue = new Number(val); expressionValue.value = val; } else { len = elementProp.pv.length; expressionValue = createTypedArray('float32', len); arrValue = createTypedArray('float32', len); for (i = 0; i < len; i += 1) { expressionValue[i] = arrValue[i] = elementProp.v[i] * mult; } expressionValue.value = arrValue; } expressionValue.numKeys = elementProp.keyframes ? elementProp.keyframes.length : 0; expressionValue.key = function(pos) { if (!expressionValue.numKeys) { return 0; } else { return elementProp.keyframes[pos-1].t; } }; expressionValue.valueAtTime = elementProp.getValueAtTime; expressionValue.speedAtTime = elementProp.getSpeedAtTime; expressionValue.velocityAtTime = elementProp.getVelocityAtTime; expressionValue.propertyGroup = elementProp.propertyGroup; Object.defineProperty(expressionValue, 'velocity', { get: function(){ return elementProp.getVelocityAtTime(elementProp.comp.currentFrame); } }); return expressionValue; };