/** * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ /** * A better typed version of `Object.fromEntries` where the keys are known to * be a specific subset */ function fromEntries(entries: Iterable): Record { return Object.fromEntries(entries) as Record; } function keys(obj: Partial>): K[]; function keys(obj: Record): K[] { return Object.keys(obj) as K[]; } function entries(obj: Partial> | null | undefined): [K, V][]; function entries(obj: Partial> | null | undefined): [K, V][]; function entries(obj: Record | null | undefined): [K, V][]; function entries(obj: Record | null | undefined): [K, V][] { if (obj && typeof obj == "object") { return Object.entries(obj) as never; } return [] as never; } export const object = { entries, fromEntries, keys, };