Универсальный тип функции не применяется к возвращаемым членам объекта - PullRequest
1 голос
/ 08 июля 2019

Я определяю функцию, которая возвращает объект, члены которого являются функциями с одинаковой полезной нагрузкой.Тип полезной нагрузки определяется через 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);

Поток жалуется:

^ Невозможно вызвать instance.create с entity, привязанным к entity, потому что TEntity 2 несовместим с T 2 .

Попробуйте .

Что яделать неправильно?

1 Ответ

1 голос
/ 12 июля 2019

В случае сомнений, будет более явным.

...