UNPKG

es6-tween

Version:

ES6 implementation of amazing tween.js

42 lines (38 loc) 1.06 kB
import { remove } from './core' export const Store = {} export default function (node, object, tween) { if (!node || !node.nodeType) { return object } const ID = node.queueID || 'q_' + Date.now() if (!node.queueID) { node.queueID = ID } const storeID = Store[ID] if (storeID) { if (storeID.object === object && node === storeID.tween.node && tween._startTime === storeID.tween._startTime) { remove(storeID.tween) } else if (typeof object === 'object' && !!object && !!storeID.object) { for (let prop in object) { if (prop in storeID.object) { if (tween._startTime === storeID.tween._startTime) { delete storeID.object[prop] } else { storeID.propNormaliseRequired = true } } } Object.assign(storeID.object, object) } return storeID.object } if (typeof object === 'object' && !!object) { Store[ID] = { tween, object, propNormaliseRequired: false } return Store[ID].object } return object }