{"version":3,"file":"rafTrottle.mjs","names":["rafTrottle","callback","ticking","lastArgs","update","context","apply","throttled","_len","arguments","length","args","Array","_key","requestAnimationFrame","cancel","cancelAnimationFrame"],"sources":["../src/rafTrottle.tsx"],"sourcesContent":["function rafTrottle<T extends (...args: any[]) => any>(callback: T) {\n  let ticking: number | null = null;\n\n  let lastArgs: any;\n\n  const update = (context: any) => () => {\n    ticking = null;\n    callback.apply(context, lastArgs);\n  };\n\n  const throttled = function (this: any, ...args: any[]) {\n    lastArgs = args;\n    if (ticking === null) {\n      ticking = requestAnimationFrame(update(this));\n    }\n  };\n\n  throttled.cancel = () => {\n    if (typeof ticking === 'number') cancelAnimationFrame(ticking);\n    ticking = null;\n  };\n\n  return throttled as any as T;\n}\n\nexport default rafTrottle;\n"],"mappings":"AAAA,SAASA,UAAUA,CAAoCC,QAAW,EAAE;EAClE,IAAIC,OAAsB,GAAG,IAAI;EAEjC,IAAIC,QAAa;EAEjB,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAIC,OAAY;IAAA,OAAK,YAAM;MACrCH,OAAO,GAAG,IAAI;MACdD,QAAQ,CAACK,KAAK,CAACD,OAAO,EAAEF,QAAQ,CAAC;IACnC,CAAC;EAAA;EAED,IAAMI,SAAS,GAAG,SAAZA,SAASA,CAAA,EAAwC;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAbC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAC5CV,QAAQ,GAAGQ,IAAI;IACf,IAAIT,OAAO,KAAK,IAAI,EAAE;MACpBA,OAAO,GAAGY,qBAAqB,CAACV,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C;EACF,CAAC;EAEDG,SAAS,CAACQ,MAAM,GAAG,YAAM;IACvB,IAAI,OAAOb,OAAO,KAAK,QAAQ,EAAEc,oBAAoB,CAACd,OAAO,CAAC;IAC9DA,OAAO,GAAG,IAAI;EAChB,CAAC;EAED,OAAOK,SAAS;AAClB;AAEA,eAAeP,UAAU"}