@voxpelli/typed-utils
Version:
My personal (type-enabled) utils / helpers
18 lines (15 loc) • 449 B
JavaScript
import { isKeyWithType } from './is.js';
/** @import { LiteralTypes } from './types/literal-types.d.ts' */
/**
* @template {unknown} O
* @template {string} K
* @template {keyof LiteralTypes} T
* @param {O} obj
* @param {K} key
* @param {T | T[]} type
* @returns {(O & Record<K, LiteralTypes[T]>)[K] | undefined}
*/
export function getValueOfKeyWithType (obj, key, type) {
if (!isKeyWithType(obj, key, type)) return;
return obj[key];
}