@exromany/lido-csm-sdk
Version:
[](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [](h
24 lines • 1.03 kB
JavaScript
/**
* Find the interval that contains a specific key index
* Intervals should be sorted by minKeyNumber in ascending order.
*
* @param keyIndex - The key index to look up (1-based, as keys are numbered starting from 1)
* @param intervals - Array of key number value intervals, sorted by minKeyNumber
* @returns The interval that contains the key index, or undefined if not found
*
* @example
* const intervals = [
* { minKeyNumber: 1, value: 100n },
* { minKeyNumber: 10, value: 200n },
* { minKeyNumber: 20, value: 300n },
* ];
*
* findKeyInterval(1, intervals); // { minKeyNumber: 1, value: 100n }
* findKeyInterval(5, intervals); // { minKeyNumber: 1, value: 100n }
* findKeyInterval(15, intervals); // { minKeyNumber: 10, value: 200n }
* findKeyInterval(25, intervals); // { minKeyNumber: 20, value: 300n }
*/
export const findKeyInterval = (keyIndex, intervals) => {
return intervals.findLast((interval) => keyIndex >= interval.minKeyNumber);
};
//# sourceMappingURL=find-key-interval.js.map