it("Calls a function twice in succession, but only executes it once.", () => { let spy = 0 let fn = () => spy++ let fn2 = throttle(fn, 100) fn2() fn2() expect(spy).toEqual(1) })
import React, {PropTypes} from 'react' import {connect} from 'react-redux' import {mixables} from 'trax' import omit from 'qux/lib/omit' import capitalize from 'qux/lib/capitalize' import throttle from 'qux/lib/throttle' import audioService from 'loopda/src/globals/audioService' import ui from '../../ui' const testSound = throttle(audioService.play.bind(audioService), 60) const Mixer = ({mixable, onMix}) => { const validMixables = omit(mixable, (value, key) => key === 'id' || key === 'sample' || key.startsWith('min') || key.startsWith('max') ) const props = Object.keys(validMixables).sort() return ( <div className="mixer"> {props.map(prop => <ui.components.Slider key={prop} name={prop} value={mixable[prop]} min={mixable['min' + capitalize(prop)]} max={mixable['max' + capitalize(prop)]} onChange={onMix} /> )}