Я определяю функцию, которая возвращает объект, членами которого являются функции с одинаковой полезной нагрузкой. Тип полезной нагрузки определяется с помощью generic, который расширяет объект. Однако поток жалуется, что общий тип отличается от переданного:
export const getObj = <T: {}>(url: string) => ({
create: (entity: T) => console.log(url, entity),
...
});
const url = '/some-path';
type TEntity = {
some: string,
};
const entity: TEntity = {
some: 'value',
};
const instance = getObj<TEntity>(url);
instance.create(entity);
Flow жалуется:
^ Невозможно вызвать
instance.create
сentity
обязанentity
потомуTEntity
2 несовместима сT
2.
Что я делаю не так?