переданного аргумента может вернуть или объект {triggers: Trigger[], sheets: Sheet[]} или просто {sheets: Sheet[]} (если аргумент sheetsOnly — true).
Как это правильно типизировать?
ссылка выше должна помочь (я правда сам еще не до конца вник)
спасибо. я чот… кажется я чот запутался в моках своих
https://www.typescriptlang.org/docs/handbook/generics.html
спасибо. пришло время их понять.
export const fetchTriggerInfo: { (sheetsOnly: true): Promise<Sheet[]>; (sheetsOnly: false): Promise<Trigger[]>; // не уверен, что третий вариант нужен, но возможно с инм будет меньше ошибок типизации внутри (sheetsOnly: boolean): Promise<Trigger[] | Sheet[]>; } = async ( sheetOnly: boolean = true ) => { // implementation };
”Type 'Promise<Sheet[] | Trigger[]>' is not assignable to type 'Promise<Sheet[]>’.”
перегрузка функции может помочь
Обсуждают сегодня