export interface IndexRequest {
  index: number;
}

export interface LevelRequest {
  level: number;
}

const levelContants: number[] = [
  0.0939999968,
  0.1351374321,
  0.1663978696,
  0.1926509132,
  0.2157324702,
  0.2365726514,
  0.2557200491,
  0.2735303721,
  0.2902498841,
  0.3060573814,
  0.3210875988,
  0.335445032,
  0.3492126763,
  0.3624577366,
  0.3752355874,
  0.3875924077,
  0.3995672762,
  0.4111935532,
  0.4225000143,
  0.4329264205,
  0.4431075454,
  0.4530599482,
  0.4627983868,
  0.4723360853,
  0.481684953,
  0.4908558072,
  0.499858439,
  0.508701749,
  0.5173939466,
  0.5259425161,
  0.5343543291,
  0.5426357538,
  0.5507926941,
  0.5588305845,
  0.5667545199,
  0.5745691281,
  0.5822789073,
  0.5898879079,
  0.5974000096,
  0.6048236487,
  0.6121572852,
  0.619404108,
  0.6265671253,
  0.6336491787,
  0.6406529546,
  0.6475809714,
  0.6544356346,
  0.6612192658,
  0.6679340005,
  0.6745818856,
  0.6811649203,
  0.6876849013,
  0.6941436529,
  0.700542901,
  0.7068842053,
  0.7131690749,
  0.7193990946,
  0.7255755869,
  0.7317000031,
  0.7347410386,
  0.7377694845,
  0.7407855797,
  0.7437894344,
  0.7467811972,
  0.749761045,
  0.7527290997,
  0.7556855083,
  0.7586303702,
  0.7615638375,
  0.7644860496,
  0.7673971653,
  0.7702972937,
  0.7731865048,
  0.7760649471,
  0.7789327502,
  0.7817900508,
  0.7846369743,
  0.7874736085,
  0.790300011634827,
  0.792803950958808,
  0.795300006866455,
  0.79780392148697,
  0.800300002098084,
  0.802803892322847,
  0.805299997329712,
  0.807803863460723,
  0.81029999256134,
  0.812803834895027,
  0.815299987792969,
  0.817803806620319,
  0.820299983024597,
  0.822803778631297,
  0.825299978256226,
  0.827803750922783,
  0.830299973487854,
  0.832803753381377,
  0.835300028324127,
  0.83780375593157,
  0.840300023555756,
  0.842803729034748,
  0.845300018787384,
  0.847803702398935,
  0.850300014019012,
  0.852803676019539,
  0.855300009250641,
  0.857803649892077,
  0.860300004482269,
  0.862803624012169,
  0.865299999713897,
];

export function levelToIndex({ level }: LevelRequest): number {
  return (level - 1) * 2;
}
export function indexToLevel({ index }: IndexRequest): number {
  return index / 2 + 1;
}
export function getConstant({ level }: LevelRequest): number {
  const index = levelToIndex({ level });
  if (levelContants[index]) {
    return levelContants[index];
  }
  throw new Error('No constant for provided level.');
}

export default levelContants;
