UNPKG

@yeoman/types

Version:

Common API for yeoman's generator/environment stack

12 lines (8 loc) 567 B
/* eslint-disable unicorn/prevent-abbreviations */ import type { BaseGenerator, BaseGeneratorConstructor } from './generator.js'; export type GetGeneratorOptions<T extends BaseGenerator = BaseGenerator> = T extends BaseGenerator<infer Options> ? Options : never; export type GetGeneratorFeatures<T extends BaseGenerator = BaseGenerator> = T extends BaseGenerator<any, infer features> ? features : never; export type GetGeneratorConstructor<T extends BaseGenerator = BaseGenerator> = BaseGeneratorConstructor< GetGeneratorOptions<T>, GetGeneratorFeatures<T> >;