есть аргументы 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;
Обсуждают сегодня