/** * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ import plimit from "p-limit"; export type ConcurrencyLimiter = (fn: (...args: Args) => Res) => (...args: Args) => Promise; export function withConcurrencyLimit(limit: number): ConcurrencyLimiter { const limiter = plimit(limit); return fn => (...args) => limiter(() => fn(...args)); }