есть аргументы Vue, options
                  
                  
                  Мне нужно сделать так, чтобы в options была возможность передать options.version и от этого зависело options.options
                  
                  
                  
                  
                  
                  import { PluginObject } from 'vue'
                  
                  
                  
                  
                  
                  type Version = 1 | 2
                  
                  
                  type FooOptions<V extends Version> = V extends 1 ? FooV1 : FooV2
                  
                  
                  
                  
                  
                  interface PluginOptions<V extends Version> {
                  
                  
                    options: FooOptions<V>
                  
                  
                    version: V
                  
                  
                  }
                  
                  
                  
                  
                  
                  export const Plugin: PluginObject<PluginOptions> = { // как вот здесь передать для Generic аргумент?
                  
                  
                    install(Vue, options) { // options имеет тип, который передается в Generic "PluginObject"
                  
                  
                      Vue.prototype.$foo = createFoo(options.version, options.options)
                  
                  
                    }
                  
                  
                  }
                  
                  
                
interface PluginOptionsV1 { version: 1; options: ... } interface PluginOptionsV2 { version: 2; options: ...; } type PluginOptions = PluginOptionsV1 | PluginOptionsV2;
Обсуждают сегодня