10466af14c3c9c4437d87c3349d759d1c2f7cc7d507ce953a49ad01fba2ce5b1.json 3.1 KB

1
  1. {"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/max_liu/max_liu/company/tools_auto_pt/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,IAAKU,MAAM,IAAIT,SAAS,EAAE;MACxBG,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":[]}