Skip to content

Commit

Permalink
Merge pull request #1 from DanielRosenwasser/simplifyCreateElement
Browse files Browse the repository at this point in the history
Simplify 'CreateElement', remove potential error in 'AsyncComponent' …
  • Loading branch information
HerringtonDarkholme committed Sep 12, 2017
2 parents 1ac0b7a + c953990 commit 8901752
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 20 deletions.
2 changes: 1 addition & 1 deletion types/options.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ interface EsModuleComponent {
export type AsyncComponent<Data=DefaultData<Vue>, Methods=DefaultMethods<Vue>, Computed=DefaultComputed, Props=DefaultProps> = (
resolve: (component: Component<Data, Methods, Computed, Props>) => void,
reject: (reason?: any) => void
) => Promise<Component | EsModuleComponent> | Component | void;
) => Promise<Component | EsModuleComponent> | void;

/**
* When the `Computed` type parameter on `ComponentOptions` is inferred,
Expand Down
5 changes: 0 additions & 5 deletions types/test/options-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -163,11 +163,6 @@ Vue.component('component', {

createElement(() => Vue.component("component")),
createElement(() => ( {} as ComponentOptions<Vue> )),
createElement(() => {
return new Promise((resolve) => {
resolve({} as ComponentOptions<Vue>);
})
}),
createElement((resolve, reject) => {
resolve({} as ComponentOptions<Vue>);
reject();
Expand Down
16 changes: 2 additions & 14 deletions types/vue.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,8 @@ import { VNode, VNodeData, VNodeChildren, ScopedSlot } from "./vnode";
import { PluginFunction, PluginObject } from "./plugin";

export interface CreateElement {
// empty node
(): VNode;

// element or component name
(tag: string, children: VNodeChildren): VNode;
(tag: string, data?: VNodeData, children?: VNodeChildren): VNode;

// component constructor or options
(tag: Component<any, any, any, any>, children: VNodeChildren): VNode;
(tag: Component<any, any, any, any>, data?: VNodeData, children?: VNodeChildren): VNode;

// async component
(tag: AsyncComponent<any, any, any, any>, children: VNodeChildren): VNode;
(tag: AsyncComponent<any, any, any, any>, data?: VNodeData, children?: VNodeChildren): VNode;
(tag?: string | Component<any, any, any, any> | AsyncComponent<any, any, any, any>, children?: VNodeChildren): VNode;
(tag?: string | Component<any, any, any, any> | AsyncComponent<any, any, any, any>, data?: VNodeData, children?: VNodeChildren): VNode;
}

export interface Vue {
Expand Down

0 comments on commit 8901752

Please sign in to comment.