Система типов: реализовать условный тип для извлечения ключей объекта по типу значения
TypeScript
Сложный
types
Задача «Система типов: реализовать условный тип для извлечения ключей объекта по типу значения»
Напишите функцию extractKeysByValueType, которая принимает объект и тип значения (в виде строки, например 'string' или 'number'). Функция должна вернуть массив ключей, для которых значение имеет указанный тип. Используйте TypeScript generics и условные типы для корректного вывода типов. Если объект пуст или нет ключей с таким типом, вернуть пустой массив. Запрещено использовать any.
Формат ввода
Первая строка: JSON-строка с объектом. Вторая строка: строка с названием типа ('string', 'number', 'boolean').
Формат вывода
Строка, содержащая массив ключей в формате JSON (например, ["a","b"]). Если ключей нет, вывести [].
Примеры
Пример 1
ВВОД
{"a": 1, "b": "hello", "c": true}
number
ВЫВОД
["a"]
Пример 2
ВВОД
{"x": "foo", "y": "bar"}
string
ВЫВОД
["x","y"]
Пример 3
ВВОД
{"a": 1, "b": 2, "c": 3}
boolean
ВЫВОД
[]
main.ts