У меня есть простой модуль, как показано ниже:
// my-module.ts
interface IProps {
prop1:string;
prop2:string;
}
const someData:IProps = {
prop1:'val1',
prop2:'val2'
} ;
export default {
someData:someData,
title:'someTitle'
};
Предполагая, что у меня нет доступа к интерфейсу IProps
, я могу получить доступ к типу someData
следующим образом:
import * as myModule from '../my-module.ts';
type SomeDataType = typeof myModule.default.someData;
Однако я бы хотел передать myModule
функции generi c и использовать клавиши someData
следующим образом:
import * as myModule from '../my-module.ts';
import { getPropValue} from '../helper.ts';
var val = getPropValue(myModule, 'prop1');
И функцию generi c:
// helper.ts
export function getPropValue<T>(module:T, propKey: keyof ? ) { // T.default.someData !!!
return module.default.someData[propKey];
};
Как получить доступ к default.someData
type в параметре функции generi c, чтобы получить ключи объекта?