VueConstructor Type — vue Architecture
Architecture documentation for the VueConstructor type/interface in vue.d.ts from the vue codebase.
Entity Profile
Source Code
types/vue.d.ts lines 164–444
export interface VueConstructor<V extends Vue = Vue> {
/**
* new with array props
*/
new <
Data = object,
Methods = object,
Computed = object,
PropNames extends string = never,
SetupBindings = {},
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
Extends extends ComponentOptionsMixin = ComponentOptionsMixin
>(
options?: ThisTypedComponentOptionsWithArrayProps<
V,
Data,
Methods,
Computed,
PropNames,
SetupBindings,
Mixin,
Extends
>
): CombinedVueInstance<
V,
Data,
Methods,
Computed,
Record<PropNames, any>,
SetupBindings,
Mixin,
Extends
>
/**
* new with object props
* ideally, the return type should just contain Props,
* not Record<keyof Props, any>. But TS requires to have Base constructors
* with the same return type.
*/
new <
Data = object,
Methods = object,
Computed = object,
Props = object,
SetupBindings = {},
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
Extends extends ComponentOptionsMixin = ComponentOptionsMixin
>(
options?: ThisTypedComponentOptionsWithRecordProps<
V,
Data,
Methods,
Computed,
Props,
SetupBindings,
Mixin,
Extends
>
): CombinedVueInstance<
V,
Data,
Methods,
Computed,
Record<keyof Props, any>,
SetupBindings,
Mixin,
Extends
>
/**
* new with no props
*/
new (options?: ComponentOptions<V>): CombinedVueInstance<
V,
object,
object,
object,
Record<keyof object, any>,
{}
>
/**
* extend with array props
*/
extend<
Data,
Methods,
Computed,
PropNames extends string = never,
SetupBindings = {},
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
Extends extends ComponentOptionsMixin = ComponentOptionsMixin
>(
options?: ThisTypedComponentOptionsWithArrayProps<
V,
Data,
Methods,
Computed,
PropNames,
SetupBindings,
Mixin,
Extends
>
): ExtendedVue<
V,
Data,
Methods,
Computed,
Record<PropNames, any>,
SetupBindings,
Mixin,
Extends
>
/**
* extend with object props
*/
extend<
Data,
Methods,
Computed,
Props,
SetupBindings = {},
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
Extends extends ComponentOptionsMixin = ComponentOptionsMixin
>(
options?: ThisTypedComponentOptionsWithRecordProps<
V,
Data,
Methods,
Computed,
Props,
SetupBindings,
Mixin,
Extends
>
): ExtendedVue<
V,
Data,
Methods,
Computed,
Props,
SetupBindings,
Mixin,
Extends
>
/**
* extend with functional + array props
*/
extend<PropNames extends string = never>(
definition: FunctionalComponentOptions<Record<PropNames, any>, PropNames[]>
): ExtendedVue<V, {}, {}, {}, Record<PropNames, any>, {}>
/**
* extend with functional + object props
*/
extend<Props>(
definition: FunctionalComponentOptions<Props, RecordPropsDefinition<Props>>
): ExtendedVue<V, {}, {}, {}, Props, {}>
/**
* extend with no props
*/
extend(options?: ComponentOptions<V>): ExtendedVue<V, {}, {}, {}, {}, {}>
nextTick<T>(callback: (this: T) => void, context?: T): void
nextTick(): Promise<void>
set<T>(object: object, key: string | number, value: T): T
set<T>(array: T[], key: number, value: T): T
delete(object: object, key: string | number): void
delete<T>(array: T[], key: number): void
directive(
id: string,
definition?: DirectiveOptions | DirectiveFunction
): DirectiveOptions
directive(
id: string,
definition?: Directive
): ObjectDirective
filter(id: string, definition?: Function): Function
component(id: string): VueConstructor
component<VC extends VueConstructor>(id: string, constructor: VC): VC
component<Data, Methods, Computed, Props, SetupBindings>(
id: string,
definition: AsyncComponent<Data, Methods, Computed, Props>
): ExtendedVue<V, Data, Methods, Computed, Props, SetupBindings>
component<
Data,
Methods,
Computed,
PropNames extends string = never,
SetupBindings = {},
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
Extends extends ComponentOptionsMixin = ComponentOptionsMixin
>(
id: string,
definition?: ThisTypedComponentOptionsWithArrayProps<
V,
Data,
Methods,
Computed,
PropNames,
SetupBindings,
Mixin,
Extends
>
): ExtendedVue<
V,
Data,
Methods,
Computed,
Record<PropNames, any>,
SetupBindings,
Mixin,
Extends
>
component<
Data,
Methods,
Computed,
Props,
SetupBindings,
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
Extends extends ComponentOptionsMixin = ComponentOptionsMixin
>(
id: string,
definition?: ThisTypedComponentOptionsWithRecordProps<
V,
Data,
Methods,
Computed,
Props,
SetupBindings,
Mixin,
Extends
>
): ExtendedVue<V, Data, Methods, Computed, Props, SetupBindings>
component<PropNames extends string>(
id: string,
definition: FunctionalComponentOptions<Record<PropNames, any>, PropNames[]>
): ExtendedVue<V, {}, {}, {}, Record<PropNames, any>, {}>
component<Props>(
id: string,
definition: FunctionalComponentOptions<Props, RecordPropsDefinition<Props>>
): ExtendedVue<V, {}, {}, {}, Props, {}>
component(
id: string,
definition?: ComponentOptions<V>
): ExtendedVue<V, {}, {}, {}, {}, {}>
component<T extends DefineComponent<any, any, any, any, any, any, any, any>>(
id: string,
definition?: T
): T
use<T>(
plugin: PluginObject<T> | PluginFunction<T>,
options?: T
): VueConstructor<V>
use(
plugin: PluginObject<any> | PluginFunction<any>,
...options: any[]
): VueConstructor<V>
mixin(mixin: VueConstructor | ComponentOptions<Vue>): VueConstructor<V>
compile(template: string): {
render(createElement: typeof Vue.prototype.$createElement): VNode
staticRenderFns: (() => VNode)[]
}
observable<T>(obj: T): T
util: {
warn(msg: string, vm?: InstanceType<VueConstructor>): void
}
config: VueConfiguration
version: string
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free