{"ast":null,"code":"/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n  let timestamp = 0;\n  let threshold = 1000 / freq;\n  let lastArgs;\n  let timer;\n  const invoke = (args, now = Date.now()) => {\n    timestamp = now;\n    lastArgs = null;\n    if (timer) {\n      clearTimeout(timer);\n      timer = null;\n    }\n    fn(...args);\n  };\n  const throttled = (...args) => {\n    const now = Date.now();\n    const passed = now - timestamp;\n    if (passed >= threshold) {\n      invoke(args, now);\n    } else {\n      lastArgs = args;\n      if (!timer) {\n        timer = setTimeout(() => {\n          timer = null;\n          invoke(lastArgs);\n        }, threshold - passed);\n      }\n    }\n  };\n  const flush = () => lastArgs && invoke(lastArgs);\n  return [throttled, flush];\n}\nexport default throttle;","map":{"version":3,"names":["throttle","fn","freq","timestamp","threshold","lastArgs","timer","invoke","args","now","Date","clearTimeout","throttled","passed","setTimeout","flush"],"sources":["/Users/nili/Documents/trae_projects/client/node_modules/axios/lib/helpers/throttle.js"],"sourcesContent":["/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n  let timestamp = 0;\n  let threshold = 1000 / freq;\n  let lastArgs;\n  let timer;\n\n  const invoke = (args, now = Date.now()) => {\n    timestamp = now;\n    lastArgs = null;\n    if (timer) {\n      clearTimeout(timer);\n      timer = null;\n    }\n    fn(...args);\n  };\n\n  const throttled = (...args) => {\n    const now = Date.now();\n    const passed = now - timestamp;\n    if (passed >= threshold) {\n      invoke(args, now);\n    } else {\n      lastArgs = args;\n      if (!timer) {\n        timer = setTimeout(() => {\n          timer = null;\n          invoke(lastArgs);\n        }, threshold - passed);\n      }\n    }\n  };\n\n  const flush = () => lastArgs && invoke(lastArgs);\n\n  return [throttled, flush];\n}\n\nexport default throttle;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQA,CAACC,EAAE,EAAEC,IAAI,EAAE;EAC1B,IAAIC,SAAS,GAAG,CAAC;EACjB,IAAIC,SAAS,GAAG,IAAI,GAAGF,IAAI;EAC3B,IAAIG,QAAQ;EACZ,IAAIC,KAAK;EAET,MAAMC,MAAM,GAAGA,CAACC,IAAI,EAAEC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC,KAAK;IACzCN,SAAS,GAAGM,GAAG;IACfJ,QAAQ,GAAG,IAAI;IACf,IAAIC,KAAK,EAAE;MACTK,YAAY,CAACL,KAAK,CAAC;MACnBA,KAAK,GAAG,IAAI;IACd;IACAL,EAAE,CAAC,GAAGO,IAAI,CAAC;EACb,CAAC;EAED,MAAMI,SAAS,GAAGA,CAAC,GAAGJ,IAAI,KAAK;IAC7B,MAAMC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;IACtB,MAAMI,MAAM,GAAGJ,GAAG,GAAGN,SAAS;IAC9B,IAAIU,MAAM,IAAIT,SAAS,EAAE;MACvBG,MAAM,CAACC,IAAI,EAAEC,GAAG,CAAC;IACnB,CAAC,MAAM;MACLJ,QAAQ,GAAGG,IAAI;MACf,IAAI,CAACF,KAAK,EAAE;QACVA,KAAK,GAAGQ,UAAU,CAAC,MAAM;UACvBR,KAAK,GAAG,IAAI;UACZC,MAAM,CAACF,QAAQ,CAAC;QAClB,CAAC,EAAED,SAAS,GAAGS,MAAM,CAAC;MACxB;IACF;EACF,CAAC;EAED,MAAME,KAAK,GAAGA,CAAA,KAAMV,QAAQ,IAAIE,MAAM,CAACF,QAAQ,CAAC;EAEhD,OAAO,CAACO,SAAS,EAAEG,KAAK,CAAC;AAC3B;AAEA,eAAef,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}