export function dataToArray (vars) { if (Array.isArray(vars)) { return vars } return [vars] } const trnasitionEndObject = { transition: 'transitionend', WebkitTransition: 'webkitTransitionEnd', MozTransition: 'transitionend', OTransition: 'oTransitionEnd otransitionend', } export const trnasitionStr = Object.keys(trnasitionEndObject).filter(key => { if (typeof document === 'undefined') { return false } const html = document.getElementsByTagName('html')[0] return key in (html ? html.style : {}) })[0] export const transitionEnd = trnasitionEndObject[trnasitionStr] export function addEventListener (target, eventType, callback, options) { if (target.addEventListener) { target.addEventListener(eventType, callback, options) } else if (target.attachEvent) { target.attachEvent(`on${eventType}`, callback) } } export function removeEventListener (target, eventType, callback, options) { if (target.removeEventListener) { target.removeEventListener(eventType, callback, options) } else if (target.attachEvent) { target.detachEvent(`on${eventType}`, callback) } } export function transformArguments (arg, cb) { let result if (typeof arg === 'function') { result = arg(cb) } else { result = arg } if (Array.isArray(result)) { if (result.length === 2) { return result } return [result[0], result[1]] } return [result] } export const isNumeric = (value) => { return !isNaN(parseFloat(value)) && isFinite(value);// eslint-disable-line }