У меня есть следующий код:
interface Options<T extends FieldMap> {
fields: T;
joins: {
[name: string]: {
fields: Array<keyof T>;
otherOptions: ; // should be other Options<X> object
otherFields: ; // should be array o keys of otherOptions.fields
},
};
}
interface FieldMap {
[key: string]: {
type: 'type1' | 'type2';
};
}
Можно ли как-то добиться того, чего я хочу?Я имею в виду:
имеют все значения joins
, чтобы иметь otherOptions
опору, которая является действительной Options<T extends FieldMap>
каждыйзначение объединений, которое имеет свойство "otherFields", которое является массивом ключей otherOptions.fields
?