UNPKG

glitch-canvas

Version:

JavaScript library for applying a glitch effect to a canvas element

36 lines (28 loc) 765 B
import clamp from '../util/clamp'; import clone from '../util/clone'; import defaultParams from './defaultParams'; export default function (params) { params = clone(params); if (typeof params !== 'object') { params = {}; } Object.keys(defaultParams) .filter(key => key !== 'iterations') .forEach(key => { if (typeof params[key] !== 'number' || isNaN(params[key])) { params[key] = defaultParams[key]; } else { params[key] = clamp(params[key], 0, 100); } params[key] = Math.round(params[key]); }); if ( typeof params.iterations !== 'number' || isNaN(params.iterations) || params.iterations <= 0 ) { params.iterations = defaultParams.iterations; } params.iterations = Math.round(params.iterations); return params; }