Как извлечь вложенный тип?

У меня есть импорт интерфейса под названием IFoo

interface IFoo {
  name: string;
  version: number;
  init: (arg1: string, arg2: number) => Promise<string[]>;
}

Все, что меня волнует, это тип init. Есть ли способ извлечь его, чтобы я мог использовать этот интерфейс в другом месте? т.е.

inteface ICustom {
  properties: {
    group: string,
    init: IFoo.init
  }
  amount: number
}
init: typeof IFoo.init
Explosion Pills 13.09.2018 16:48
typeof IFoo.init допустим только в том случае, если существует значение с именем IFoo, но это не так.
Ryan Cavanaugh 13.09.2018 16:51
Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Мне нравится библиотека Mantine Component , но заставить ее работать без проблем с Remix бывает непросто.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
TypeScript против JavaScript
TypeScript против JavaScript
TypeScript vs JavaScript - в чем различия и какой из них выбрать?
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Не все нужно хранить на стороне сервера. Иногда все, что вам нужно, это постоянное хранилище на стороне клиента для хранения уникальных для клиента...
Что такое ленивая загрузка в Angular и как ее применять
Что такое ленивая загрузка в Angular и как ее применять
Ленивая загрузка - это техника, используемая в Angular для повышения производительности приложения путем загрузки модулей только тогда, когда они...
1
2
1 176
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать индексированный тип доступа:

interface IFoo {
  name: string;
  version: number;
  init: (arg1: string, arg2: number) => Promise<string[]>;
}

interface ICustom {
  properties: {
    group: string,
    init: IFoo["init"]
  }
  amount: number
}

Просто любопытство достать «прямо из конского рта». Какова правильная терминология «индексированный тип доступа», «запрос типа» или «запрос типа индекса»? Я почти уверен, что видел, как все они использовались, но какой из них является официальным?

Titian Cernicova-Dragomir 13.09.2018 16:53

Другие вопросы по теме