Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | /** * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ import { TypedRegEx } from "typed-regex"; // Helper to convert CPU K8S units to numbers const unitConverters = new Map([ ["n", 1000 ** -3], ["u", 1000 ** -2], ["m", 1000 ** -1], // milli ["", 1000 ** 0], // no units ["k", 1000 ** 1], ["M", 1000 ** 2], ["G", 1000 ** 3], ["P", 1000 ** 4], ["T", 1000 ** 5], ["E", 1000 ** 6], ]); const cpuUnitsRegex = TypedRegEx("^(?<digits>[+-]?[0-9.]+(e[-+]?[0-9]+)?)(?<unit>[EinumkKMGTP]*)$"); export function cpuUnitsToNumber(value: string) { const match = cpuUnitsRegex.captures(value); if (!match) { return undefined; } const { digits = "", unit } = match; const conversion = unitConverters.get(unit); if (conversion === undefined) { return undefined; } return parseFloat(digits) * conversion; } |