Не с одним типом, вы можете сделать это с помощью функции:
function propAsValue<T extends { [P in keyof T]: P }>(o: T) {
return o;
}
const testIds = propAsValue({
foo: 'foo'
});
const testIds2 = propAsValue({
foo: 'bar'
});
Playground Link
Или с помощью встроенной функции, если вы хотите будьте краткими и запутайте всех:
const testIds = (<T extends { [P in keyof T]: P }>(o: T) => o)({
foo: 'foo'
});
Хотя я не уверен, каков ваш вариант использования для этого, вам может быть лучше использовать Object.keys
.