2024-02-06 22:58:49 +01:00
|
|
|
import throttle from 'p-throttle';
|
|
|
|
import {defaultProfile} from './lib/default-profile.js';
|
2018-01-23 15:54:39 +01:00
|
|
|
|
2019-10-31 18:48:11 +01:00
|
|
|
const withThrottling = (profile, limit = 5, interval = 1000) => {
|
2020-01-14 23:56:03 +01:00
|
|
|
// https://github.com/public-transport/hafas-client/issues/76#issuecomment-574408717
|
2024-02-06 22:58:49 +01:00
|
|
|
const {request} = {...defaultProfile, ...profile};
|
2019-02-08 14:59:21 +01:00
|
|
|
|
2019-10-31 18:48:11 +01:00
|
|
|
return {
|
|
|
|
...profile,
|
2024-02-06 22:58:49 +01:00
|
|
|
request: throttle({limit, interval})(request),
|
|
|
|
};
|
|
|
|
};
|
2018-01-23 15:54:39 +01:00
|
|
|
|
2022-05-07 16:17:37 +02:00
|
|
|
export {
|
|
|
|
withThrottling,
|
2024-02-06 22:58:49 +01:00
|
|
|
};
|